Update for 2.0.1-pre
[freeradius.git] / Makefile
index 3917d69..e0f9d67 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@ include Make.inc
 
 .PHONY: all clean install
 
-SUBDIRS                = ${LIBLTDLPATH} src raddb scripts doc
+SUBDIRS                = $(LTDL_SUBDIRS) src raddb scripts doc
 WHAT_TO_MAKE   = all
 
 all:
@@ -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'
@@ -35,6 +39,10 @@ clean:
 # Many of the platform-specific packaging tools use the $(R) variable
 # when creating their packages.
 #
+# For compatibility with typical GNU packages (e.g. as seen in libltdl),
+# we make sure DESTDIR is defined.
+#
+export DESTDIR := $(R)
 install:
        $(INSTALL) -d -m 755    $(R)$(sbindir)
        $(INSTALL) -d -m 755    $(R)$(bindir)
@@ -89,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
 
@@ -109,3 +117,57 @@ check-includes:
 
 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 .."