Home | History | Annotate | Download | only in bridge
      1 .PHONY: all
      2 all: bridge no-bridge
      3 
      4 JAVAC?=javac
      5 
      6 JAVACVERSION = $(shell $(JAVAC) -version 2>&1)
      7 ifeq (1.7.,$(findstring 1.7.,$(JAVACVERSION)))
      8   JAVACTARGET = -source 7 -target 7
      9 endif
     10 
     11 .PHONY: bridge
     12 # Counting bridge methods, there should be 3 @A annotations.
     13 bridge: C.class
     14 	CLASSPATH=.:${CLASSPATH} ../../../scripts/extract-annotations C.class
     15 # skip test if using javac 1.7, which doesn't copy annotations to bridge methods
     16 	test 3 -eq `grep -c -w '@A' C.jaif` || (echo "Didn't find 3 '@A' in C.jaif:" && cat C.jaif && false)
     17 
     18 .PHONY: no-bridge
     19 # Not counting bridge methods, there should be 2 @A annotations.
     20 # -b ignores annotations on bridge methods
     21 no-bridge: C.class
     22 	CLASSPATH=.:${CLASSPATH} ../../../scripts/extract-annotations -b C.class
     23 	test 2 -eq `grep -c -w '@A' C.jaif` || (echo "Didn't find 2 '@A' in C.jaif:" && cat C.jaif && false)
     24 
     25 C.class: C.java
     26 	$(XJAVAC) -g $(JAVACTARGET) C.java
     27 
     28 .PHONY: clean
     29 clean:
     30 	rm -rf *.class C.jaif annotated out
     31 
     32