1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
#--*- Makefile -*--
TRUNK ?= ^/trunk
BRANCHES ?= ^/branches
.PHONY: release major minor patch
## all tests test: lib/Version.slib
version.h: version.hin ${VFILE}
sed 's/@VERSION@/${VERSION}/' $< > $@
lib/perl5/Version.pm: lib/perl5/Version.pmin ${VFILE}
sed 's/@VERSION@/${VERSION}/' $< > $@
scripts/smiles-scripts-version: scripts/package-version.in
sed 's/@VERSION@/${VERSION}/' $< > $@
chmod 755 $@
lib/Version.slib: lib/Version.sin ${VFILE}
sed 's/@VERSION@/${VERSION}/' $< > $@
src/Version.java: src/Version.java.in ${VFILE}
sed 's/@VERSION@/${VERSION}/' $< \
| sed 's/@VCS_TEXT@/${VCS_MESSAGE}/' \
> $@
release:
svn ci
perl -lpi -e 's/\(unreleased\)/(${VERSION})/ if $$. == 1' CHANGELOG
svn ci -m "CHANGELOG: switching from 'unreleased' to '${VERSION}'"
svn cp ^/trunk ^/branches/release/v${VERSION} \
-m "Preparing version ${VERSION} for release in the release branch."
${MAKE} minor
echo "smiles-scripts (unreleased)\n\n * ...\n" | cat - CHANGELOG > CHANGELOG.$$.tmp; \
mv -f CHANGELOG.$$.tmp CHANGELOG
major:
awk -F. '/^#/{print} !/^#/{print $$1+1 ".0" ".0"}' \
${VFILE} > ${VFILE}.$$$$; \
cat ${VFILE}.$$$$ > ${VFILE}; \
rm -f ${VFILE}.$$$$
minor:
awk -F. '/^#/{print} !/^#/{print $$1 "." $$2+1 ".0"}' \
${VFILE} > ${VFILE}.$$$$; \
cat ${VFILE}.$$$$ > ${VFILE}; \
rm -f ${VFILE}.$$$$
patch:
awk -F. '/^#/{print} !/^#/{print $$1 "." $$2 "." $$3+1}' \
${VFILE} > ${VFILE}.$$$$; \
cat ${VFILE}.$$$$ > ${VFILE}; \
rm -f ${VFILE}.$$$$
cleanAll distclean: clean-version
clean-version:
rm -f version.h
rm -f src/lib/perl5/COD/ToolsVersion.pm scripts/cod-tools-version
rm -f scripts/.cod-tools-version.d
rm -f src/Version.java
rm -f classes/Version.class
|