blob: 5d81814d8b6070b5bc8d20acf6293ee2b9e7a6a5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
## Target(s) Configuration #####################################################
#MODEL_FILES = $(wildcard ../data/instructions/*.mod)
MODEL_FILES = \
../ast-to-instr/structural.mod \
../ast-to-instr/depths.mod \
$(wildcard ../ast-to-instr/cfg_*.mod) \
$(wildcard ../cfg-to-paths/*.mod)
MAP_FILES = $(wildcard ../ast-to-instr/*.map)
LEVEL_DIR = $(wildcard ../data/level/*.lvl)
PROPERTIES = \
../data/property/cnes/CNE_01700.pro
## Executables #################################################################
JAVAC = javac
JAVA = java
DOWNLOADER = wget
## Java Config #################################################################
CLASSPATH = "kodkod.jar:./src/:./parser/:org.sat4j.core.jar:antlr-4.7-complete.jar"
## Dependencies ################################################################
JAR_SOURCE = https://noot-noot.org/onera_2017/jar/
REQUIRED_JARS = kodkod.jar org.sat4j.core.jar antlr-4.7-complete.jar
## Makefile Magic ##############################################################
GLOBAL_INPUT_FILES = $(MODEL_FILES) $(LEVEL_DIR) $(MAP_FILES)
SOURCES = $(wildcard src/*.java parser/*.java)
GRAMMARS = $(wildcard parser/*.g4)
CLASSES = $(SOURCES:.java=.class)
SOLUTIONS = $(PROPERTIES:.pro=.sol)
## Makefile Rules ##############################################################
run: $(SOLUTIONS)
all: parser/PropertyParser.java $(CLASSES)
$(MAKE) -C parser
$(MAKE) -C ../ast-to-instr
$(MAKE) -C ../cfg-to-paths
clean:
rm -f $(CLASSES)
$(MAKE) -C parser clean
$(MAKE) -C ../ast-to-instr clean
$(MAKE) -C ../cfg-to-paths clean
%.sol: %.pro parser/PropertyParser.java $(CLASSES) $(REQUIRED_JARS)
echo "Solving \"$<\"..."
$(MAKE) -C ../ast-to-instr
$(MAKE) -C ../cfg-to-paths
$(JAVA) -cp $(CLASSPATH) Main $@ $< $(GLOBAL_INPUT_FILES) -v
%.class: %.java $(REQUIRED_JARS) parser/PropertyParser.java
$(JAVAC) -cp $(CLASSPATH) $<
%.jar:
echo "Attempting to download missing jar '$@'"
$(DOWNLOADER) "$(JAR_SOURCE)/$@"
parser/PropertyParser.java: antlr-4.7-complete.jar $(GRAMMAR)
$(MAKE) -C parser
|