chiark / gitweb /
noip: Fix error reporting.
[preload-hacks] / Makefile
1 PACKAGE = preload-hacks
2 VERSION = 1.0.1
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 -fPIC -Wall
14 LDFLAGS = -shared
15 LDLIBS = -ldl
16 INST_BIN = install -c -m755
17 INST_LIB = install -c -m644
18 INST_MAN = install -c -m644
19 INST_BIN = install -c -m755
20 MKDIRS = install -d -m755
21 DESTDIR =
22
23 LIBS = noip.so uopen.so
24 MAN1 = $(patsubst %.so, %.1, $(LIBS))
25 SCRIPTS = $(patsubst %.so, %, $(LIBS))
26 TARGETS = $(LIBS) $(SCRIPTS)
27 SOURCES = noip.c uopen.c withlib.in
28 all: $(TARGETS)
29 %.o: %.c
30         $(CC) -c $(CFLAGS) $< -o $@
31 noip.so: $(patsubst %.c, %.o, noip.c)
32         $(LD) $(LDFLAGS) $< $(LDLIBS) -o $@
33 uopen.so: $(patsubst %.c, %.o, uopen.c)
34         $(LD) $(LDFLAGS) $< $(LDLIBS) -o $@
35 $(SCRIPTS): withlib.in
36         for i in $(SCRIPTS); do \
37           sed "s/@lib@/$$i/" withlib.in >$$i.new || exit 1; \
38           chmod +x $$i.new || exit 1; \
39           mv $$i.new $$i || exit 1; \
40         done
41 install: all
42         $(MKDIRS) $(addprefix $(DESTDIR), \
43                 $(bindir) $(libdir) $(bindir) $(man1dir))
44         $(INST_LIB) $(LIBS) $(DESTDIR)$(libdir)
45         $(INST_BIN) $(SCRIPTS) $(DESTDIR)$(bindir)
46         $(INST_MAN) $(MAN1) $(DESTDIR)$(man1dir)
47 uninstall:
48         rm -f $(addprefix $(DESTDIR)$(libdir)/, $(LIBS))
49         rm -f $(addprefix $(DESTDIR)$(bindir)/, $(SCRIPTS))
50         rm -f $(addprefix $(DESTDIR)$(man1dir)/, $(MAN1))
51 DISTDIR = $(PACKAGE)-$(VERSION)
52 DISTTAR = $(DISTDIR).tar.gz
53 distdir:
54         rm -rf $(DISTDIR)
55         mkdir $(DISTDIR)
56         ln $(SOURCES) $(MAN1) Makefile COPYING $(DISTDIR)
57         mkdir $(DISTDIR)/debian
58         ln debian/rules debian/copyright debian/changelog debian/control \
59           debian/*.install $(DISTDIR)/debian
60 dist: distdir
61         tar chozf $(DISTTAR) $(DISTDIR)
62         rm -rf $(DISTDIR)       
63 clean:
64         rm -f *.o $(OBJECTS) $(TARGETS)