From 10e7fc528c0a767da2f7b8447b6c62d017adaf54 Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Wed, 16 Aug 2017 11:17:59 +0200 Subject: Fixes Makefiles so they can run parallel jobs. --- instr-to-kodkod/Makefile | 25 +++++++++++++++++-------- instr-to-kodkod/cfg-to-paths/Makefile | 14 +++++++++----- instr-to-kodkod/parser/Makefile | 10 ++++++---- 3 files changed, 32 insertions(+), 17 deletions(-) (limited to 'instr-to-kodkod') 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) $^ -- cgit v1.2.3-70-g09d2