Fix trailing whitespace.
[preload-hacks] / Makefile
index dcf4b74..e26da5d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,17 +1,63 @@
+PACKAGE = preload-hacks
+VERSION = 1.0.0
+
+prefix = /usr/local
+exec_prefix = ${prefix}
+bindir = ${exec_prefix}/bin
+libdir = ${exec_prefix}/lib
+mandir = ${prefix}/man
+man1dir = ${mandir}/man1
+
 CC = gcc
 LD = gcc
 CFLAGS = -O2 -g -fPIC -Wall
 LDFLAGS = -shared
-LIBS = -ldl
+LDLIBS = -ldl
+INST_BIN = install -c -m755
+INST_LIB = install -c -m644
+INST_MAN = install -c -m644
+INST_BIN = install -c -m755
+MKDIRS = install -d -m755
+DESTDIR =
 
-SOURCES = noip.c uopen.c
-TARGETS = noip.so uopen.so
+LIBS = noip.so uopen.so
+MAN1 = $(patsubst %.so, %.1, $(LIBS))
+SCRIPTS = $(patsubst %.so, %, $(LIBS))
+TARGETS = $(LIBS) $(SCRIPTS)
+SOURCES = noip.c uopen.c withlib.in
 all: $(TARGETS)
 %.o: %.c
        $(CC) -c $(CFLAGS) $< -o $@
 noip.so: $(patsubst %.c, %.o, noip.c)
-       $(LD) $(LDFLAGS) $< $(LIBS) -o $@
+       $(LD) $(LDFLAGS) $< $(LDLIBS) -o $@
 uopen.so: $(patsubst %.c, %.o, uopen.c)
-       $(LD) $(LDFLAGS) $< $(LIBS) -o $@
+       $(LD) $(LDFLAGS) $< $(LDLIBS) -o $@
+$(SCRIPTS): withlib.in
+       for i in $(SCRIPTS); do \
+         sed "s/@lib@/$$i/" withlib.in >$$i.new || exit 1; \
+         mv $$i.new $$i || exit 1; \
+       done
+install: all
+       $(MKDIRS) $(addprefix $(DESTDIR), \
+               $(bindir) $(libdir) $(bindir) $(man1dir))
+       $(INST_LIB) $(LIBS) $(DESTDIR)$(libdir)
+       $(INST_BIN) $(SCRIPTS) $(DESTDIR)$(bindir)
+       $(INST_MAN) $(MAN1) $(DESTDIR)$(man1dir)
+uninstall:
+       rm -f $(addprefix $(DESTDIR)$(libdir)/, $(LIBS))
+       rm -f $(addprefix $(DESTDIR)$(bindir)/, $(SCRIPTS))
+       rm -f $(addprefix $(DESTDIR)$(man1dir)/, $(MAN1))
+DISTDIR = $(PACKAGE)-$(VERSION)
+DISTTAR = $(DISTDIR).tar.gz
+distdir:
+       rm -rf $(DISTDIR)
+       mkdir $(DISTDIR)
+       ln $(SOURCES) $(MAN1) Makefile COPYING $(DISTDIR)
+       mkdir $(DISTDIR)/debian
+       ln debian/rules debian/copyright debian/changelog debian/control \
+         debian/*.install $(DISTDIR)/debian
+dist: distdir
+       tar chozf $(DISTTAR) $(DISTDIR)
+       rm -rf $(DISTDIR)       
 clean:
-       rm -f $(OBJECTS) $(TARGETS)
\ No newline at end of file
+       rm -f *.o $(OBJECTS) $(TARGETS)