Makefiles: add pre-build
[nit.git] / contrib / jwrapper / Makefile
1 all: bin/jwrapper
2
3 pre-build: src/javap_test_parser.nit src/serial.nit
4
5 ../nitcc/src/nitcc:
6 make -C ../nitcc
7
8 src/javap_test_parser.nit: ../nitcc/src/nitcc grammar/javap.sablecc
9 ../nitcc/src/nitcc grammar/javap.sablecc
10 mkdir -p src gen
11 mv javap_*.nit src/
12 mv javap* gen/
13
14 src/serial.nit: $(shell ../../bin/nitls -M src/jwrapper.nit)
15 ../../bin/nitserial -o src/serial.nit -d package src/jwrapper.nit
16
17 bin/jwrapper: src/javap_test_parser.nit src/serial.nit $(shell ../../bin/nitls -M src/jwrapper.nit) ../../bin/nitc
18 mkdir -p bin
19 ../../bin/nitc src/jwrapper.nit -o bin/jwrapper -m src/serial.nit
20
21 clean:
22 rm -f bin/javap_test_parser bin/jwrapper
23 rm -f gen/*
24 rm src/javap_lexer.nit src/javap_parser.nit src/javap_test_parser.nit
25
26 check: bin/jwrapper tests/wildcards.javap
27 mkdir -p tmp
28 bin/jwrapper -v -u stub -o tests/statics.nit tests/statics.javap
29 ../../bin/nitpick -q tests/statics.nit
30 bin/jwrapper -v -u comment -o tests/generics.nit tests/generics.javap
31 ../../bin/nitpick -q tests/generics.nit
32 bin/jwrapper -v -u comment -o tests/long.nit tests/long.javap
33 ../../bin/nitpick -q tests/long.nit
34 bin/jwrapper -v -u comment -o tests/inits.nit tests/inits.javap
35 ../../bin/nitpick -q tests/inits.nit
36 bin/jwrapper -v -u comment -o tests/testjvm.nit tests/testjvm.javap
37 ../../bin/nitpick -q tests/testjvm.nit
38 bin/jwrapper -v -u comment -o tests/many.nit tests/many.javap
39 ../../bin/nitpick -q tests/many.nit
40 bin/jwrapper -v -u comment -o tests/wildcards.nit tests/wildcards.javap
41 ../../bin/nitpick -q tests/wildcards.nit
42 make -C examples/queue/ check
43 make -C examples/java_api/ check
44
45 check-libs: bin/jwrapper
46 # This config dependent rule must be tweaked according to each system
47
48 # The full local Java standard library
49 bin/jwrapper -v -u comment -o tests/rt_full.nit /usr/lib/jvm/default-java/jre/lib/rt.jar
50 echo "+ Disabled functions: `grep '# fun' tests/rt_full.nit | wc -l` / `grep '^ fun' tests/rt_full.nit | wc -l`"
51 nitpick tests/rt_full.nit
52
53 # Only the `java` namespace of the standard library to avoid conflicts with other libs
54 bin/jwrapper -v -u comment -o tests/rt.nit /usr/lib/jvm/default-java/jre/lib/rt.jar -r ^java
55 echo "+ Disabled functions: `grep '# fun' tests/rt.nit | wc -l` / `grep '^ fun' tests/rt.nit | wc -l`"
56 nitpick tests/rt.nit
57
58 # tools.jar, not using the standard library because of conflicts on sun.tools.jar.*
59 bin/jwrapper -v -u comment -o tests/java_tools.nit /usr/lib/jvm/default-java/lib/tools.jar -i tests/rt.nit
60 sed -i -e "s/import java/import java\nimport rt/" tests/java_tools.nit
61 echo "+ Disabled functions: `grep '# fun' tests/java_tools.nit | wc -l` / `grep '^ fun' tests/java_tools.nit | wc -l`"
62 nitpick tests/java_tools.nit
63
64 # SableCC using the standard Java library
65 bin/jwrapper -v -u comment -o tests/sablecc.nit ~/apps/sablecc-3-beta.3.altgen.20041114/lib/sablecc.jar -i tests/rt.nit
66 sed -i -e "s/import java/import java\nimport rt/" tests/sablecc.nit
67 echo "+ Disabled functions: `grep '# fun' tests/sablecc.nit | wc -l` / `grep '^ fun' tests/sablecc.nit | wc -l`"
68 nitpick tests/sablecc.nit
69
70 make -C examples/android_api/ check