-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
70 lines (53 loc) · 1.78 KB
/
Makefile
File metadata and controls
70 lines (53 loc) · 1.78 KB
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
63
64
65
66
67
68
69
70
## Voici un Makefile
## Pour plus d'information sut un Makefile voir
## https://makefiletutorial.com/
INSTALLDIR=out/production/TP1
MAINCLASS=Main
#MAINCLASS=TestTryCatch
JARFILE=2SAT
JDKBIN=$(shell dirname `which java`)
#JDKBIN=/usr/bin
#JDKBIN=/usr/local/opt/openjdk/bin
#ECLIPSE_LOC=/Applications/Eclipse\ Java.app
#JDKBIN=$(ECLIPSE_LOC)/Contents/Eclipse/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.macosx.x86_64_16.0.2.v20210721-1149/jre/bin
ECLIPSE_LOC=/opt/eclipse-jee-2021-03
#JDKBIN=$(ECLIPSE_LOC)/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.linux.x86_64_15.0.2.v20210201-0955/jre/bin
JAVAC=$(JDKBIN)/javac
JAR=$(JDKBIN)/jar
JAVA=$(JDKBIN)/java
all: compile jar execjar
# Cible (target, en anglais) pour compiler
compile:
cd src ; make JAVAC="$(JAVAC)" INSTALLDIR="$(INSTALLDIR)" MAINCLASS="$(MAINCLASS)" compile
install:
cd src ; make install
jar: compile
cd $(INSTALLDIR); \
echo Main-Class: $(subst /,.,$(MAINCLASS)) > manifest.txt ; \
$(JAR) cvfm $(JARFILE).jar manifest.txt ./
mv $(INSTALLDIR)/$(JARFILE).jar ./
clean:
cd src ; make clean ; make INSTALLDIR="$(INSTALLDIR)" cleanInstall
rm *.zip *.jar manifest.*
# Cible pour executer
exec:
$(JAVA) -classpath $(INSTALLDIR) $(MAINCLASS)
execjar: $(JARFILE).jar
$(JAVA) -jar $(JARFILE).jar
version:
$(JAVA) --version
# Executer automatiquent les test
test: #compile jar
for file in `ls formulas/testSet0/*`; do \
$(JAVA) -jar $(JARFILE).jar $$file ; done ; \
for file in `ls formulas/testSet1/*`; do \
$(JAVA) -jar $(JARFILE).jar $$file ; done \
testIntoResults:
make test > results.txt
# Cible pour créer son rendu de tp
zip:
moi=$$(whoami) ; zip -r $${moi}_renduTP1.zip *
# Cible pour vérifier le contenu de son rendu de tp
zipVerify:
moi=$$(whoami) ; unzip -l $${moi}_renduTP1.zip
# LocalWords: SAT