##
## No proper build system here. Just kludgy hacks.
-VERSION = 1.1.0
-
-BINSCRIPTS = \
- cdb-assign cdb-list check-sender \
- unfwd splitconf
-
-SBINSCRIPTS = \
- shadowfix
+PACKAGE = nsict-utils
+VERSION = 1.1.1
+BINSCRIPTS = cdb-assign cdb-list check-sender unfwd splitconf z
+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 \
- 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-list.1 cdb-probe.1 cdb-check-domain.1 \
+ gorp.1 unfwd.1 splitconf.1 locking.1 if-mtu.1 pause.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
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
gorp: gorp.o
$(LINK) -lcatacomb -lmLib
+pause: pause.o
+ $(LINK) -lmLib
+
locking: locking.o
$(LINK) -lmLib
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