]> gitweb.michael.orlitzky.com - dead/lwn-epub.git/blobdiff - makefile
Add missing cabal fields.
[dead/lwn-epub.git] / makefile
index 1528ed3ad58404d9f2abf6c7fcff25012ff83db7..9a1337225a32b22b7e4f2fe014495b56271c2c45 100644 (file)
--- a/makefile
+++ b/makefile
@@ -1,16 +1,29 @@
 .PHONY : test publish_doc doc src_html hlint
 
-lwn-epub: src/*.hs
+# There's onlt one '$' in the awk script, but we have to double-money
+# it for make.
+PN   = $(shell grep 'name:' *.cabal | awk '{ print $$2 }')
+BIN  = dist/build/$(PN)/$(PN)
+TESTSUITE_BIN = dist/build/testsuite/testsuite
+SRCS = $(shell find src/ -name '*.hs')
+
+$(BIN): $(SRCS)
        runghc Setup.hs clean
        runghc Setup.hs configure --user --flags=${FLAGS}
        runghc Setup.hs build
 
+$(TESTSUITE_BIN): src/*.hs test/TestSuite.hs
+       runghc Setup.hs configure --user --flags=${FLAGS} --enable-tests
+       runghc Setup.hs build
+
 clean:
        runghc Setup.hs clean
        rm -f dist/
        rm -f *.prof
        rm -rf .hpc
 
+install: $(BIN)
+       runghc Setup.hs install
 
 # Neither 'haddock' nor 'hscolour' seem to work properly.
 doc: src_html
@@ -18,3 +31,6 @@ doc: src_html
        runghc Setup.hs haddock --internal    \
                                --executables \
                                --hyperlink-source
+
+test: $(BIN) $(TESTSUITE_BIN)
+       runghc Setup.hs test