infra: Add a copy of the GPL.
[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 COPYING $(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)