| summaryrefslogtreecommitdiff |
diff options
| -rw-r--r-- | Makefile | 36 | ||||
| -rw-r--r-- | ast-to-instr/Makefile | 16 | ||||
| -rw-r--r-- | instr-to-kodkod/Makefile | 25 | ||||
| -rw-r--r-- | instr-to-kodkod/cfg-to-paths/Makefile | 14 | ||||
| -rw-r--r-- | instr-to-kodkod/parser/Makefile | 10 | ||||
| -rw-r--r-- | sol-pretty-printer/Makefile | 19 |
6 files changed, 88 insertions, 32 deletions
@@ -16,20 +16,40 @@ PRETTY_PRINTER = sol-pretty-printer export -run: $(TMP_DIR) $(MODEL_DIR) $(SOL_DIR) - $(MAKE) -C $(AST_TO_INSTR) - $(MAKE) -C $(SOLVER) - $(MAKE) -C $(PRETTY_PRINTER) +all: $(TMP_DIR) $(MODEL_DIR) $(SOL_DIR) + $(MAKE) compile + $(MAKE) model + $(MAKE) solutions + +compile: + $(MAKE) -C $(AST_TO_INSTR) compile + $(MAKE) -C $(SOLVER) compile + $(MAKE) -C $(PRETTY_PRINTER) compile + +model: + $(MAKE) -C $(AST_TO_INSTR) model + $(MAKE) -C $(SOLVER) model + $(MAKE) -C $(PRETTY_PRINTER) model + +solutions: $(TMP_DIR) $(MODEL_DIR) $(SOL_DIR) + $(MAKE) -C $(AST_TO_INSTR) solutions + $(MAKE) -C $(SOLVER) solutions + $(MAKE) -C $(PRETTY_PRINTER) solutions clean: $(MAKE) -C $(AST_TO_INSTR) clean $(MAKE) -C $(SOLVER) clean $(MAKE) -C $(PRETTY_PRINTER) clean -build: - $(MAKE) -C $(AST_TO_INSTR) build - $(MAKE) -C $(SOLVER) build - $(MAKE) -C $(PRETTY_PRINTER) build +clean_model: + $(MAKE) -C $(AST_TO_INSTR) clean_model + $(MAKE) -C $(SOLVER) clean_model + $(MAKE) -C $(PRETTY_PRINTER) clean_model + +clean_solutions: + $(MAKE) -C $(AST_TO_INSTR) clean_solutions + $(MAKE) -C $(SOLVER) clean_solutions + $(MAKE) -C $(PRETTY_PRINTER) clean_solutions $(TMP_DIR): mkdir -p $@ diff --git a/ast-to-instr/Makefile b/ast-to-instr/Makefile index 50a953c..c8e9174 100644 --- a/ast-to-instr/Makefile +++ b/ast-to-instr/Makefile @@ -46,16 +46,26 @@ CLASSES = $(SOURCES:.java=.class) ## Makefile Rules ############################################################## -$(MODEL_DIR)/structural.mod: $(CLASSES) $(AST_FILE) - $(JAVA) -cp $(CLASSPATH) Main $(AST_FILE) $(MODEL_DIR) +compile: $(CLASSES) + +model: $(MODEL_DIR)/structural.mod -build: $(CLASSES) +solutions: $(MODEL_DIR)/structural.mod clean: rm -f $(CLASSES) rm -f $(MODEL_DIR)/*.mod rm -f $(MODEL_DIR)/*.map +clean_model: + rm -f $(MODEL_DIR)/*.mod + rm -f $(MODEL_DIR)/*.map + +clean_solutions: + +$(MODEL_DIR)/structural.mod: $(CLASSES) $(AST_FILE) + $(JAVA) -cp $(CLASSPATH) Main $(AST_FILE) $(MODEL_DIR) + %.class: %.java $(JAVAC) -cp $(CLASSPATH) $< diff --git a/instr-to-kodkod/Makefile b/instr-to-kodkod/Makefile index dcdada8..03e451a 100644 --- a/instr-to-kodkod/Makefile +++ b/instr-to-kodkod/Makefile @@ -101,16 +101,12 @@ PARSER_CLASSES = $(PARSER_SOURCES:.g4=.class) export ## Makefile Rules ############################################################## -run: cfg-generator $(PARSER_CLASSES) $(CLASSES) $(SOLUTION_FILES) +compile: $(PARSER_CLASSES) $(CLASSES) + $(MAKE) -C cfg-to-paths compile -build: $(PARSER_CLASSES) $(CLASSES) - $(MAKE) -C cfg-to-paths build +model: cfg-generator -cfg-generator: - $(MAKE) -C cfg-to-paths - -$(PARSER_CLASSES): antlr-4.7-complete.jar kodkod.jar $(PARSER_SOURCES) - $(MAKE) -C parser +solutions: cfg-generator $(PARSER_CLASSES) $(CLASSES) $(SOLUTION_FILES) clean: $(MAKE) -C parser clean @@ -118,6 +114,19 @@ clean: rm -f $(CLASSES) rm -f $(SOL_DIR)/*.sol +clean_model: + $(MAKE) -C cfg-to-paths clean_model + +clean_solutions: + rm -f $(SOL_DIR)/*.sol + +######## +cfg-generator: + $(MAKE) -C cfg-to-paths model + +$(PARSER_CLASSES): antlr-4.7-complete.jar kodkod.jar $(PARSER_SOURCES) + $(MAKE) -C parser + $(SOL_DIR)/%.sol: $(PROPERTY_FILES) $(MODEL_FILES) $(LEVEL_FILES) touch $@ $(JAVA) -cp $(CLASSPATH) Main $@ \ diff --git a/instr-to-kodkod/cfg-to-paths/Makefile b/instr-to-kodkod/cfg-to-paths/Makefile index 7971c84..1f6d6e2 100644 --- a/instr-to-kodkod/cfg-to-paths/Makefile +++ b/instr-to-kodkod/cfg-to-paths/Makefile @@ -49,10 +49,17 @@ PATH_MODEL_FILES = $(addprefix $(PATH_MODEL_DIR)/,$(notdir $(CFG_MODEL_FILES))) ## Makefile Rules ############################################################## -all: $(PATH_MODEL_DIR) $(PATH_MODEL_FILES) $(CLASSES) +compile: $(CLASSES) -build: $(CLASSES) +model: $(CLASSES) $(PATH_MODEL_DIR) $(PATH_MODEL_FILES) +clean: + rm -f $(CLASSES) + rm -f $(PATH_MODEL_DIR)/*.mod + +clean_model: + rm -f $(PATH_MODEL_DIR)/*.mod +######## %.class: %.java $(JAVAC) -cp $(CLASSPATH) $< @@ -63,6 +70,3 @@ $(PATH_MODEL_DIR)/%: $(MODEL_DIR)/% $(CLASSES) $(PATH_MODEL_DIR): mkdir -p $(PATH_MODEL_DIR) -clean: - rm -f $(CLASSES) - rm -f $(PATH_MODEL_DIR)/*.mod diff --git a/instr-to-kodkod/parser/Makefile b/instr-to-kodkod/parser/Makefile index d26baf4..c3958e0 100644 --- a/instr-to-kodkod/parser/Makefile +++ b/instr-to-kodkod/parser/Makefile @@ -45,19 +45,21 @@ ifeq ($(strip $(JAVAC)),) $(error No Java compiler defined as parameter.) endif -################################################################################ +## Makefile Magic ############################################################## ANTLR_SOURCES = $(wildcard *.g4) JAVA_SOURCES = $(ANTLR_SOURCES:.g4=.java) CLASSES = $(JAVA_SOURCES:.java=.class) CLASSPATH = ".:$(MAIN_PROGRAM_SRC):$(KODKOD_JAR):$(ANTLR_JAR)" -build: $(CLASSES) - -PropertyParser.java: PropertyLexer.g4 PropertyParser.g4 +## Makefile Rules ############################################################## +compile: $(CLASSES) clean: rm -f *.java *.class *.tokens +######## +PropertyParser.java: PropertyLexer.g4 PropertyParser.g4 + # Pattern rules can be used to generate multiple target in a single action. PropertyLexer%java PropertyParser%java: $(ANTLR_SOURCES) $(JAVA) -jar $(ANTLR_JAR) $^ diff --git a/sol-pretty-printer/Makefile b/sol-pretty-printer/Makefile index 592bd84..9dd1ee9 100644 --- a/sol-pretty-printer/Makefile +++ b/sol-pretty-printer/Makefile @@ -58,13 +58,24 @@ PROPERTY_PP_FILES = $(PROPERTY_FILES:.pro=.pp) SOLUTION_PP_PAIRS = \ $(foreach sf,$(SOLUTION_FILES),$(sf) $(filter %$(basename $(notdir $(sf))).pp,$(PROPERTY_PP_FILES))) -run: $(SOLUTION_PP_PAIRS) $(MODEL_DIR)/structural.mod $(MODEL_DIR)/string_to_instr.map $(CLASSES) +## Makefile Rules ############################################################## +compile: $(CLASSES) + +model: + +solutions: $(SOLUTION_PP_PAIRS) $(MODEL_DIR)/structural.mod $(MODEL_DIR)/string_to_instr.map $(CLASSES) $(JAVA) -cp $(CLASSPATH) Main $(MODEL_DIR)/structural.mod $(MODEL_DIR)/string_to_instr.map $(SOLUTION_PP_PAIRS) -build: $(CLASSES) +clean: + rm -f $(CLASSES) + rm -f $(SOL_DIR)/*.sol + +clean_model: + +clean_solutions: + rm -f $(SOL_DIR)/*.sol +######## %.class: %.java $(JAVAC) -cp $(CLASSPATH) $< -clean: - rm -f $(CLASSES) |


