chiark / gitweb /
cleanup: Fix extraneous whitespace throughout.
[misc] / Makefile
CommitLineData
8d769cc9 1## Makefile for miscellaneous stuff
2##
3## No proper build system here. Just kludgy hacks.
4
b5284e05 5PACKAGE = nsict-utils
1dec4fa3 6VERSION = 1.1.1
f342fce2 7
3770fe80 8BINSCRIPTS = \
45c67ac4 9 cdb-assign cdb-map cdb-list check-sender unfwd \
3770fe80 10 splitconf z buf create inplace
b5284e05 11SBINSCRIPTS = shadowfix
e063712b 12SCRIPTS = $(BINSCRIPTS) $(SBINSCRIPTS)
df33ee54
MW
13BINPROGS = \
14 space not \
15 cdb-probe cdb-check-domain \
16 gorp locking if-mtu pause stamp
b5284e05 17SBINPROGS = qmail-checkspam
e063712b 18PROGS = $(BINPROGS) $(SBINPROGS)
e063712b 19PERLLIBS = MdwOpt.pm
b5284e05 20LIBS = xtitle.so
21DISTMAN1 = \
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 26MAN1 = $(DISTMAN1)
27DISTMAN8 = qmail-checkspam.8
28MAN8 = $(DISTMAN8) shadowfix.8
29BUILDFILES = shadowfix.8
30SOURCES = \
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 34CC = gcc
35LD = gcc
f342fce2 36CFLAGS = -O2 -g -pedantic -Wall -DVERSION=\"$(VERSION)\"
8d769cc9 37LINK = $(LD) $(LDFLAGS) -o $@ $^
38
841e5aca 39INST =
f342fce2 40prefix = /usr/local
41bindir = $(prefix)/bin
e063712b 42sbindir = $(prefix)/sbin
f342fce2 43mandir = $(prefix)/man
44man1dir = $(mandir)/man1
45man8dir = $(mandir)/man8
46libdir = $(prefix)/lib
e063712b 47perllibdir = $(libdir)/site_perl
f342fce2 48
de6fc7a9 49all: $(BUILDFILES) $(PROGS) $(LIBS)
f342fce2 50
51install: 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
65uninstall:
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
75qmail-checkspam: qmail-checkspam.o
76 $(LINK) -lspamc
77
78cdb-probe: cdb-probe.o
bba986ae 79 $(LINK) -lcdb
8d769cc9 80
81cdb-check-domain: cdb-check-domain.o
bba986ae 82 $(LINK) -lcdb
8d769cc9 83
df33ee54
MW
84space: space.o
85 $(LINK)
86
8d769cc9 87not: not.o
88 $(LINK)
89
90xtitle.o: xtitle.c
91 $(CC) $(CFLAGS) -c -fpic -I/usr/include/bash -DBASH_BUILTIN -o $@ $^
92xtitle.so: xtitle.o
93 $(LINK) -shared
94
f342fce2 95gorp: gorp.o
96 $(LINK) -lcatacomb -lmLib
97
1dec4fa3 98pause: pause.o
99 $(LINK) -lmLib
100
f342fce2 101locking: locking.o
102 $(LINK) -lmLib
103
104if-mtu: if-mtu.o
105 $(LINK)
106
223bbefb
MW
107stamp: stamp.o
108 $(LINK) -lmLib
109
e063712b 110shadowfix.8: shadowfix
de6fc7a9 111 pod2man --section 8 shadowfix >shadowfix.8.new
e063712b 112 mv shadowfix.8.new shadowfix.8
113
f342fce2 114clean:; rm -f *.o *~ $(PROGS) $(OTHERS)
8d769cc9 115
b5284e05 116DISTDIR = $(PACKAGE)-$(VERSION)
117DISTFILES = \
118 Makefile \
119 $(SCRIPTS) $(DISTMAN1) $(DISTMAN8) $(SOURCES) $(PERLLIBS) \
120 debian/changelog debian/control debian/copyright \
121 debian/rules debian/inst
122distdir: $(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
135disttar: distdir
136 tar chofz $(INST)$(DISTDIR).tar.gz $(DISTDIR)
137dist: disttar
138 $(RM) -rf $(DISTDIR)
139distcheck: 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