chiark / gitweb /
Build fixes.
[misc] / Makefile
1 ## Makefile for miscellaneous stuff
2 ##
3 ## No proper build system here.  Just kludgy hacks.
4
5 VERSION = 1.1.0
6
7 BINSCRIPTS = \
8         cdb-assign cdb-list check-sender \
9         unfwd splitconf
10
11 SBINSCRIPTS = \
12         shadowfix
13
14 SCRIPTS = $(BINSCRIPTS) $(SBINSCRIPTS)
15
16 BINPROGS = \
17          not \
18         cdb-probe cdb-check-domain \
19         gorp \
20         locking if-mtu
21
22 SBINPROGS = \
23         qmail-checkspam
24
25 PROGS = $(BINPROGS) $(SBINPROGS)
26
27 PERLLIBS = MdwOpt.pm
28
29 LIBS = \
30         xtitle.so
31
32 MAN1 = \
33         not.1 \
34         cdb-assign.1 cdb-list.1 cdb-probe.1 cdb-check-domain.1 \
35         gorp.1 \
36         unfwd.1 splitconf.1 locking.1 if-mtu.1
37
38 MAN8 = \
39         qmail-checkspam.8 \
40         shadowfix.8
41
42 BUILDFILES = \
43         shadowfix.8
44
45 CC = gcc
46 LD = gcc
47 CFLAGS = -O2 -g -pedantic -Wall -DVERSION=\"$(VERSION)\"
48 LINK = $(LD) $(LDFLAGS) -o $@ $^
49
50 prefix = /usr/local
51 bindir = $(prefix)/bin
52 sbindir = $(prefix)/sbin
53 mandir = $(prefix)/man
54 man1dir = $(mandir)/man1
55 man8dir = $(mandir)/man8
56 libdir = $(prefix)/lib
57 perllibdir = $(libdir)/site_perl
58
59 all: $(BUILDFILES) $(PROGS) $(LIBS)
60
61 install: all
62         [ -d $(libdir) ] || install -d $(libdir)
63         install -m644 $(LIBS) $(libdir)
64         [ -d $(perllibdir) ] || install -d $(perllibdir)
65         install -m644 $(PERLLIBS) $(perllibdir)
66         [ -d $(bindir) ] || install -d $(bindir)
67         install -m775 $(BINPROGS) $(BINSCRIPTS) $(bindir)
68         [ -d $(sbindir) ] || install -d $(sbindir)
69         install -m775 $(SBINPROGS) $(SBINSCRIPTS) $(sbindir)
70         [ -d $(man1dir) ] || install -d $(man1dir)
71         install -m644 $(MAN1) $(man1dir)
72         [ -d $(man8dir) ] || install -d $(man8dir)
73         install -m644 $(MAN8) $(man8dir)
74
75 qmail-checkspam: qmail-checkspam.o
76         $(LINK) -lspamc
77
78 cdb-probe: cdb-probe.o
79         $(LINK) -lfreecdb
80
81 cdb-check-domain: cdb-check-domain.o
82         $(LINK) -lfreecdb
83
84 not: not.o
85         $(LINK)
86
87 xtitle.o: xtitle.c
88         $(CC) $(CFLAGS) -c -fpic -I/usr/include/bash -DBASH_BUILTIN -o $@ $^
89 xtitle.so: xtitle.o
90         $(LINK) -shared
91
92 gorp: gorp.o
93         $(LINK) -lcatacomb -lmLib
94
95 locking: locking.o
96         $(LINK) -lmLib
97
98 if-mtu: if-mtu.o
99         $(LINK)
100
101 shadowfix.8: shadowfix
102         pod2man --section 8 shadowfix >shadowfix.8.new
103         mv shadowfix.8.new shadowfix.8
104
105 clean:; rm -f *.o *~ $(PROGS) $(OTHERS)
106
107 .PHONY: all clean install