ruler-0.4.0.0: demo/Makefile
## Tools used
SHUFFLE := shuffle
RULER := ruler
AGC := uuagc
GHC := ghc
GHC_OPTS := -XTypeSynonymInstances -XFlexibleInstances -XFlexibleContexts
## General settings
BUILD_PREFIX := build/
RULER_DEMO_EXEC := rulerdemo
## Shuffle settings
SHUFFLE_ORDER := 1 < 2 < 3
SHUFFLE_FINAL := 3
SHUFFLE_OPTS := --markchanges="E - AG"
## File names
AG_MAIN := RulerDemoMain
SRC_CAG_MAIN := $(AG_MAIN).cag
DRV_AG_MAIN := $(BUILD_PREFIX)$(AG_MAIN).ag
DRV_HS_MAIN := $(BUILD_PREFIX)$(AG_MAIN).hs
RUL_BASE := rulerDemoRL
SRC_CRL := $(RUL_BASE).crl2
DRV_RL2 := $(BUILD_PREFIX)$(RUL_BASE).rl2
AG_BASE := rulerDemoAG
DRV_CAG := $(BUILD_PREFIX)demo.cag
DRV_AG := $(BUILD_PREFIX)demo.ag
UTILS := RulerDemoUtils
SRC_CHS_UTILS := $(UTILS).chs
DRV_HS_UTILS := $(BUILD_PREFIX)$(UTILS).hs
## Actual rules
all: $(RULER_DEMO_EXEC)
$(DRV_AG_MAIN): $(SRC_CAG_MAIN)
@mkdir -p $(@D)
$(SHUFFLE) --gen-reqm=$(SHUFFLE_FINAL) --ag --variant-order="$(SHUFFLE_ORDER)" --base=Main --preamble=no --lhs2tex=no $< > $@
$(DRV_RL2): $(SRC_CRL)
@mkdir -p $(@D)
$(SHUFFLE) --gen-reqm=$(SHUFFLE_FINAL) --plain --variant-order="$(SHUFFLE_ORDER)" --lhs2tex=no $< > $@
$(DRV_CAG): $(DRV_RL2)
@mkdir -p $(@D)
$(RULER) $(RULER2_OPTS) --ag --ATTR --DATA --selrule="(3).(*).(*)" --wrapshuffle --base=$(AG_BASE) $< > $@
$(DRV_AG): $(DRV_CAG)
@mkdir -p $(@D)
$(SHUFFLE) --gen-reqm=$(SHUFFLE_FINAL) --plain --variant-order="$(SHUFFLE_ORDER)" --lhs2tex=no $< > $@
$(DRV_HS_MAIN): $(DRV_AG_MAIN) $(DRV_AG)
@mkdir -p $(@D)
$(AGC) -csdfr -P$(BUILD_PREFIX) $<
$(DRV_HS_UTILS): $(SRC_CHS_UTILS)
@mkdir -p $(@D)
$(SHUFFLE) --gen-reqm=$(SHUFFLE_FINAL) --hs --variant-order="$(SHUFFLE_ORDER)" --preamble=no --lhs2tex=no $< > $@
$(RULER_DEMO_EXEC): $(DRV_HS_MAIN) $(DRV_HS_UTILS)
@mkdir -p $(@D)
$(GHC) --make $(GHC_OPTS) -i$(BUILD_PREFIX) $(DRV_HS_MAIN) -o $@
# Cleaning up
clean:
@rm -rf $(BUILD_PREFIX)