| 1 | PACKAGE = preload-hacks |
| 2 | VERSION := $(shell ./auto-version) |
| 3 | |
| 4 | prefix = /usr/local |
| 5 | exec_prefix = ${prefix} |
| 6 | bindir = ${exec_prefix}/bin |
| 7 | libdir = ${exec_prefix}/lib |
| 8 | mandir = ${prefix}/man |
| 9 | man1dir = ${mandir}/man1 |
| 10 | |
| 11 | CC = gcc |
| 12 | LD = gcc |
| 13 | CFLAGS = -O2 -g -Wall |
| 14 | LDFLAGS = |
| 15 | REAL_CFLAGS = $(CFLAGS) -fPIC |
| 16 | REAL_LDFLAGS = $(LDFLAGS) -shared |
| 17 | LDLIBS = -ldl |
| 18 | INST_BIN = install -c -m755 |
| 19 | INST_LIB = install -c -m644 |
| 20 | INST_MAN = install -c -m644 |
| 21 | INST_BIN = install -c -m755 |
| 22 | MKDIRS = install -d -m755 |
| 23 | DESTDIR = |
| 24 | |
| 25 | LIBS = noip.so uopen.so |
| 26 | MAN1 = $(patsubst %.so, %.1, $(LIBS)) |
| 27 | SCRIPTS = $(patsubst %.so, %, $(LIBS)) |
| 28 | TARGETS = $(LIBS) $(SCRIPTS) |
| 29 | SOURCES = noip.c uopen.c withlib.in |
| 30 | all: $(TARGETS) |
| 31 | %.o: %.c |
| 32 | $(CC) -c $(REAL_CFLAGS) $< -o $@ |
| 33 | noip.so: $(patsubst %.c, %.o, noip.c) |
| 34 | $(LD) $(REAL_LDFLAGS) $< $(LDLIBS) -o $@ |
| 35 | uopen.so: $(patsubst %.c, %.o, uopen.c) |
| 36 | $(LD) $(REAL_LDFLAGS) $< $(LDLIBS) -o $@ |
| 37 | $(SCRIPTS): withlib.in |
| 38 | for i in $(SCRIPTS); do \ |
| 39 | sed "s/@lib@/$$i/" withlib.in >$$i.new || exit 1; \ |
| 40 | chmod +x $$i.new || exit 1; \ |
| 41 | mv $$i.new $$i || exit 1; \ |
| 42 | done |
| 43 | install: all |
| 44 | $(MKDIRS) $(addprefix $(DESTDIR), \ |
| 45 | $(bindir) $(libdir) $(bindir) $(man1dir)) |
| 46 | $(INST_LIB) $(LIBS) $(DESTDIR)$(libdir) |
| 47 | $(INST_BIN) $(SCRIPTS) $(DESTDIR)$(bindir) |
| 48 | $(INST_MAN) $(MAN1) $(DESTDIR)$(man1dir) |
| 49 | uninstall: |
| 50 | rm -f $(addprefix $(DESTDIR)$(libdir)/, $(LIBS)) |
| 51 | rm -f $(addprefix $(DESTDIR)$(bindir)/, $(SCRIPTS)) |
| 52 | rm -f $(addprefix $(DESTDIR)$(man1dir)/, $(MAN1)) |
| 53 | DISTDIR = $(PACKAGE)-$(VERSION) |
| 54 | DISTTAR = $(DISTDIR).tar.gz |
| 55 | distdir: |
| 56 | rm -rf $(DISTDIR) |
| 57 | mkdir $(DISTDIR) |
| 58 | ln $(SOURCES) $(MAN1) Makefile COPYING README auto-version $(DISTDIR) |
| 59 | echo $(VERSION) >$(DISTDIR)/RELEASE |
| 60 | mkdir $(DISTDIR)/debian |
| 61 | ln debian/rules debian/copyright debian/changelog debian/control \ |
| 62 | debian/*.install $(DISTDIR)/debian |
| 63 | dist: distdir |
| 64 | tar chozf $(DISTTAR) $(DISTDIR) |
| 65 | rm -rf $(DISTDIR) |
| 66 | clean: |
| 67 | rm -f *.o $(OBJECTS) $(TARGETS) |