+BIN := spline3
+TMPDIR := /tmp
+
GHC_WARNINGS := -Wall
GHC_WARNINGS += -fwarn-hi-shadowing
GHC_WARNINGS += -fwarn-missing-signatures
GHC_WARNINGS += -fwarn-monomorphism-restriction
GHC_WARNINGS += -fwarn-unused-do-bind
-BIN := spline3
-TMPDIR := /tmp
-GHC_OPTS := $(GHC_WARNINGS) \
+OPTIMIZATIONS := -O2
+OPTIMIZATIONS += -fexcess-precision
+OPTIMIZATIONS += -fno-spec-constr-count
+OPTIMIZATIONS += -optc-O2
+OPTIMIZATIONS += -optc-march=native
+
+GHC_OPTS := $(OPTIMIZATIONS) \
+ $(GHC_WARNINGS) \
-odir $(TMPDIR) \
-hidir $(TMPDIR) \
--make \
-rtsopts \
-threaded \
- -fno-spec-constr-count \
-o bin/${BIN}
.PHONY : test publish_doc doc src_html hlint
$(BIN): src/*.hs
- ghc -O2 $(GHC_OPTS) src/*.hs
+ ghc $(GHC_OPTS) src/*.hs
all: $(BIN) test_src
test_src: src/Tests/*.hs
- ghc -O2 $(GHC_OPTS) src/*.hs src/Tests/*.hs
+ ghc $(GHC_OPTS) src/*.hs src/Tests/*.hs
profile: src/*.hs
- ghc -O2 $(GHC_OPTS) -prof -auto-all src/*.hs
+ ghc $(GHC_OPTS) -prof -auto-all src/*.hs
clean:
rm -f bin/$(BIN)