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