chiark / gitweb /
debian: Switch to CDBS.
[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 -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 $(DISTDIR)
59         mkdir $(DISTDIR)/debian
60         ln debian/rules debian/copyright debian/changelog debian/control \
61           debian/*.install $(DISTDIR)/debian
62 dist: distdir
63         tar chozf $(DISTTAR) $(DISTDIR)
64         rm -rf $(DISTDIR)       
65 clean:
66         rm -f *.o $(OBJECTS) $(TARGETS)