Update for 2.0.1-pre
[freeradius.git] / Makefile
index c9436db..e0f9d67 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -21,6 +21,10 @@ clean:
        @$(MAKE) $(MFLAGS) WHAT_TO_MAKE=$@ common
        @rm -f *~
 
+.PHONY: tests
+tests:
+       @$(MAKE) -C src/tests tests
+
 #
 # The $(R) is a magic variable not defined anywhere in this source.
 # It's purpose is to allow an admin to create an installation 'tar'
@@ -93,8 +97,8 @@ configure: configure.in aclocal.m4
        $(AUTOCONF)
 
 # autoheader might not change autoconf.h.in, so touch a stamp file
-src/include/autoconf.h.in: src/include/stamp-h.in acconfig.h
-src/include/stamp-h.in: configure.in acconfig.h
+src/include/autoconf.h.in: src/include/stamp-h.in
+src/include/stamp-h.in: configure.in
        $(AUTOHEADER)
        echo timestamp > src/include/stamp-h.in
 
@@ -107,5 +111,63 @@ config.status: configure
 
 configure.in:
 
+.PHONY: check-includes
+check-includes:
+       scripts/min-includes.pl `find . -name "*.c" -print`
+
 TAGS:
        etags `find src -type f -name '*.[ch]' -print`
+
+######################################################################
+#
+#  Make a release.
+#
+#  Note that "Make.inc" has to be updated with the release number
+#  BEFORE running this command!
+#
+######################################################################
+freeradius-server-$(RADIUSD_VERSION): CVS
+       @CVSROOT=`cat CVS/Root`; \
+       cvs -d $$CVSROOT checkout -P -d freeradius-server-$(RADIUSD_VERSION) radiusd
+
+freeradius-server-$(RADIUSD_VERSION).tar.gz: freeradius-server-$(RADIUSD_VERSION)
+       @tar --exclude=CVS -zcf  $@ $<
+
+freeradius-server-$(RADIUSD_VERSION).tar.gz.sig: freeradius-server-$(RADIUSD_VERSION).tar.gz
+       gpg --default-key aland@freeradius.org -b $<
+
+freeradius-server-$(RADIUSD_VERSION).tar.bz2: freeradius-server-$(RADIUSD_VERSION)
+       @tar --exclude=CVS -jcf $@ $<
+
+freeradius-server-$(RADIUSD_VERSION).tar.bz2.sig: freeradius-server-$(RADIUSD_VERSION).tar.bz2
+       gpg --default-key aland@freeradius.org -b $<
+
+# high-level targets
+.PHONY: dist-check
+dist-check: redhat/freeradius.spec suse/freeradius.spec debian/changelog
+       @if [ `grep ^Version: redhat/freeradius.spec | sed 's/.*://;s/ //'` != "$(RADIUSD_VERSION)" ]; then \
+               echo redhat/freeradius.spec 'Version' needs to be updated; \
+               exit 1; \
+       fi
+       @if [ `grep ^Version: suse/freeradius.spec | sed 's/.*://;s/ //'` != "$(RADIUSD_VERSION)" ]; then \
+               echo suse/freeradius.spec 'Version' needs to be updated; \
+               exit 1; \
+       fi
+       @if [ `head -n 1 debian/changelog | sed 's/.*(//;s/-0).*//;s/-1).*//;'`  != "$(RADIUSD_VERSION)" ]; then \
+               echo debian/changelog needs to be updated; \
+               exit 1; \
+       fi
+
+dist: dist-check freeradius-server-$(RADIUSD_VERSION).tar.gz freeradius-server-$(RADIUSD_VERSION).tar.bz2
+
+dist-sign: freeradius-server-$(RADIUSD_VERSION).tar.gz.sig freeradius-server-$(RADIUSD_VERSION).tar.bz2.sig
+
+dist-publish: freeradius-server-$(RADIUSD_VERSION).tar.gz.sig freeradius-server-$(RADIUSD_VERSION).tar.gz freeradius-server-$(RADIUSD_VERSION).tar.gz.sig freeradius-server-$(RADIUSD_VERSION).tar.bz2 freeradius-server-$(RADIUSD_VERSION).tar.gz.sig freeradius-server-$(RADIUSD_VERSION).tar.bz2.sig
+       scp $^ freeradius.org@freeradius.org:public_ftp
+
+#
+#  Note that we do NOT do the tagging here!  We just print out what
+#  to do!
+#
+dist-tag: freeradius-server-$(RADIUSD_VERSION).tar.gz freeradius-server-$(RADIUSD_VERSION).tar.bz2
+       @echo "cd freeradius-server-$(RADIUSD_VERSION) && cvs tag release_`echo $(RADIUSD_VERSION) | tr .- __` && cd .."