############################################################################### # # # CONFIGURE HERE # # # ############################################################################### export BIN_GHC = ghc export BIN_GHCI = ghci export BIN_LATEX = latex \\nonstopmode\\input export BIN_BIBTEX = bibtex export BIN_DVIPS = dvips -D 600 export BIN_RMF = rm -f ############################################################################### # # # NO CONFIG BELOW THIS LINE NEEDED # # # ############################################################################### GZIP = gzip GZIP_EXT = gz TAR = tar -cv --use-compress-program=$(GZIP) -f DIR_MAIN = loop DIR_PROG = prog DIR_PAPER = paper DIR_DATA = data SUBS = $(DIR_PAPER) $(DIR_PROG) $(DIR_DATA) MAKE_SUB = $(MAKE) $(3) -C $(1) $(2) MAKE_ALL = $(foreach SUB,$(SUBS),$(call MAKE_SUB,$(SUB),$(1),) ; ) DIST = loop.tar.$(GZIP_EXT) export ASSERT_ON = ASSERT_ON ############################################################################### .PHONY: default paper prog all default: paper prog paper: $(call MAKE_SUB,$(DIR_PAPER),default,) prog: $(call MAKE_SUB,$(DIR_PROG),default,) all: # $(call MAKE_SUB,$(DIR_PAPER),all,) $(call MAKE_SUB,$(DIR_PROG),all,ASSERT=) $(call MAKE_SUB,$(DIR_PROG),all,ASSERT=$(ASSERT_ON)) ############################################################################### .PHONY: distclean dist distclean: @$(call MAKE_ALL,distclean) @$(BIN_RMF) *~ dist: distclean $(TAR) $(DIST) -C .. $(DIR_MAIN)/ --exclude=$(DIST) ############################################################################### %: $(call MAKE_SUB,$(DIR_PROG),$*)