ghc-prof-flags := ifdef ENABLE_PROFILING ghc-prof-flags += -prof -hisuf p_hi -osuf p_o lib-suffix := _p else lib-suffix := endif ifdef GHC ghc:= $(GHC) else ghc := ghc endif package := unordered-containers version := $(shell awk '/^version:/{print $$2}' ../$(package).cabal) lib := ../dist/build/libHS$(package)-$(version)$(lib-suffix).a ghc-flags := -Wall -O2 -hide-all-packages \ -package-conf ../dist/package.conf.inplace -package base -package mtl \ -package unordered-containers -package containers -package criterion \ -package deepseq -package hashable -package random -package bytestring \ $(ghc-prof-flags) %.o: %.hs $(ghc) $(ghc-flags) -c -o $@ $< programs := bench .PHONY: all all: $(programs) bench: $(lib) Benchmarks.o Util/Int.o Util/ByteString.o Util/String.o ranlib $(lib) $(ghc) $(ghc-flags) -threaded -o $@ $(filter %.o,$^) $(lib) .PHONY: clean clean: -find . \( -name '*.o' -o -name '*.hi' \) -exec rm {} \; -rm -f $(programs) Benchmarks.o: Util/Int.o Util/ByteString.o Util/String.o Util/ByteString.o: Util/String.o