X-Git-Url: https://git.distorted.org.uk/~mdw/misc/blobdiff_plain/e9d283da23d16b6b1d11dce4cfaf26ff777c9605..bba986ae8f13dd5e97952f38b2db9e7444df8772:/Makefile diff --git a/Makefile b/Makefile index d74a070..8d75d34 100644 --- a/Makefile +++ b/Makefile @@ -2,51 +2,38 @@ ## ## No proper build system here. Just kludgy hacks. -VERSION = 1.1.0 +PACKAGE = nsict-utils +VERSION = 1.1.1 BINSCRIPTS = \ - cdb-assign cdb-list check-sender \ - unfwd splitconf z - -SBINSCRIPTS = \ - shadowfix - + cdb-assign cdb-map 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 - -SBINPROGS = \ - qmail-checkspam - +BINPROGS = not cdb-probe cdb-check-domain gorp locking if-mtu pause +SBINPROGS = qmail-checkspam PROGS = $(BINPROGS) $(SBINPROGS) - PERLLIBS = MdwOpt.pm - -LIBS = \ - xtitle.so - -MAN1 = \ - 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 - -MAN8 = \ - qmail-checkspam.8 \ - shadowfix.8 - -BUILDFILES = \ - shadowfix.8 +LIBS = xtitle.so +DISTMAN1 = \ + not.1 z.1 cdb-assign.1 cdb-map.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 @@ -59,27 +46,37 @@ perllibdir = $(libdir)/site_perl all: $(BUILDFILES) $(PROGS) $(LIBS) install: all - [ -d $(libdir) ] || install -d $(libdir) - install -m644 $(LIBS) $(libdir) - [ -d $(perllibdir) ] || install -d $(perllibdir) - install -m644 $(PERLLIBS) $(perllibdir) - [ -d $(bindir) ] || install -d $(bindir) - install -m775 $(BINPROGS) $(BINSCRIPTS) $(bindir) - [ -d $(sbindir) ] || install -d $(sbindir) - install -m775 $(SBINPROGS) $(SBINSCRIPTS) $(sbindir) - [ -d $(man1dir) ] || install -d $(man1dir) - install -m644 $(MAN1) $(man1dir) - [ -d $(man8dir) ] || install -d $(man8dir) - install -m644 $(MAN8) $(man8dir) + [ -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 + $(LINK) -lcdb cdb-check-domain: cdb-check-domain.o - $(LINK) -lfreecdb + $(LINK) -lcdb not: not.o $(LINK) @@ -92,6 +89,9 @@ xtitle.so: xtitle.o gorp: gorp.o $(LINK) -lcatacomb -lmLib +pause: pause.o + $(LINK) -lmLib + locking: locking.o $(LINK) -lmLib @@ -104,4 +104,43 @@ shadowfix.8: shadowfix clean:; rm -f *.o *~ $(PROGS) $(OTHERS) -.PHONY: all clean install +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