chiark / gitweb /
Debianize.
[preload-hacks] / Makefile
1 PACKAGE = preload-hacks
2 VERSION = 1.0.0
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           mv $$i.new $$i || exit 1; \
39         done
40 install: all
41         $(MKDIRS) $(addprefix $(DESTDIR), \
42                 $(bindir) $(libdir) $(bindir) $(man1dir))
43         $(INST_LIB) $(LIBS) $(DESTDIR)$(libdir)
44         $(INST_BIN) $(SCRIPTS) $(DESTDIR)$(bindir)
45         $(INST_MAN) $(MAN1) $(DESTDIR)$(man1dir)
46 uninstall:
47         rm -f $(addprefix $(DESTDIR)$(libdir)/, $(LIBS))
48         rm -f $(addprefix $(DESTDIR)$(bindir)/, $(SCRIPTS))
49         rm -f $(addprefix $(DESTDIR)$(man1dir)/, $(MAN1))
50 DISTDIR = $(PACKAGE)-$(VERSION)
51 DISTTAR = $(DISTDIR).tar.gz
52 distdir:
53         rm -rf $(DISTDIR)
54         mkdir $(DISTDIR)
55         ln $(SOURCES) $(MAN1) Makefile $(DISTDIR)
56         mkdir $(DISTDIR)/debian
57         ln debian/rules debian/copyright debian/changelog debian/control \
58           debian/*.install $(DISTDIR)/debian
59 dist: distdir
60         tar chozf $(DISTTAR) $(DISTDIR)
61         rm -rf $(DISTDIR)       
62 clean:
63         rm -f *.o $(OBJECTS) $(TARGETS)