summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile36
-rw-r--r--ast-to-instr/Makefile16
-rw-r--r--instr-to-kodkod/Makefile25
-rw-r--r--instr-to-kodkod/cfg-to-paths/Makefile14
-rw-r--r--instr-to-kodkod/parser/Makefile10
-rw-r--r--sol-pretty-printer/Makefile19
6 files changed, 88 insertions, 32 deletions
diff --git a/Makefile b/Makefile
index dedb0e3..24f37d4 100644
--- a/Makefile
+++ b/Makefile
@@ -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)