1## SMCRoute - A static multicast routing tool -*-Makefile-*- 2 3dist_man8_MANS = smcroute.8 4 5doc_DATA = README AUTHORS TODO ChangeLog COPYING 6EXTRA_DIST = autogen.sh smcroute.conf smcroute.init 7 8sbin_PROGRAMS = smcroute 9 10smcroute_SOURCES = smcroute.c mroute-api.c ifvc.c cmdpkt.c ipc.c \ 11 mcgroup.c parse-conf.c log.c pidfile.c mclab.h 12 13DISTCLEANFILES = *~ DEADJOE semantic.cache *.gdb *.elf core core.* *.d 14 15## Generate detached signature file (ascii-armored), like OpenVPN does 16GPG = gpg 17gpg-dist: 18 for file in $(DIST_ARCHIVES); do \ 19 $(GPG) -ba $$file; \ 20 done 21 22## Generate MD5 checksum file 23MD5 = md5sum 24md5-dist: 25 @for file in $(DIST_ARCHIVES); do \ 26 $(MD5) $$file > $$file.md5; \ 27 done 28 29## Check if tagged in git 30release-hook: 31 if [ ! `git tag | grep $(PACKAGE_VERSION)` ]; then \ 32 echo; \ 33 printf "\e[1m\e[41mCannot find release tag $(PACKAGE_VERSION)\e[0m\n"; \ 34 printf "\e[1m\e[5mDo release anyway?\e[0m "; read yorn; \ 35 if [ "$$yorn" != "y" -a "$$yorn" != "Y" ]; then \ 36 printf "OK, aborting release.\n"; \ 37 exit 1; \ 38 fi; \ 39 echo; \ 40 else \ 41 echo; \ 42 printf "\e[1m\e[42mFound GIT release tag $(PACKAGE_VERSION)\e[0m\n"; \ 43 printf "\e[1m\e[44m>>Remember to push tags!\e[0m\n"; \ 44 echo; \ 45 fi 46 47## Target to run when building a release 48release: distcheck release-hook md5-dist gpg-dist 49 @echo 50 @echo "Resulting release files:" 51 @echo "=================================================================" 52 @for file in $(DIST_ARCHIVES); do \ 53 printf "$$file \tDistribution tarball\n"; \ 54 printf "$$file.md5\t"; cat $$file.md5 | cut -f1 -d' '; \ 55 printf "$$file.asc\tGPG signature "; gpg --verify $$file.asc 2>&1 \ 56 | grep 'key ID' | sed 's/.*using \(.*\)/\1/'; echo; \ 57 done 58 59