Fix makefile (default target Java version removed) + update TODO list
[jvcard.git] / Makefile
CommitLineData
dc2075d6
NR
1###
2### You can use this Makefile to generate an executable JAR file
3### The available options are:
71ac69a0 4### - make: will create the JAR file (must be compiled before)
dc2075d6
NR
5### - make bin/5 && make: will create a Java 1.5 JAR
6### - make bin/6 && make: will create a Java 1.6 JAR
7### - make bin/7 && make: will create a Java 1.7 JAR
8### - make bin/8 && make: will create a Java 1.8 JAR
9### - make clean: will clean temporary files
10### - make mrpropre: will clean temporary files and remove the JAR file
11
203ace76
NR
12ALL: jvcard.jar
13
71ac69a0
NR
14bin/bin: bin/be/nikiroo/jvcard/launcher/Main.class src/be/nikiroo/jvcard/*/* src/be/nikiroo/jvcard/*
15 @echo You need to compile the code first:
16 @echo " make bin/5: will compile in Java 1.5 target mode"
17 @echo " make bin/6: will compile in Java 1.6 target mode"
18 @echo " make bin/7: will compile in Java 1.7 target mode"
19 @echo " make bin/8: will compile in Java 1.8 target mode"
20 @false
152ba78f 21
dc2075d6
NR
22.PHONY: ALL clean mrproper mrpropre love
23
24love:
25 @echo ...not war?
26
27clean:
28 @echo Cleaning files...
71ac69a0 29 @rm -f bin/[0-9] bin/bin bin/files bin/lanterna
dc2075d6
NR
30
31mrproper: mrpropre
32
33mrpropre: clean
34 @echo Removing jar files...
6435013a 35 @rm -f jvcard.jar jvcard-`grep "APPLICATION_VERSION" src/be/nikiroo/jvcard/launcher/Main.java | head -n1 | cut -d'"' -f2`.jar
dc2075d6 36
71ac69a0 37jvcard.jar: bin/bin
dc2075d6
NR
38 @echo 'Main-Class: be.nikiroo.jvcard.launcher.Main' > bin/manifest
39 @echo >> bin/manifest
6435013a 40 @echo Creating jar file jvcard-`grep "APPLICATION_VERSION" src/be/nikiroo/jvcard/launcher/Main.java | head -n1 | cut -d'"' -f2`.jar...
71fa2aac 41 jar cfm jvcard-`grep "APPLICATION_VERSION" src/be/nikiroo/jvcard/launcher/Main.java | head -n1 | cut -d'"' -f2`.jar bin/manifest -C bin/ be -C bin/ com -C bin/ default-theme.properties -C bin/ multilang
dc2075d6
NR
42 @rm bin/manifest
43 @echo Copying to jvcard.jar...
6435013a 44 @cp jvcard-`grep "APPLICATION_VERSION" src/be/nikiroo/jvcard/launcher/Main.java | head -n1 | cut -d'"' -f2`.jar jvcard.jar
152ba78f 45
203ace76
NR
46bin/5: bin/lanterna bin/files
47 @cp -r src/* bin/
dc2075d6 48 @echo Compiling in Java 1.5 mode "('make bin/5')"...
50f45fac 49 javac -cp bin/ -encoding UTF-8 -Xlint -Xlint:-options -source 5 -target 5 @bin/files -d bin/
dc2075d6
NR
50 @rm -f bin/[0-9]
51 @touch bin/5
71ac69a0 52 @touch bin/bin
152ba78f 53
203ace76
NR
54bin/6: bin/lanterna bin/files
55 @cp -r src/* bin/
dc2075d6 56 @echo Compiling in Java 1.6 mode "('make bin/6')"...
50f45fac 57 javac -cp bin/ -encoding UTF-8 -Xlint -Xlint:-options -source 6 -target 6 @bin/files -d bin/
dc2075d6
NR
58 @rm -f bin/[0-9]
59 @touch bin/6
71ac69a0 60 @touch bin/bin
152ba78f 61
203ace76
NR
62bin/7: bin/lanterna bin/files
63 @cp -r src/* bin/
dc2075d6 64 @echo Compiling in Java 1.7 mode "('make bin/7')"...
50f45fac 65 javac -cp bin/ -encoding UTF-8 -Xlint -Xlint:-options -source 7 -target 7 @bin/files -d bin/
dc2075d6
NR
66 @rm -f bin/[0-9]
67 @touch bin/7
71ac69a0 68 @touch bin/bin
dc2075d6 69
203ace76
NR
70bin/8: bin/lanterna bin/files
71 @cp -r src/* bin/
dc2075d6 72 @echo Compiling in Java 1.8 mode "('make bin/8')"...
50f45fac 73 javac -cp bin/ -encoding UTF-8 -Xlint -Xlint:-options -source 8 -target 8 @bin/files -d bin/
dc2075d6
NR
74 @rm -f bin/[0-9]
75 @touch bin/8
71ac69a0 76 @touch bin/bin
152ba78f 77
51498432
NR
78bin/files: src/be/nikiroo/jvcard/*/* src/be/nikiroo/jvcard/*
79 @mkdir -p bin/
80 @find src/be/ -name '*.java' > bin/files
152ba78f 81
ed91f27a 82bin/lanterna: src/resources/* src/com/googlecode/lanterna/* src/com/googlecode/lanterna/*/* src/com/googlecode/lanterna/*/*/*
51498432 83 @mkdir -p bin/
dc2075d6 84 @find src/com/ -name '*.java' > bin/lanterna
ed91f27a 85 cp -r src/resources/* bin/
203ace76 86 javac -encoding UTF-8 -source 5 @bin/lanterna -d bin/ || rm bin/lanterna
dc2075d6 87 @test -e bin/lanterna
152ba78f 88