Makefile: fix error at first "make"
[jvcard.git] / Makefile
CommitLineData
dc2075d6
NR
1###
2### You can use this Makefile to generate an executable JAR file
3### The available options are:
4### - make: will create the default (or currently compiled) JAR
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
14# Default: Java 1.5
15bin/be/nikiroo/jvcard/launcher/Main.class: bin/5
152ba78f 16
dc2075d6
NR
17.PHONY: ALL clean mrproper mrpropre love
18
19love:
20 @echo ...not war?
21
22clean:
23 @echo Cleaning files...
24 @rm -f bin/[0-9] bin/files bin/lanterna
25
26mrproper: mrpropre
27
28mrpropre: clean
29 @echo Removing jar files...
30 @rm -f jvcard.jar jvcard-`grep "APPLICATION_VERSION" src/be/nikiroo/jvcard/launcher/Main.java | cut -d'"' -f2`.jar
31
203ace76 32jvcard.jar: bin/be/nikiroo/jvcard/launcher/Main.class src/be/nikiroo/jvcard/*/* src/be/nikiroo/jvcard/*
51498432 33 @mkdir -p bin/
dc2075d6
NR
34 @echo 'Main-Class: be.nikiroo.jvcard.launcher.Main' > bin/manifest
35 @echo >> bin/manifest
36 @echo Creating jar file jvcard-`grep "APPLICATION_VERSION" src/be/nikiroo/jvcard/launcher/Main.java | cut -d'"' -f2`.jar...
b9f591f8 37 jar cfm jvcard-`grep "APPLICATION_VERSION" src/be/nikiroo/jvcard/launcher/Main.java | cut -d'"' -f2`.jar bin/manifest -C bin/ be -C bin/ com
dc2075d6
NR
38 @rm bin/manifest
39 @echo Copying to jvcard.jar...
40 @cp jvcard-`grep "APPLICATION_VERSION" src/be/nikiroo/jvcard/launcher/Main.java | cut -d'"' -f2`.jar jvcard.jar
152ba78f 41
203ace76
NR
42bin/5: bin/lanterna bin/files
43 @cp -r src/* bin/
dc2075d6 44 @echo Compiling in Java 1.5 mode "('make bin/5')"...
50f45fac 45 javac -cp bin/ -encoding UTF-8 -Xlint -Xlint:-options -source 5 -target 5 @bin/files -d bin/
dc2075d6
NR
46 @rm -f bin/[0-9]
47 @touch bin/5
152ba78f 48
203ace76
NR
49bin/6: bin/lanterna bin/files
50 @cp -r src/* bin/
dc2075d6 51 @echo Compiling in Java 1.6 mode "('make bin/6')"...
50f45fac 52 javac -cp bin/ -encoding UTF-8 -Xlint -Xlint:-options -source 6 -target 6 @bin/files -d bin/
dc2075d6
NR
53 @rm -f bin/[0-9]
54 @touch bin/6
152ba78f 55
203ace76
NR
56bin/7: bin/lanterna bin/files
57 @cp -r src/* bin/
dc2075d6 58 @echo Compiling in Java 1.7 mode "('make bin/7')"...
50f45fac 59 javac -cp bin/ -encoding UTF-8 -Xlint -Xlint:-options -source 7 -target 7 @bin/files -d bin/
dc2075d6
NR
60 @rm -f bin/[0-9]
61 @touch bin/7
62
203ace76
NR
63bin/8: bin/lanterna bin/files
64 @cp -r src/* bin/
dc2075d6 65 @echo Compiling in Java 1.8 mode "('make bin/8')"...
50f45fac 66 javac -cp bin/ -encoding UTF-8 -Xlint -Xlint:-options -source 8 -target 8 @bin/files -d bin/
dc2075d6
NR
67 @rm -f bin/[0-9]
68 @touch bin/8
152ba78f 69
51498432
NR
70bin/files: src/be/nikiroo/jvcard/*/* src/be/nikiroo/jvcard/*
71 @mkdir -p bin/
72 @find src/be/ -name '*.java' > bin/files
152ba78f 73
dc2075d6 74bin/lanterna:
51498432 75 @mkdir -p bin/
dc2075d6 76 @find src/com/ -name '*.java' > bin/lanterna
203ace76 77 javac -encoding UTF-8 -source 5 @bin/lanterna -d bin/ || rm bin/lanterna
dc2075d6 78 @test -e bin/lanterna
152ba78f 79