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