## Makefile for miscellaneous stuff ## ## No proper build system here. Just kludgy hacks. PACKAGE = nsict-utils VERSION = 1.1.1 BINSCRIPTS = \ cdb-assign cdb-list check-sender unfwd \ splitconf z buf create inplace SBINSCRIPTS = shadowfix SCRIPTS = $(BINSCRIPTS) $(SBINSCRIPTS) BINPROGS = not cdb-probe cdb-check-domain gorp locking if-mtu pause SBINPROGS = qmail-checkspam PROGS = $(BINPROGS) $(SBINPROGS) PERLLIBS = MdwOpt.pm LIBS = xtitle.so DISTMAN1 = \ not.1 z.1 cdb-assign.1 cdb-list.1 cdb-probe.1 cdb-check-domain.1 \ gorp.1 unfwd.1 splitconf.1 locking.1 if-mtu.1 pause.1 \ buf.1 create.1 inplace.1 MAN1 = $(DISTMAN1) DISTMAN8 = qmail-checkspam.8 MAN8 = $(DISTMAN8) shadowfix.8 BUILDFILES = shadowfix.8 SOURCES = \ not.c cdb-probe.c cdb-check-domain.c gorp.c locking.c if-mtu.c \ qmail-checkspam.c xtitle.c pause.c CC = gcc LD = gcc CFLAGS = -O2 -g -pedantic -Wall -DVERSION=\"$(VERSION)\" LINK = $(LD) $(LDFLAGS) -o $@ $^ INST = prefix = /usr/local bindir = $(prefix)/bin sbindir = $(prefix)/sbin mandir = $(prefix)/man man1dir = $(mandir)/man1 man8dir = $(mandir)/man8 libdir = $(prefix)/lib perllibdir = $(libdir)/site_perl all: $(BUILDFILES) $(PROGS) $(LIBS) install: all [ -d $(INST)$(libdir) ] || install -d $(INST)$(libdir) install -m644 $(LIBS) $(INST)$(libdir) [ -d $(INST)$(perllibdir) ] || install -d $(INST)$(perllibdir) install -m644 $(PERLLIBS) $(INST)$(perllibdir) [ -d $(INST)$(bindir) ] || install -d $(INST)$(bindir) install -m775 $(BINPROGS) $(BINSCRIPTS) $(INST)$(bindir) [ -d $(INST)$(sbindir) ] || install -d $(INST)$(sbindir) install -m775 $(SBINPROGS) $(SBINSCRIPTS) $(INST)$(sbindir) [ -d $(INST)$(man1dir) ] || install -d $(INST)$(man1dir) install -m644 $(MAN1) $(INST)$(man1dir) [ -d $(INST)$(man8dir) ] || install -d $(INST)$(man8dir) install -m644 $(MAN8) $(INST)$(man8dir) uninstall: for i in $(LIBS); do rm -f $(INST)$(libdir)/$$i; done for i in $(PERLLIBS); do rm -f $(INST)$(perllibdir)/$$i; done for i in $(BINPROGS) $(BINSCRIPTS); do \ rm -f $(INST)$(bindir)/$$i; done for i in $(SBINPROGS) $(SBINSCRIPTS); do \ rm -f $(INST)$(sbindir)/$$i; done for i in $(MAN1); do rm -f $(INST)$(man1dir)/$$i; done for i in $(MAN8); do rm -f $(INST)$(man8dir)/$$i; done qmail-checkspam: qmail-checkspam.o $(LINK) -lspamc cdb-probe: cdb-probe.o $(LINK) -lfreecdb cdb-check-domain: cdb-check-domain.o $(LINK) -lfreecdb not: not.o $(LINK) xtitle.o: xtitle.c $(CC) $(CFLAGS) -c -fpic -I/usr/include/bash -DBASH_BUILTIN -o $@ $^ xtitle.so: xtitle.o $(LINK) -shared gorp: gorp.o $(LINK) -lcatacomb -lmLib pause: pause.o $(LINK) -lmLib locking: locking.o $(LINK) -lmLib if-mtu: if-mtu.o $(LINK) shadowfix.8: shadowfix pod2man --section 8 shadowfix >shadowfix.8.new mv shadowfix.8.new shadowfix.8 clean:; rm -f *.o *~ $(PROGS) $(OTHERS) DISTDIR = $(PACKAGE)-$(VERSION) DISTFILES = \ Makefile \ $(SCRIPTS) $(DISTMAN1) $(DISTMAN8) $(SOURCES) $(PERLLIBS) \ debian/changelog debian/control debian/copyright \ debian/rules debian/inst distdir: $(DISTFILES) $(RM) -rf $(DISTDIR) mkdir $(DISTDIR) $(DISTDIR)/debian for i in $(DISTFILES); do \ case $$i in \ */*) \ dir=$${i%/*}; \ up=`echo $$dir | sed 's:[^/]\+:..:g'`; \ mkdir -p $(DISTDIR)/$$dir;; \ *) dir= up=;; \ esac; \ ln -s ../$$up/$$i $(DISTDIR)/$$i; \ done disttar: distdir tar chofz $(INST)$(DISTDIR).tar.gz $(DISTDIR) dist: disttar $(RM) -rf $(DISTDIR) distcheck: dist @echo "*** Packing..." $(MAKE) dist @echo "*** Unpacking..." tar xfz $(DISTDIR).tar.gz @echo "*** Test building..." set -e; \ cd $(DISTDIR); \ $(MAKE) clean; \ $(MAKE); \ $(MAKE) install INST=inst; \ $(MAKE) dist @echo "*** Tidying up..." rm -rf $(DISTDIR) @echo "*** All OK" .PHONY: all clean install dist distdir disttar