| 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) $(OTHERS) |
| 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 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 |