packages feed

ChasingBottoms-1.2.2: Makefile

# This Makefile is currently only used to build the documentation and
# to run a test suite automatically using darcs.

########################################################################
# You may need to edit the following variables:

# Path to Haddock.
HADDOCK ?= haddock

# URL prefix leading to Haddock documentation for the hierarchical
# libraries.
GHC_DOC_URL ?= http://www.haskell.org/ghc/docs/latest/html/libraries

# Path prefix leading to Haddock interface files for the hierarchical
# libraries. These files should be compiled using a Haddock program
# which is interface compatible with the one listed above (same
# version).
GHC_DOC_PATH ?= /chalmers/sw/unsup/ghc-6.8.1/share/doc/ghc/libraries

# Documentation is stored in this directory. Note that the directory
# is emptied first.
DOCDIR = docs

# Path to GHC 6.8, used to run the tests.
GHC_68 ?= _ghc_6.8.1

# GHC packages necessary for building and testing the library.
PACKAGES = base-3.0.0.0 containers-0.1.0.0 random-1.0.0.0 mtl-1.1.0.0	\
QuickCheck-1.1.0.0 array-0.1.0.0

########################################################################

EXPOSED_SOURCES = ChasingBottoms.hs ChasingBottoms/Approx.hs		\
ChasingBottoms/ApproxShow.hs ChasingBottoms/ContinuousFunctions.hs	\
ChasingBottoms/IsBottom.hs ChasingBottoms/Nat.hs			\
ChasingBottoms/SemanticOrd.hs ChasingBottoms/TimeOut.hs

HIDDEN_SOURCES = ChasingBottoms/IsType.hs ChasingBottoms/Tests.hs	\
ChasingBottoms/Approx/Tests.hs ChasingBottoms/ApproxShow/Tests.hs	\
ChasingBottoms/ContinuousFunctions/Tests.hs				\
ChasingBottoms/IsBottom/Tests.hs ChasingBottoms/IsType/Tests.hs		\
ChasingBottoms/Nat/Tests.hs ChasingBottoms/SemanticOrd/Tests.hs		\
ChasingBottoms/TimeOut/Tests.hs ChasingBottoms/TestUtilities.hs		\
ChasingBottoms/TestUtilities/Generators.hs				\
ChasingBottoms/TestLibraryWhenCompiling.hs

FILES_TO_BE_EXCLUDED = .boring

$(DOCDIR) : $(DOCDIR)/index.html
$(DOCDIR)/index.html : $(addprefix Test/,$(EXPOSED_SOURCES)) Header
	-rm -rf $(DOCDIR)
	mkdir -p $(DOCDIR)
	$(HADDOCK) -h --title="Chasing Bottoms" --prologue=Header -o$(DOCDIR) \
	  $(foreach pkg,$(PACKAGES),\
             -i$(GHC_DOC_URL)/$(pkg),$(GHC_DOC_PATH)/$(pkg)/`echo $(pkg) | sed -r -e 's/-.*//'`.haddock) \
	  $(filter Test/%,$^)

# Target used by darcs dist.
# After building the documentation we remove the generated files. We
# do not want them included in the tar ball generated by darcs.
# We also remove some other files.
dist: $(DOCDIR)
	-rm $(FILES_TO_BE_EXCLUDED)

# Runs all tests using GHC 6.8.
compile = $(1) -ignore-dot-ghci -no-recomp -hide-all-packages \
	  $(foreach pkg,$(PACKAGES),-package $(pkg)) --make $(2)
testWithCompiler = $(call compile,$(1),Test.ChasingBottoms) && $(call	\
compile,$(1),Test.ChasingBottoms.Tests -main-is				\
Test.ChasingBottoms.Tests.main -o tests) && ./tests
.PHONY : test
test:
	$(call testWithCompiler,$(GHC_68))