1a5e6f553051f7647aeb3bc5fc15d33117908eb64Dan Brown.PHONY: all
2a5e6f553051f7647aeb3bc5fc15d33117908eb64Dan Brownall: bridge no-bridge
39d8f62afb2ace50bb950f1f847fe83e3981f9f64Dan Brown
4769f9feba842f4c31609b7b4d08de9c5427c45dfMichael ErnstJAVAC?=javac
5fc26be240a132ca0c24a4b68a00ed83696163ea6Michael Ernst
698d89efb33c9187999735d531ab56299e1051ccdMichael ErnstJAVACVERSION = $(shell $(JAVAC) -version 2>&1)
725000a5699ae5d3a85d4fce88de5377d43c00d5fMichael Ernstifeq (1.7.,$(findstring 1.7.,$(JAVACVERSION)))
825000a5699ae5d3a85d4fce88de5377d43c00d5fMichael Ernst  JAVACTARGET = -source 7 -target 7
925000a5699ae5d3a85d4fce88de5377d43c00d5fMichael Ernstendif
1098d89efb33c9187999735d531ab56299e1051ccdMichael Ernst
11a5e6f553051f7647aeb3bc5fc15d33117908eb64Dan Brown.PHONY: bridge
129bcffcea28993a19bd1012e4bf55f35afb0800f2Michael Ernst# Counting bridge methods, there should be 3 @A annotations.
13a5e6f553051f7647aeb3bc5fc15d33117908eb64Dan Brownbridge: C.class
14ccd6ca99dcc90e967dbdd89c282620f810b0594dMichael Ernst	CLASSPATH=.:${CLASSPATH} ../../../scripts/extract-annotations C.class
1598d89efb33c9187999735d531ab56299e1051ccdMichael Ernst# skip test if using javac 1.7, which doesn't copy annotations to bridge methods
169bcffcea28993a19bd1012e4bf55f35afb0800f2Michael Ernst	test 3 -eq `grep -c -w '@A' C.jaif` || (echo "Didn't find 3 '@A' in C.jaif:" && cat C.jaif && false)
17a5e6f553051f7647aeb3bc5fc15d33117908eb64Dan Brown
18a5e6f553051f7647aeb3bc5fc15d33117908eb64Dan Brown.PHONY: no-bridge
199bcffcea28993a19bd1012e4bf55f35afb0800f2Michael Ernst# Not counting bridge methods, there should be 2 @A annotations.
209bcffcea28993a19bd1012e4bf55f35afb0800f2Michael Ernst# -b ignores annotations on bridge methods
21a5e6f553051f7647aeb3bc5fc15d33117908eb64Dan Brownno-bridge: C.class
22ccd6ca99dcc90e967dbdd89c282620f810b0594dMichael Ernst	CLASSPATH=.:${CLASSPATH} ../../../scripts/extract-annotations -b C.class
239bcffcea28993a19bd1012e4bf55f35afb0800f2Michael Ernst	test 2 -eq `grep -c -w '@A' C.jaif` || (echo "Didn't find 2 '@A' in C.jaif:" && cat C.jaif && false)
249d8f62afb2ace50bb950f1f847fe83e3981f9f64Dan Brown
259d8f62afb2ace50bb950f1f847fe83e3981f9f64Dan BrownC.class: C.java
2625000a5699ae5d3a85d4fce88de5377d43c00d5fMichael Ernst	$(XJAVAC) -g $(JAVACTARGET) C.java
279d8f62afb2ace50bb950f1f847fe83e3981f9f64Dan Brown
289d8f62afb2ace50bb950f1f847fe83e3981f9f64Dan Brown.PHONY: clean
299d8f62afb2ace50bb950f1f847fe83e3981f9f64Dan Brownclean:
30a5e6f553051f7647aeb3bc5fc15d33117908eb64Dan Brown	rm -rf *.class C.jaif annotated out
319d8f62afb2ace50bb950f1f847fe83e3981f9f64Dan Brown
32