| summaryrefslogtreecommitdiff |
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-08-03 16:02:19 +0200 |
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-08-03 16:02:19 +0200 |
| commit | b16812434d54a9d7480564cbf4f299168ca6a1a1 (patch) | |
| tree | f923ee4b4705bb792f15be6304eee2f108160593 | |
| parent | 90bb7e959496c3a12bebe055f6344b9f06f22809 (diff) | |
The Makefile of instr-to-kodkod's parser is done.
| -rw-r--r-- | instr-to-kodkod/Makefile | 2 | ||||
| -rw-r--r-- | instr-to-kodkod/parser/Makefile | 64 |
2 files changed, 62 insertions, 4 deletions
diff --git a/instr-to-kodkod/Makefile b/instr-to-kodkod/Makefile index 815c527..45c752a 100644 --- a/instr-to-kodkod/Makefile +++ b/instr-to-kodkod/Makefile @@ -101,7 +101,7 @@ run: cfg-generator parser $(SOLUTION_FILES) cfg-generator: $(MAKE) -C cfg-to-paths -parser: antlr-4.7-complete.jar +parser: antlr-4.7-complete.jar kodkod.jar $(MAKE) -C parser clean: diff --git a/instr-to-kodkod/parser/Makefile b/instr-to-kodkod/parser/Makefile index 8f36479..bcc216a 100644 --- a/instr-to-kodkod/parser/Makefile +++ b/instr-to-kodkod/parser/Makefile @@ -1,8 +1,66 @@ +## Parameters ################################################################## +#### ANTLR's Jar +ifndef ANTLR_JAR +ANTLR_JAR = ../antlr-4.7-complete.jar +endif + +#### KODKOD's Jar +ifndef KODKOD_JAR +KODKOD_JAR = ../kodkod.jar +endif + +#### Main program's sources +ifndef MAIN_PROGRAM_SRC +MAIN_PROGRAM_SRC = ../src/ +endif + +#### JRE binary +ifndef JAVA +JAVA = java +endif + +#### JDK binary +ifndef JAVAC +JAVAC = javac +endif + +## Parameters Sanity Check ##################################################### +ifeq ($(strip $(ANTLR_JAR)),) +$(error No ANTLR_JAR defined as parameter.) +endif + +ifeq ($(strip $(KODKOD_JAR)),) +$(error No ANTLR_JAR defined as parameter.) +endif + +ifeq ($(strip $(MAIN_PROGRAM_SRC)),) +$(error No MAIN_PROGRAM_SRC defined as parameter.) +endif + +ifeq ($(strip $(JAVA)),) +$(error No Java executable defined as parameter.) +endif + +ifeq ($(strip $(JAVAC)),) +$(error No Java compiler defined as parameter.) +endif + +################################################################################ +ANTLR_SOURCES = $(wildcard *.g4) +JAVA_SOURCES = $(ANTLR_SOURCES:.g4=.java) +CLASSES = $(JAVA_SOURCES:.java=.class) +CLASSPATH = ".:$(MAIN_PROGRAM_SRC):$(KODKOD_JAR):$(ANTLR_JAR)" + +compile: $(CLASSES) + PropertyParser.java: PropertyLexer.g4 PropertyParser.g4 - java -jar ../antlr-4.7-complete.jar PropertyLexer.g4 PropertyParser.g4 clean: rm -f *.java *.class *.tokens -#test_run: -# java -cp ".:../antlr-4.7-complete.jar" org.antlr.v4.gui.TestRig Property prog -gui +# Pattern rules can be used to generate multiple target in a single action. +PropertyLexer%java PropertyParser%java: $(ANTLR_SOURCES) + $(JAVA) -jar $(ANTLR_JAR) $^ + +%.class: %.java + $(JAVAC) -cp $(CLASSPATH) $< |


