unbreak broken fix
[org.ibex.crypto.git] / Makefile
1 JAVAC = javac
2 sources = $(shell find src -name '*.java')
3 classes = $(sources:src/%.java=build/%.class)
4 dats = org/ibex/net/ssl/rootcerts.dat
5 cacertificates_version = 20050518
6
7 jar_sources = \
8         $(shell find src/org/ibex/crypto -name '*.java') \
9         src/org/ibex/net/SSL.java \
10         src/org/ibex/net/ssl/RootCerts.java
11 jar_classes = $(jar_sources:src/%.java=build/%.class)
12 jar = BriSSL.jar
13
14 all: $(classes) $(dats:%=build/%)
15
16 $(classes): $(sources)
17         @mkdir -p build
18         $(JAVAC) -d build $(sources)
19
20 build/%.dat: src/%.dat
21         @mkdir -p `dirname $@`
22         cp $^ $@
23                 
24 $(jar): $(classes) 
25         cd build && jar cf ../$@  $(jar_classes:build/%.class=%*.class)
26         
27 test: all
28         java -cp build org.ibex.net.ssl.Test ssl.brianweb.net 443
29
30 check: all
31         java -cp build org.ibex.net.ssl.Test check
32
33 clean: 
34         rm -rf build/*
35
36 # This stuff is only for Brian to use 
37 # We should probably verify this file somehow
38 tmp/.havecacerts:
39         @mkdir -p tmp
40         wget -O - http://ftp.debian.org/debian/pool/main/c/ca-certificates/ca-certificates_$(cacertificates_version).tar.gz | gzip -dc | tar -C tmp -xf-
41         cd tmp/ca-certificates-$(cacertificates_version)/mozilla && \
42                 make all; \
43                 for f in *.crt; do \
44                         openssl x509 -in "$$f" -out "$$f.der" -outform der; \
45                 done
46         touch $@
47
48 tmp/.havebouncycastle:
49         @mkdir -p tmp
50         test -d tmp/lcrypto-jdk11-128 || wget -O - http://www.bouncycastle.org/download/lcrypto-jdk11-128.tar.gz | gzip -dc | tar -C tmp -xf -
51         javac -d build $(shell find tmp/lcrypto-jdk11-128/src -name '*.java' ! -path '*/test/*')
52         touch $@
53
54 build/GenCompactCAList.class: tools/GenCompactCAList.java tmp/.havebouncycastle
55         javac -classpath build -d build $<
56
57 update-rootcerts: tmp/.havecacerts build/GenCompactCAList.class
58         java -cp build GenCompactCAList binary tmp/ca-certificates-$(cacertificates_version)/mozilla/*.der > src/org/ibex/net/ssl/rootcerts.dat 
59         java -cp build GenCompactCAList class tmp/ca-certificates-$(cacertificates_version)/mozilla/*.der > src/org/ibex/net/ssl/RootCerts.java
60
61 sizecheck:
62         @for c in $(jar_classes); do \
63                 for f in `echo $$c|sed 's,\.class$$,,;'`*.class; do gzip -c $$f; done | wc -c | tr -d '\n'; \
64                 echo -e "\t`echo $$c | sed 's,build/org/ibex,,;s,\.class$$,,;s,/,.,g;'`"; \
65         done | sort -rn | awk '{ sum += $$1; print }  END { print sum,"Total"; }'