tools: makefile updates for hledger-lib

This commit is contained in:
Simon Michael 2010-04-14 21:51:02 +00:00
parent e40a190908
commit 8b2600984c

View File

@ -32,13 +32,13 @@ SOURCEFILES:= \
$(MAIN) \ $(MAIN) \
[A-Z]*hs \ [A-Z]*hs \
Commands/[A-Z]*hs \ Commands/[A-Z]*hs \
Ledger/[A-Z]*hs hledger-lib/Ledger/[A-Z]*hs
DOCFILES:=README README2 MANUAL NEWS CONTRIBUTORS SCREENSHOTS DOCFILES:=README README2 MANUAL NEWS CONTRIBUTORS SCREENSHOTS
BINARYFILENAME=`runhaskell ./hledger.hs --binary-filename` BINARYFILENAME=`runhaskell ./hledger.hs --binary-filename`
PATCHLEVEL:=$(shell expr `darcs changes --count --from-tag=\\\\\.` - 1) PATCHLEVEL:=$(shell expr `darcs changes --count --from-tag=\\\\\.` - 1)
WARNINGS:=-W -fwarn-tabs #-fwarn-orphans -fwarn-simple-patterns -fwarn-monomorphism-restriction -fwarn-name-shadowing WARNINGS:=-W -fwarn-tabs #-fwarn-orphans -fwarn-simple-patterns -fwarn-monomorphism-restriction -fwarn-name-shadowing
DEFINEFLAGS:=-DMAKE -DPATCHLEVEL=$(PATCHLEVEL) $(OPTFLAGS) DEFINEFLAGS:=-DMAKE -DPATCHLEVEL=$(PATCHLEVEL) $(OPTFLAGS)
BUILDFLAGS:=$(DEFINEFLAGS) $(WARNINGS) BUILDFLAGS:=$(DEFINEFLAGS) $(WARNINGS) -ihledger-lib
TIME:=$(shell date +"%Y%m%d%H%M") TIME:=$(shell date +"%Y%m%d%H%M")
default: tag hledger default: tag hledger
@ -445,35 +445,38 @@ upload: hackageupload updatesite
releaseandupload: release upload releaseandupload: release upload
# file where the current release version is defined # file defining the current release version
VERSIONFILE=VERSION VERSIONFILE=VERSION
# two or three-part version string # two or three-part version string
VERSION:=`grep -v '^--' $(VERSIONFILE)` VERSION:=`grep -v '^--' $(VERSIONFILE)`
# three-part version string # three-part version string
ifeq ($(shell ghc -e "length (filter (=='.') \"$(VERSION)\")"), 1) ifeq ($(shell ghc -e "length (filter (=='.') \"$(VERSION)\")"), 1)
VERSION3:=$(VERSION).0 VERSION3:=$(VERSION).0
else else
VERSION3:=$(VERSION) VERSION3:=$(VERSION)
endif endif
# files which should be updated when the version changes
# other files containing the version string VERSIONSENSITIVEFILES=\
VERSIONFILES=hledger.cabal Version.hs Version.hs \
hledger.cabal \
hledger.cabal: $(VERSIONFILE) hledger-lib/hledger-lib.cabal \
perl -p -e "s/(^version: *) .*/\1 $(VERSION)/" -i $@
Version.hs: $(VERSIONFILE) Version.hs: $(VERSIONFILE)
perl -p -e "s/(^version *= *)\".*?\"/\1\"$(VERSION3)\"/" -i $@ perl -p -e "s/(^version *= *)\".*?\"/\1\"$(VERSION3)\"/" -i $@
hledger.cabal: $(VERSIONFILE)
perl -p -e "s/(^version: *) .*/\1 $(VERSION)/" -i $@
hledger-lib/hledger-lib.cabal: $(VERSIONFILE)
perl -p -e "s/(^version: *) .*/\1 $(VERSION)/" -i $@
# update the version string in local files. Triggered by "make". # update the version string in local files. Triggered by "make".
setversion: $(VERSIONFILES) setversion: $(VERSIONSENSITIVEFILES)
# update the version number in local files, and prompt to record changes # update the version number in local files, and prompt to record changes
# in these files. Triggered by "make release". # in these files. Triggered by "make release".
setandrecordversion: setversion setandrecordversion: setversion
darcs record -m "update version" $(VERSIONFILE) $(VERSIONFILES) darcs record -m "update version" $(VERSIONFILE) $(VERSIONSENSITIVEFILES)
tagrelease: tagrelease:
darcs tag $(VERSION3) darcs tag $(VERSION3)