JAVAC = javac sources = $(shell find src -name '*.java') classes = $(sources:src/%.java=build/%.class) dats = org/ibex/net/ssl/rootcerts.dat jar_sources = \ $(shell find src/org/ibex/crypto -name '*.java') \ src/org/ibex/net/SSL.java \ src/org/ibex/net/ssl/RootCerts.java jar_classes = $(jar_sources:src/%.java=build/%.class) jar = BriSSL.jar all: $(classes) $(dats:%=build/%) $(classes): $(sources) @mkdir -p build $(JAVAC) -d build $(sources) build/%.dat: src/%.dat @mkdir -p `dirname $@` cp $^ $@ $(jar): $(classes) cd build && jar cf ../$@ $(jar_classes:build/%.class=%*.class) test: all java -cp build org.ibex.net.ssl.Test www.paypal.com 443 clean: rm -rf build/* # This stuff is only for Brian to use # We should probably verify this file somehow tmp/.havecacertrs: @mkdir -p tmp wget -O - http://ftp.debian.org/debian/pool/main/c/ca-certificates/ca-certificates_20020323.tar.gz | gzip -dc | tar -C tmp -xf- cd tmp/ca-certificates/mozilla && \ make all \ for f in *.pem; do \ openssl x509 -in "$$f" -out "$$f.der" -outform der; \ done touch $@ update-rootcerts: tmp/.havecacerts src/org/ibex/net/ssl/GenCompactCAList.java java -cp build org.ibex.net.ssl.GenCompactCAList binary tmp/ca-certificates/mozilla/*.der > src/org/ibex/net/ssl/rootcerts.dat java -cp build org.ibex.net.ssl.GenCompactCAList class tmp/ca-certificates/mozilla/*.der > src/org/ibex/net/ssl/RootCerts.java sizecheck: @for c in $(jar_classes); do \ for f in `echo $$c|sed 's,\.class$$,,;'`*.class; do gzip -c $$f; done | wc -c | tr -d '\n'; \ echo -e "\t`echo $$c | sed 's,build/org/ibex,,;s,\.class$$,,;s,/,.,g;'`"; \ done | sort -rn | awk '{ sum += $$1; print } END { print sum,"Total"; }'