Commit | Line | Data |
---|---|---|
8d769cc9 | 1 | ## Makefile for miscellaneous stuff |
2 | ## | |
3 | ## No proper build system here. Just kludgy hacks. | |
4 | ||
b5284e05 | 5 | PACKAGE = nsict-utils |
1dec4fa3 | 6 | VERSION = 1.1.1 |
f342fce2 | 7 | |
3770fe80 | 8 | BINSCRIPTS = \ |
45c67ac4 | 9 | cdb-assign cdb-map cdb-list check-sender unfwd \ |
3770fe80 | 10 | splitconf z buf create inplace |
b5284e05 | 11 | SBINSCRIPTS = shadowfix |
e063712b | 12 | SCRIPTS = $(BINSCRIPTS) $(SBINSCRIPTS) |
223bbefb | 13 | BINPROGS = not cdb-probe cdb-check-domain gorp locking if-mtu pause stamp |
b5284e05 | 14 | SBINPROGS = qmail-checkspam |
e063712b | 15 | PROGS = $(BINPROGS) $(SBINPROGS) |
e063712b | 16 | PERLLIBS = MdwOpt.pm |
b5284e05 | 17 | LIBS = xtitle.so |
18 | DISTMAN1 = \ | |
45c67ac4 | 19 | not.1 z.1 cdb-assign.1 cdb-map.1 cdb-list.1 cdb-probe.1 \ |
20 | cdb-check-domain.1 \ | |
223bbefb | 21 | gorp.1 unfwd.1 splitconf.1 locking.1 if-mtu.1 pause.1 stamp.1 \ |
3770fe80 | 22 | buf.1 create.1 inplace.1 |
b5284e05 | 23 | MAN1 = $(DISTMAN1) |
24 | DISTMAN8 = qmail-checkspam.8 | |
25 | MAN8 = $(DISTMAN8) shadowfix.8 | |
26 | BUILDFILES = shadowfix.8 | |
27 | SOURCES = \ | |
28 | not.c cdb-probe.c cdb-check-domain.c gorp.c locking.c if-mtu.c \ | |
1dec4fa3 | 29 | qmail-checkspam.c xtitle.c pause.c |
f342fce2 | 30 | |
8d769cc9 | 31 | CC = gcc |
32 | LD = gcc | |
f342fce2 | 33 | CFLAGS = -O2 -g -pedantic -Wall -DVERSION=\"$(VERSION)\" |
8d769cc9 | 34 | LINK = $(LD) $(LDFLAGS) -o $@ $^ |
35 | ||
b5284e05 | 36 | INST = |
f342fce2 | 37 | prefix = /usr/local |
38 | bindir = $(prefix)/bin | |
e063712b | 39 | sbindir = $(prefix)/sbin |
f342fce2 | 40 | mandir = $(prefix)/man |
41 | man1dir = $(mandir)/man1 | |
42 | man8dir = $(mandir)/man8 | |
43 | libdir = $(prefix)/lib | |
e063712b | 44 | perllibdir = $(libdir)/site_perl |
f342fce2 | 45 | |
de6fc7a9 | 46 | all: $(BUILDFILES) $(PROGS) $(LIBS) |
f342fce2 | 47 | |
48 | install: all | |
b5284e05 | 49 | [ -d $(INST)$(libdir) ] || install -d $(INST)$(libdir) |
50 | install -m644 $(LIBS) $(INST)$(libdir) | |
51 | [ -d $(INST)$(perllibdir) ] || install -d $(INST)$(perllibdir) | |
52 | install -m644 $(PERLLIBS) $(INST)$(perllibdir) | |
53 | [ -d $(INST)$(bindir) ] || install -d $(INST)$(bindir) | |
54 | install -m775 $(BINPROGS) $(BINSCRIPTS) $(INST)$(bindir) | |
55 | [ -d $(INST)$(sbindir) ] || install -d $(INST)$(sbindir) | |
56 | install -m775 $(SBINPROGS) $(SBINSCRIPTS) $(INST)$(sbindir) | |
57 | [ -d $(INST)$(man1dir) ] || install -d $(INST)$(man1dir) | |
58 | install -m644 $(MAN1) $(INST)$(man1dir) | |
59 | [ -d $(INST)$(man8dir) ] || install -d $(INST)$(man8dir) | |
60 | install -m644 $(MAN8) $(INST)$(man8dir) | |
61 | ||
62 | uninstall: | |
63 | for i in $(LIBS); do rm -f $(INST)$(libdir)/$$i; done | |
64 | for i in $(PERLLIBS); do rm -f $(INST)$(perllibdir)/$$i; done | |
de41f398 | 65 | for i in $(BINPROGS) $(BINSCRIPTS); do \ |
66 | rm -f $(INST)$(bindir)/$$i; done | |
67 | for i in $(SBINPROGS) $(SBINSCRIPTS); do \ | |
68 | rm -f $(INST)$(sbindir)/$$i; done | |
b5284e05 | 69 | for i in $(MAN1); do rm -f $(INST)$(man1dir)/$$i; done |
70 | for i in $(MAN8); do rm -f $(INST)$(man8dir)/$$i; done | |
8d769cc9 | 71 | |
72 | qmail-checkspam: qmail-checkspam.o | |
73 | $(LINK) -lspamc | |
74 | ||
75 | cdb-probe: cdb-probe.o | |
bba986ae | 76 | $(LINK) -lcdb |
8d769cc9 | 77 | |
78 | cdb-check-domain: cdb-check-domain.o | |
bba986ae | 79 | $(LINK) -lcdb |
8d769cc9 | 80 | |
81 | not: not.o | |
82 | $(LINK) | |
83 | ||
84 | xtitle.o: xtitle.c | |
85 | $(CC) $(CFLAGS) -c -fpic -I/usr/include/bash -DBASH_BUILTIN -o $@ $^ | |
86 | xtitle.so: xtitle.o | |
87 | $(LINK) -shared | |
88 | ||
f342fce2 | 89 | gorp: gorp.o |
90 | $(LINK) -lcatacomb -lmLib | |
91 | ||
1dec4fa3 | 92 | pause: pause.o |
93 | $(LINK) -lmLib | |
94 | ||
f342fce2 | 95 | locking: locking.o |
96 | $(LINK) -lmLib | |
97 | ||
98 | if-mtu: if-mtu.o | |
99 | $(LINK) | |
100 | ||
223bbefb MW |
101 | stamp: stamp.o |
102 | $(LINK) -lmLib | |
103 | ||
e063712b | 104 | shadowfix.8: shadowfix |
de6fc7a9 | 105 | pod2man --section 8 shadowfix >shadowfix.8.new |
e063712b | 106 | mv shadowfix.8.new shadowfix.8 |
107 | ||
f342fce2 | 108 | clean:; rm -f *.o *~ $(PROGS) $(OTHERS) |
8d769cc9 | 109 | |
b5284e05 | 110 | DISTDIR = $(PACKAGE)-$(VERSION) |
111 | DISTFILES = \ | |
112 | Makefile \ | |
113 | $(SCRIPTS) $(DISTMAN1) $(DISTMAN8) $(SOURCES) $(PERLLIBS) \ | |
114 | debian/changelog debian/control debian/copyright \ | |
115 | debian/rules debian/inst | |
116 | distdir: $(DISTFILES) | |
117 | $(RM) -rf $(DISTDIR) | |
118 | mkdir $(DISTDIR) $(DISTDIR)/debian | |
119 | for i in $(DISTFILES); do \ | |
120 | case $$i in \ | |
121 | */*) \ | |
122 | dir=$${i%/*}; \ | |
123 | up=`echo $$dir | sed 's:[^/]\+:..:g'`; \ | |
124 | mkdir -p $(DISTDIR)/$$dir;; \ | |
125 | *) dir= up=;; \ | |
126 | esac; \ | |
127 | ln -s ../$$up/$$i $(DISTDIR)/$$i; \ | |
128 | done | |
129 | disttar: distdir | |
130 | tar chofz $(INST)$(DISTDIR).tar.gz $(DISTDIR) | |
131 | dist: disttar | |
132 | $(RM) -rf $(DISTDIR) | |
133 | distcheck: dist | |
134 | @echo "*** Packing..." | |
135 | $(MAKE) dist | |
136 | @echo "*** Unpacking..." | |
137 | tar xfz $(DISTDIR).tar.gz | |
138 | @echo "*** Test building..." | |
139 | set -e; \ | |
140 | cd $(DISTDIR); \ | |
141 | $(MAKE) clean; \ | |
142 | $(MAKE); \ | |
143 | $(MAKE) install INST=inst; \ | |
144 | $(MAKE) dist | |
145 | @echo "*** Tidying up..." | |
146 | rm -rf $(DISTDIR) | |
147 | @echo "*** All OK" | |
148 | ||
149 | .PHONY: all clean install dist distdir disttar |