tools: misc. updates to release and platform binary rules

This commit is contained in:
Simon Michael 2010-09-06 21:00:19 +00:00
parent f9bc4019a0
commit 8deb3d2e42

View File

@ -45,7 +45,7 @@ SOURCEFILES:= \
hledger-lib/Hledger/Data/*hs \ hledger-lib/Hledger/Data/*hs \
hledger-lib/Hledger/Read/*hs hledger-lib/Hledger/Read/*hs
DOCFILES:=README README2 MANUAL NEWS CONTRIBUTORS SCREENSHOTS DOCFILES:=README README2 MANUAL NEWS CONTRIBUTORS SCREENSHOTS
BINARYFILENAME=$(shell runhaskell ./hledger.hs --binary-filename) BINARYFILENAME=$(shell touch Hledger/Cli/Version.hs; 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)
@ -79,7 +79,7 @@ default: tag hledger
# fetch dependencies, build and install the standard cabal binary # fetch dependencies, build and install the standard cabal binary
hledgercabal: hledgercabal:
cd hledger-lib; cabal install cd hledger-lib; cabal install
cabal install -fweb -fvty cabal install -fweb # -fvty
# build the standard developer's binary, quickly # build the standard developer's binary, quickly
hledger: setversion hledger: setversion
@ -115,7 +115,7 @@ hledgermac: setversion
otool -L bin/$(BINARYFILENAME) otool -L bin/$(BINARYFILENAME)
# build a deployable binary for windows, assuming cygwin tools are present # build a deployable binary for windows, assuming cygwin tools are present
hledgerwin: setversion #hledgercabal hledgerwin: setversion hledgercabal
cp ~/.cabal/bin/hledger.exe bin/`echo $(BINARYFILENAME) | dos2unix` cp ~/.cabal/bin/hledger.exe bin/`echo $(BINARYFILENAME) | dos2unix`
# auto-recompile and run (with the specified argument) whenever a module changes. # auto-recompile and run (with the specified argument) whenever a module changes.
@ -167,7 +167,8 @@ codetest: unittest functest
committest: hlinttest unittest doctest functest haddocktest warningstest quickcabaltest committest: hlinttest unittest doctest functest haddocktest warningstest quickcabaltest
# thorough pre-release tests - run before release # thorough pre-release tests - run before release
releasetest: unittest doctest functest warningstest fullcabaltest haddocktest # consider hiding dev-build symlinks in Hledger/ first
releasetest: Clean unittest doctest functest warningstest fullcabaltest haddocktest
hlinttest hlint: hlinttest hlint:
hlint --hint=hlint --report=hlint.html $(SOURCEFILES) hlint --hint=hlint --report=hlint.html $(SOURCEFILES)
@ -514,13 +515,13 @@ hoogleindex:
# files, and tags the repo with the release tag. # files, and tags the repo with the release tag.
# Build a release, tag the repo, prepare a cabal package # Build a release, tag the repo, prepare a cabal package
# Don't forget to update VERSION first. Examples: # First update VERSION. Eg:
# normal release: echo 0.7 >VERSION; make release # a normal release: echo 0.7 >VERSION; make release
# a bugfix release: echo 0.7.1 >VERSION; make release # a bugfix release: echo 0.7.1 >VERSION; make release
release: releasetest setandrecordversion tagrelease sdist release: releasetest setandrecordversion tagrelease
# Upload the latest cabal package and update hledger.org # Upload the latest cabal package and update hledger.org
upload: hackageupload pushdocs upload: sdist hackageupload pushdocs
releaseandupload: release upload releaseandupload: release upload
@ -582,15 +583,16 @@ pushprofs:
pullprofs: pullprofs:
rsync -azP simon@joyful.com:/repos/hledger/profs/ profs/ rsync -azP simon@joyful.com:/repos/hledger/profs/ profs/
# push a deployable binary for this platform to the public site # compress the just-built platform binary. make hledgerPLATFORM first. Use
# make hledgerPLATFORM first # the win variant on windows.
pushbinary: compressbinary:
-gzip -9 bin/$(BINARYFILENAME) gzip -9 bin/$(BINARYFILENAME)
-rsync -aP bin/$(BINARYFILENAME).gz simon@joyful.com:/repos/hledger/site/download/ compressbinarywin:
pushbinarywin:
cd bin; zip -9 $(BINARYFILENAME).zip $(BINARYFILENAME) cd bin; zip -9 $(BINARYFILENAME).zip $(BINARYFILENAME)
-rsync -aP bin/$(BINARYFILENAME).zip simon@joyful.com:/repos/hledger/site/download/
# push the last-updated platform binary to the public download directory
pushbinary:
cd bin; rsync -aP `ls -t | head -1` simon@joyful.com:/repos/hledger/site/download/
# show project stats useful for release notes # show project stats useful for release notes