blob: fa91a23f8390902ecf41c1591b9872be8fac3457 (
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
62
|
## 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)
#PROPERTY_FILE = ../data/property/unread_waveforms.pro
#PROPERTY_FILE = ../data/property/impossible_processes.pro
#PROPERTY_FILE = ../data/property/incrementer.pro
#PROPERTY_FILE = ../data/property/combinational_processes.pro
#PROPERTY_FILE = ../data/property/likely_a_clock.pro
PROPERTY_FILE = ../data/property/cnes/CNE*.pro
VAR_PREFIX = "_anon_"
## 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 ##############################################################
INPUT_FILES = $(MODEL_FILES) $(LEVEL_DIR) $(PROPERTY_FILE) $(MAP_FILES)
SOURCES = $(wildcard src/*.java parser/*.java)
GRAMMARS = $(wildcard parser/*.g4)
CLASSES = $(SOURCES:.java=.class)
## Makefile Rules ##############################################################
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
run: parser/PropertyParser.java $(CLASSES) $(REQUIRED_JARS)
$(MAKE) -C ../ast-to-instr
$(MAKE) -C ../cfg-to-paths
$(JAVA) -cp $(CLASSPATH) Main $(VAR_PREFIX) $(INPUT_FILES)
%.class: %.java $(REQUIRED_JARS)
$(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
|