1 ## Process this file with automake to produce Makefile.in
3 ## run tests after everything else
5 SUBDIRS = lib src doc . tests
7 ## FIXME: maybe we don't need this line
9 AM_MAKEINFOFLAGS = -I$(top_srcdir)/doc/example
14 $(PACKAGE)-$(VERSION).tar.gz\
17 ## what additional things to distribute
19 EXTRA_DIST = SVNChangeLog ChangeLogOld check.pc.in $(m4data_DATA)
22 docdir = $(datadir)/doc/$(PACKAGE)
23 doc_DATA = SVNChangeLog ChangeLog ChangeLogOld NEWS README COPYING.LESSER
25 ## install check.m4 with AM_PATH_CHECK in it
26 m4datadir = $(datadir)/aclocal
27 m4data_DATA = check.m4
30 pcdatadir = $(libdir)/pkgconfig
31 pcdata_DATA = check.pc
34 if [ -e .svn ] ; then \
35 svn log -v @abs_top_srcdir@ > $@ ;\
37 echo "SVN Changelog not available" > $@ ;\
40 ACLOCAL_AMFLAGS = -I m4
43 $(MAKE) -C doc check.html
45 # check we can do a clean build, including docs.
46 # perhaps we should check for out of date (svn st -u) and modified files.
47 prereleasecheck: doc/check.html
49 autoreconf -i && ./configure \
53 RELEASE_VERSION ?= unset
56 @if [ "unset" = "${RELEASE_VERSION}" ]; then \
57 echo "set RELEASE_VERSION to something like 0.9.6 to prepare a release."; \
60 @if [ "unset" = "${SF_USERNAME}" ]; then \
61 echo "set SF_USERNAME to your sourceforge username"; \
66 svn st -u | grep "Status against revision:" | awk '{ print $$4 }' > $@
68 preparerelease: releasevars .svnrelease prereleasecheck
69 @echo checking we have can connect properly to do release tasks before tagging:
70 sftp -b /dev/null ${SF_USERNAME}@web.sourceforge.net
71 sftp -b /dev/null ${SF_USERNAME}@frs.sourceforge.net
72 @echo tagging release from `cat .svnrelease`
73 svn cp -m "Release check-${RELEASE_VERSION}" -r`cat .svnrelease` https://svn.sourceforge.net/svnroot/check/trunk https://svn.sourceforge.net/svnroot/check/tags/check-${RELEASE_VERSION}
74 svn co https://svn.sourceforge.net/svnroot/check/tags/check-${RELEASE_VERSION} check-${RELEASE_VERSION}
76 @echo "Update TODO and make sure version numbers match appropriately."
77 @echo "Update configure.ac with new version numbers."
78 @echo "Then svn commit these changes."
79 @echo "CTRL-D when finished or 'exit 1' to abort."
80 @echo "aborting will leave the partially prepared release in" `pwd`
81 cd check-${RELEASE_VERSION} && ${SHELL} && autoreconf -i && ./configure
82 $(MAKE) -C check-${RELEASE_VERSION} dorelease
83 -svn merge -r`cat .svnrelease`:`svn st -u check-${RELEASE_VERSION} | grep "Status against revision:" | awk '{ print $4 }'` check-${RELEASE_VERSION} .
84 @echo "Please resolve any conflicts. Be sure to also restore the 'In Development:' line to NEWS."
86 svn ci -m "Merge back release ${RELEASE_VERSION}"
87 @echo "Cleaning up workdir."
88 rm -rf check-${RELEASE_VERSION}
91 dorelease: releasevars doc/check.html prereleasecheck
92 cp NEWS NEWS-${RELEASE_VERSION}.txt
94 @echo "cut out old release news from NEWS-${RELEASE_VERSION}.txt."
95 @echo "CTRL-D to complete, or exit 1 to abort."
98 rsync -e ssh NEWS-${RELEASE_VERSION}.txt ${SF_USERNAME},check@frs.sourceforge.net:/home/frs/project/c/ch/check/check/${RELEASE_VERSION}/
99 rsync -e ssh check-${RELEASE_VERSION}.tar.gz ${SF_USERNAME},check@frs.sourceforge.net:/home/frs/project/c/ch/check/check/${RELEASE_VERSION}/
100 rsync -rlvC doc/. ${SF_USERNAME},check@web.sourceforge.net:/home/groups/c/ch/check/htdocs
103 @echo "visit https://sourceforge.net/project/admin/explorer.php?group_id=28255"
104 @echo "Mark the NEWS file in check/${RELEASE_VERSION} as being a release note."
105 @echo "And the tar.gz file as being 'all platforms', using the NEWS file for release notes."
106 @echo "visit https://sourceforge.net/projects/check/files/"
107 @echo "Check it looks ok. It may take 15 minutes to show up."
108 @echo Finally, mail check-devel ,announce and users at lists dot sourceforge dot net
109 @echo an email (template is in HACKING) about this announcement.
110 @echo NEWS-release can be found at `pwd`/NEWS-${RELEASE_VERSION}.txt
111 @echo Note that with the tarballs, docs amd NEWS up, the release is done :P
112 @echo "so you'll have to manually roll back if you abort."
113 @echo "CTRL-D to complete, or exit 1 to abort."
117 .PHONY: releasevars prereleasecheck preparerelease dorelease .svnrelease