diff --git a/Makefile b/Makefile index 8abe5a83c..51780cc1b 100644 --- a/Makefile +++ b/Makefile @@ -199,7 +199,8 @@ sp: # force a compile even if binary exists, since we don't specify dependencies for these .PHONY: bin/hledgerdev bin/hledger-prof bin/hledgeropt bin/hledger-webdev -# build hledger binary as quickly as possible +# build hledger developer binary, ie as quickly as possible +# requires cabal macros, generated by doing a cabal build in hledger/ bin/hledgerdev: $(GHC) $(MAIN) -o bin/hledgerdev $(BUILDFLAGS) @@ -215,15 +216,18 @@ bin/hledgerdev.ghcall: \ bin/hledgerdev.ghc-7.0.4 \ # bin/hledgerdev.ghc-6.12.3 \ -# build the fastest binary we can -bin/hledgeropt: - $(GHC) $(MAIN) -o $@ $(BUILDFLAGS) -O2 # -fvia-C # -fexcess-precision -optc-O3 -optc-ffast-math +# build the "production" optimised cabal build with profiling enabled. Assumes a cabal sandbox. +bin/hledger: + rm -f bin/hledger + cabal install --disable-library-profiling --disable-executable-profiling ./hledger-lib ./hledger \ + && mv .cabal-sandbox/bin/hledger bin/hledger -# build the production (cabal) build with profiling enabled. +# build the "production" cabal build with profiling enabled. bin/hledger-prof: cabal install -p --enable-executable-profiling --ghc-options=-fprof-auto ./hledger-lib ./hledger \ && mv .cabal-sandbox/bin/hledger bin/hledger-prof + rm -f bin/hledger-prof # build the dev build with profiling enabled. # not working with cabal sandbox # bin/hledgerdev-prof: @@ -556,7 +560,7 @@ ghciweb: repllib: (cd hledger-lib; cabal repl) -repl: +replcli: (cd hledger; cabal repl exe:hledger) replweb: