-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
32 lines (21 loc) · 1.04 KB
/
Makefile
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
#################################################
JAVA_FILES = $(shell /usr/bin/find src -name *.java)
CLASS_FILES = $(JAVA_FILES:%.java=%.class)
DATA_FILES = $(shell /usr/bin/find src -name *.dat)
COMPILED_CLASS_FILES = $(shell /usr/bin/find src -name *.class | sed s/\\$$/\\o052/)
#
default:
echo "Please specify 'classes' or 'jars'"
classes: $(CLASS_FILES)
jars: TopSPIN.jar TopSPINTests.jar LazySpinAnalysis.jar
TopSPIN.jar: $(CLASS_FILES)
jar cmf manifest.txt $@ $(COMPILED_CLASS_FILES) $(DATA_FILES) && echo "TopSPIN.jar built successfully."
TopSPINTests.jar: $(CLASS_FILES)
jar cmf tests_manifest.txt $@ $(COMPILED_CLASS_FILES) $(DATA_FILES) && echo "TopSPINTests.jar built successfully."
LazySpinAnalysis.jar: $(CLASS_FILES)
jar cmf lazyspin_manifest.txt $@ $(COMPILED_CLASS_FILES) $(DATA_FILES) && echo "LazySpinAnalysis.jar built successfully."
%.class: %.java
javac $<
clean:
@rm -f $(COMPILED_CLASS_FILES) TopSPIN.jar TopSPINTests.jar LazySpinAnalysis.jar
#################################################