tools: more top-level build fixes; remove chart/vty rules
This commit is contained in:
parent
f03b020e2f
commit
3e28f6001f
76
Makefile
76
Makefile
@ -17,7 +17,7 @@ COVCMD=test
|
|||||||
# or in the current directory. hledger executables for benchmarking should
|
# or in the current directory. hledger executables for benchmarking should
|
||||||
# generally be the standard optimised cabal build, constrained to parsec 2.
|
# generally be the standard optimised cabal build, constrained to parsec 2.
|
||||||
BENCHEXES=hledger-0.12.1 hledger-0.13 hledger-0.14 hledger-0.15 hledger-0.16 hledger-0.17 hledger-0.18 hledgeropt ledger
|
BENCHEXES=hledger-0.12.1 hledger-0.13 hledger-0.14 hledger-0.15 hledger-0.16 hledger-0.17 hledger-0.18 hledgeropt ledger
|
||||||
#BENCHEXES=hledger
|
BENCHEXES=hledger-0.18 hledger ledger
|
||||||
|
|
||||||
# misc. tools
|
# misc. tools
|
||||||
BROWSE=google-chrome
|
BROWSE=google-chrome
|
||||||
@ -30,16 +30,12 @@ PRINT=lpr
|
|||||||
PACKAGES=\
|
PACKAGES=\
|
||||||
hledger-lib \
|
hledger-lib \
|
||||||
hledger \
|
hledger \
|
||||||
hledger-web \
|
hledger-web
|
||||||
# hledger-vty \
|
|
||||||
# hledger-chart
|
|
||||||
INCLUDEPATHS=\
|
INCLUDEPATHS=\
|
||||||
-i../hledger-lib \
|
-ihledger-lib \
|
||||||
-i../hledger \
|
-ihledger \
|
||||||
-i../hledger-web \
|
-ihledger-web
|
||||||
# -i../hledger-vty \
|
MAIN=hledger/hledger-cli.hs
|
||||||
# -i../hledger-chart
|
|
||||||
MAIN=hledger-cli.hs
|
|
||||||
|
|
||||||
# all source files in the project (plus a few strays like Setup.hs & hlint.hs)
|
# all source files in the project (plus a few strays like Setup.hs & hlint.hs)
|
||||||
SOURCEFILES:= \
|
SOURCEFILES:= \
|
||||||
@ -60,11 +56,7 @@ HADDOCKSOURCEFILES:= \
|
|||||||
hledger/Hledger/*/*hs \
|
hledger/Hledger/*/*hs \
|
||||||
hledger-web/Hledger/*hs \
|
hledger-web/Hledger/*hs \
|
||||||
hledger-web/Hledger/*/*hs \
|
hledger-web/Hledger/*/*hs \
|
||||||
hledger-web/Hledger/Web/Settings/*hs \
|
hledger-web/Hledger/Web/Settings/*hs
|
||||||
# hledger-vty/Hledger/*hs \
|
|
||||||
# hledger-vty/Hledger/*/*hs
|
|
||||||
# hledger-chart/Hledger/*hs
|
|
||||||
# hledger-chart/Hledger/*/*hs
|
|
||||||
|
|
||||||
CABALFILES:= \
|
CABALFILES:= \
|
||||||
hledger/hledger.cabal \
|
hledger/hledger.cabal \
|
||||||
@ -73,7 +65,6 @@ CABALFILES:= \
|
|||||||
WEBFILES:= \
|
WEBFILES:= \
|
||||||
hledger-web/static/*.js \
|
hledger-web/static/*.js \
|
||||||
hledger-web/static/*.css
|
hledger-web/static/*.css
|
||||||
# hledger-web/templates/* \
|
|
||||||
|
|
||||||
DOCFILES:= \
|
DOCFILES:= \
|
||||||
*.md
|
*.md
|
||||||
@ -151,23 +142,17 @@ autotest-%: sp
|
|||||||
$(AUTOBUILD) $(MAIN) -o bin/hledger $(AUTOBUILDFLAGS) --run test $*
|
$(AUTOBUILD) $(MAIN) -o bin/hledger $(AUTOBUILDFLAGS) --run test $*
|
||||||
|
|
||||||
autoweb: sp
|
autoweb: sp
|
||||||
cd hledger-web; $(AUTOBUILD) hledger-web.hs -o bin/hledger-web $(AUTOBUILDFLAGS) -DDEVELOPMENT --run -B --port 5001 --base-url http://localhost:5001 -f test.journal
|
$(AUTOBUILD) hledger-web/hledger-web.hs -o bin/hledger-web $(AUTOBUILDFLAGS) -DDEVELOPMENT --run -B --port 5001 --base-url http://localhost:5001 -f test.journal
|
||||||
|
|
||||||
autovty: sp
|
|
||||||
cd hledger-vty; $(AUTOBUILD) hledger-vty.hs -o bin/hledger-vty $(AUTOBUILDFLAGS) --run --help
|
|
||||||
|
|
||||||
autochart: sp
|
|
||||||
cd hledger-chart; $(AUTOBUILD) hledger-chart.hs -o bin/hledger-chart $(AUTOBUILDFLAGS) --run --help
|
|
||||||
|
|
||||||
# check for sp and explain how to get it if not found.
|
# check for sp and explain how to get it if not found.
|
||||||
sp:
|
sp:
|
||||||
@/usr/bin/env which sp >/dev/null || \
|
@/usr/bin/env which sp >/dev/null || \
|
||||||
(echo '"sp" is required for auto-compilation. darcs get http://joyful.com/darcsden/simon/searchpath, make it (cabal install-ing any needed packages) and add it to your PATH'; exit 1)
|
(echo '"sp" is required for auto-compilation. darcs get http://joyful.com/darcsden/simon/searchpath, make it (cabal install-ing any needed packages) and add it to your PATH'; exit 1)
|
||||||
|
|
||||||
hledgerall: bin/hledger hledger-web hledger-vty hledger-chart
|
hledgerall: bin/hledger hledger-web
|
||||||
|
|
||||||
# force a compile even if binary exists, since we don't specify dependencies
|
# force a compile even if binary exists, since we don't specify dependencies
|
||||||
.PHONY: bin/hledger hledger-web hledger-vty hledger-chart
|
.PHONY: bin/hledger hledger-web
|
||||||
|
|
||||||
# build hledger binary as quickly as possible
|
# build hledger binary as quickly as possible
|
||||||
bin/hledger:
|
bin/hledger:
|
||||||
@ -201,36 +186,22 @@ hledgerhpc:
|
|||||||
# build other executables quickly
|
# build other executables quickly
|
||||||
|
|
||||||
bin/hledger-web:
|
bin/hledger-web:
|
||||||
cd hledger-web; ghc --make hledger-web.hs -o bin/hledger-web $(BUILDFLAGS)
|
ghc --make -o $@ $(BUILDFLAGS) hledger-web/hledger-web.hs
|
||||||
|
|
||||||
bin/hledger-web-production:
|
bin/hledger-web-production:
|
||||||
cd hledger-web; ghc --make hledger-web.hs -o $@ $(BUILDFLAGS)
|
ghc --make -o $@ $(BUILDFLAGS) hledger-web/hledger-web.hs
|
||||||
|
|
||||||
bin/hledger-vty:
|
|
||||||
cd hledger-vty; ghc --make hledger-vty.hs -o bin/hledger-vty $(BUILDFLAGS)
|
|
||||||
|
|
||||||
bin/hledger-chart:
|
|
||||||
cd hledger-chart; ghc --make hledger-chart.hs -o bin/hledger-chart $(BUILDFLAGS)
|
|
||||||
|
|
||||||
# build portable releaseable binaries for gnu/linux
|
# build portable releaseable binaries for gnu/linux
|
||||||
linuxbinaries: linuxbinary-hledger \
|
linuxbinaries: linuxbinary-hledger \
|
||||||
linuxbinary-hledger-web \
|
linuxbinary-hledger-web
|
||||||
linuxbinary-hledger-vty \
|
|
||||||
linuxbinary-hledger-chart
|
|
||||||
@echo 'Please check the binaries look portable, then make compressbinaries:'
|
@echo 'Please check the binaries look portable, then make compressbinaries:'
|
||||||
-file bin/*`arch`
|
-file bin/*`arch`
|
||||||
|
|
||||||
linuxbinary-%:
|
linuxbinary-%:
|
||||||
ghc --make $*/$*.hs -o bin/$*$(RELEASEBINARYSUFFIX) $(LINUXRELEASEBUILDFLAGS)
|
ghc --make $*/$*.hs -o bin/$*$(RELEASEBINARYSUFFIX) $(LINUXRELEASEBUILDFLAGS)
|
||||||
|
|
||||||
# XXX link errors
|
|
||||||
linuxbinary-hledger-chart:
|
|
||||||
ghc --make hledger-chart/hledger-chart.hs -o bin/hledger-chart$(RELEASEBINARYSUFFIX) $(LINUXRELEASEBUILDFLAGS) -lpixman-1 -v
|
|
||||||
|
|
||||||
macbinaries: macbinary-hledger \
|
macbinaries: macbinary-hledger \
|
||||||
macbinary-hledger-vty \
|
macbinary-hledger-web
|
||||||
macbinary-hledger-web \
|
|
||||||
macbinary-hledger-chart
|
|
||||||
@echo 'Please check the binaries are portable, then make compressbinaries'
|
@echo 'Please check the binaries are portable, then make compressbinaries'
|
||||||
otool -L bin/*`arch`
|
otool -L bin/*`arch`
|
||||||
|
|
||||||
@ -240,7 +211,7 @@ macbinaries: macbinary-hledger \
|
|||||||
# Clunky, does the link twice.
|
# Clunky, does the link twice.
|
||||||
macbinary-%:
|
macbinary-%:
|
||||||
BINARY=`echo $(BINARYFILENAME) | sed -e 's/hledger/$*/'` ; \
|
BINARY=`echo $(BINARYFILENAME) | sed -e 's/hledger/$*/'` ; \
|
||||||
LINKCMD=`cd $* && ghc -v --make $*.hs $(MACRELEASEBUILDFLAGS) -o bin/$$BINARY 2>&1 | egrep "bin/gcc.*bin/$$BINARY"` ; \
|
LINKCMD=`ghc -v --make $*/$*.hs $(MACRELEASEBUILDFLAGS) -o bin/$$BINARY 2>&1 | egrep "bin/gcc.*bin/$$BINARY"` ; \
|
||||||
PORTABLELINKCMD=`echo $$LINKCMD | sed -e 's/ -framework GMP//'` ; \
|
PORTABLELINKCMD=`echo $$LINKCMD | sed -e 's/ -framework GMP//'` ; \
|
||||||
echo $$PORTABLELINKCMD; $$PORTABLELINKCMD
|
echo $$PORTABLELINKCMD; $$PORTABLELINKCMD
|
||||||
|
|
||||||
@ -252,8 +223,6 @@ macbinary-%:
|
|||||||
windowsbinaries: install
|
windowsbinaries: install
|
||||||
cp ~/.cabal/bin/hledger.exe bin/`echo $(BINARYFILENAME) | dos2unix`
|
cp ~/.cabal/bin/hledger.exe bin/`echo $(BINARYFILENAME) | dos2unix`
|
||||||
-cp ~/.cabal/bin/hledger-web.exe bin/`echo $(BINARYFILENAME) | sed -e 's/hledger/hledger-web/' | dos2unix`
|
-cp ~/.cabal/bin/hledger-web.exe bin/`echo $(BINARYFILENAME) | sed -e 's/hledger/hledger-web/' | dos2unix`
|
||||||
-cp ~/.cabal/bin/hledger-vty.exe bin/`echo $(BINARYFILENAME) | sed -e 's/hledger/hledger-vty/' | dos2unix`
|
|
||||||
-cp ~/.cabal/bin/hledger-chart.exe bin/`echo $(BINARYFILENAME) | sed -e 's/hledger/hledger-chart/' | dos2unix`
|
|
||||||
@echo 'Please check the binaries are portable, then make compressbinaries'
|
@echo 'Please check the binaries are portable, then make compressbinaries'
|
||||||
ls -l bin/*`arch`
|
ls -l bin/*`arch`
|
||||||
|
|
||||||
@ -485,9 +454,6 @@ viewcoverage:
|
|||||||
ghci:
|
ghci:
|
||||||
ghci $(INCLUDEPATHS) $(MAIN)
|
ghci $(INCLUDEPATHS) $(MAIN)
|
||||||
|
|
||||||
ghci-vty:
|
|
||||||
ghci $(INCLUDEPATHS) hledger-vty/Hledger/Vty/Main.hs
|
|
||||||
|
|
||||||
# generate standard sample journals
|
# generate standard sample journals
|
||||||
samplejournals: data/sample.journal data/100x100x10.journal data/1000x1000x10.journal data/10000x1000x10.journal data/100000x1000x10.journal
|
samplejournals: data/sample.journal data/100x100x10.journal data/1000x1000x10.journal data/10000x1000x10.journal data/100000x1000x10.journal
|
||||||
|
|
||||||
@ -580,7 +546,7 @@ pushdocs: push
|
|||||||
ssh simon@joyful.com 'make -C/repos/hledger docs'
|
ssh simon@joyful.com 'make -C/repos/hledger docs'
|
||||||
|
|
||||||
# dump all executables' command line help into files for review
|
# dump all executables' command line help into files for review
|
||||||
EXES=hledger hledger-vty hledger-web hledger-chart
|
EXES=hledger hledger-vty hledger-web
|
||||||
savehelp:
|
savehelp:
|
||||||
for e in $(EXES); do $$e --help >.HELP_$$e; done
|
for e in $(EXES); do $$e --help >.HELP_$$e; done
|
||||||
|
|
||||||
@ -755,16 +721,6 @@ hledger/hledger.cabal: $(VERSIONFILE)
|
|||||||
perl -p -e "s/(^ *version:) *.*/\1 $(VERSION)/" -i $@
|
perl -p -e "s/(^ *version:) *.*/\1 $(VERSION)/" -i $@
|
||||||
perl -p -e "s/(^[ ,]*hledger-lib *[>=]=) *.*/\1 $(VERSION)/" -i $@
|
perl -p -e "s/(^[ ,]*hledger-lib *[>=]=) *.*/\1 $(VERSION)/" -i $@
|
||||||
|
|
||||||
hledger-chart/hledger-chart.cabal: $(VERSIONFILE)
|
|
||||||
perl -p -e "s/(^ *version:) *.*/\1 $(VERSION)/" -i $@
|
|
||||||
perl -p -e "s/(^[ ,]*hledger *[>=]=) *.*/\1 $(VERSION)/" -i $@
|
|
||||||
perl -p -e "s/(^[ ,]*hledger-lib *[>=]=) *.*/\1 $(VERSION)/" -i $@
|
|
||||||
|
|
||||||
hledger-vty/hledger-vty.cabal: $(VERSIONFILE)
|
|
||||||
perl -p -e "s/(^ *version:) *.*/\1 $(VERSION)/" -i $@
|
|
||||||
perl -p -e "s/(^[ ,]*hledger *[>=]=) *.*/\1 $(VERSION)/" -i $@
|
|
||||||
perl -p -e "s/(^[ ,]*hledger-lib *[>=]=) *.*/\1 $(VERSION)/" -i $@
|
|
||||||
|
|
||||||
hledger-web/hledger-web.cabal: $(VERSIONFILE)
|
hledger-web/hledger-web.cabal: $(VERSIONFILE)
|
||||||
perl -p -e "s/(^ *version:) *.*/\1 $(VERSION)/" -i $@
|
perl -p -e "s/(^ *version:) *.*/\1 $(VERSION)/" -i $@
|
||||||
perl -p -e "s/(^[ ,]*hledger *[>=]=) *.*/\1 $(VERSION)/" -i $@
|
perl -p -e "s/(^[ ,]*hledger *[>=]=) *.*/\1 $(VERSION)/" -i $@
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user