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