#!/usr/bin/make -f subdirs_build= ipif www-cgi git-daemon subdirs_nobuild=dyndns groupmanage misc package= userv-utils packages_indep= userv-dyndns userv-groupmanage userv-misc userv-git-daemon packages_arch= userv-ipif userv-cgi packages= $(packages_indep) $(packages_arch) cwd= $(shell pwd) d= $(cwd)/debian t= $d/tmp build: $(checkdir) set -e; for s in $(subdirs_build); do $(MAKE) -C $$s all; done touch build clean: $(checkdir) rm -f build set -e; for s in $(subdirs_build); do \ $(MAKE) -C $$s -i distclean || \ $(MAKE) -C $$s -f Makefile.in distclean; \ done rm -rf *~ debian/tmp debian/*~ debian/files* debian/substvars* binary-prep: $(checkdir) rm -rf debian/tmp* # # set -e; for s in $(subdirs_build) $(subdirs_nobuild); do \ $(MAKE) -C $$s install install-docs install-examples \ prefix=$t/userv-$$s/usr \ etcdir=$t/userv-$$s/etc \ vardir=$t/userv-$$s/var \ gituser=root; \ done # mv debian/tmp/userv-www-cgi debian/tmp/userv-cgi mv debian/tmp/userv-groupmanage/usr/share/doc/groupmanage \ debian/tmp/userv-groupmanage/usr/share/doc/userv-groupmanage # set -e; for p in $(packages); do \ install -d $t/$$p/DEBIAN $t/$$p/usr/share/doc/$$p; \ cp debian/copyright debian/changelog \ $t/$$p/usr/share/doc/$$p/; \ ln -s changelog.gz \ $t/$$p/usr/share/doc/$$p/changelog.Debian.gz; \ gzip -9v $t/$$p/usr/share/doc/$$p/changelog; \ done # rename 's/\.example$$//' $t/userv-ipif/etc/userv/vpn/*.example \ $t/userv-dyndns/etc/userv/dyndns-service-users.example \ $t/userv-groupmanage/etc/groupmanage.conf.example rename 's/\.distrib$$//' $t/*/etc/userv/services.d/*.distrib rename 's/$$/\.disabled/' $t/userv-misc/etc/userv/services.d/mailq set -e; for p in $(packages); do \ cd $t/$$p; \ test ! -d etc || \ find etc -type f -exec printf '/%s\n' '{}' ';' \ >>DEBIAN/conffiles; \ done # mv $t/userv-misc/usr/bin/mailq $t/userv-misc/usr/bin/mailq.userv # # gzip -9f $t/*/usr/share/man/man*/* binary-hook-userv-misc: binary-hook-userv-groupmanage: binary-hook-userv-cgi: binary-hook-userv-dyndns: binary-hook-userv-ipif: binary-hook-userv-git-daemon: binary-one: set -e; for f in preinst postinst prerm postrm conffiles; do \ test -f debian/$p/$$f || continue; \ cp debian/$p/$$f $t/$p/DEBIAN/$$f; \ chmod u=rwX,go=rX $t/$p/DEBIAN/$$f; \ done dpkg-gencontrol -p$p -P$t/$p -Tdebian/sv-$p chown -R root.root debian/tmp chmod -R g-ws debian/tmp debian/rules binary-hook-$p dpkg --build $t/$p .. binary-indep: checkroot build binary-prep set -e; for p in $(packages_indep); do \ debian/rules binary-one p=$$p; done binary-arch: checkroot build binary-prep $(checkdir) dpkg-shlibdeps -Tdebian/sv-userv-ipif \ $t/userv-ipif/usr/bin/udptunnel-forwarder \ $t/userv-ipif/usr/lib/userv/ipif dpkg-shlibdeps -Tdebian/sv-userv-cgi \ $t/userv-cgi/usr/lib/userv/cgi/target \ $t/userv-cgi/usr/lib/userv/cgi/cgi/ucgi set -e; for p in $(packages_arch); \ do debian/rules binary-one p=$$p; done define checkdir test -f ipif/service.c endef # Below here is fairly generic really binary: binary-indep binary-arch source diff: @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false checkroot: $(checkdir) test root = "`whoami`" .PHONY: binary binary-arch binary-indep clean checkroot