X-Git-Url: https://git.distorted.org.uk/~mdw/preload-hacks/blobdiff_plain/e4976bb0731d14a7d8bfa53067ec1d99e94617cb..9496e743424c1c9000c4abcb5d3404e17bcc6c76:/Makefile diff --git a/Makefile b/Makefile index dcf4b74..c7afb3a 100644 --- a/Makefile +++ b/Makefile @@ -1,17 +1,66 @@ +PACKAGE = preload-hacks +VERSION = 1.0.1 + +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 +CFLAGS = -O2 -g -Wall +LDFLAGS = +REAL_CFLAGS = $(CFLAGS) -fPIC +REAL_LDFLAGS = $(LDFLAGS) -shared +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 $@ + $(CC) -c $(REAL_CFLAGS) $< -o $@ noip.so: $(patsubst %.c, %.o, noip.c) - $(LD) $(LDFLAGS) $< $(LIBS) -o $@ + $(LD) $(REAL_LDFLAGS) $< $(LDLIBS) -o $@ uopen.so: $(patsubst %.c, %.o, uopen.c) - $(LD) $(LDFLAGS) $< $(LIBS) -o $@ + $(LD) $(REAL_LDFLAGS) $< $(LDLIBS) -o $@ +$(SCRIPTS): withlib.in + for i in $(SCRIPTS); do \ + sed "s/@lib@/$$i/" withlib.in >$$i.new || exit 1; \ + chmod +x $$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)