You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
1007 B

CWD = $(shell pwd)
DEPENDENCIES = $(CWD)/../../dependencies
LIB = $(CWD)/../lib/java
JSR_JAR = $(DEPENDENCIES)/java/jsr-305/jsr305.jar
ANNOT_SOURCES = $(shell find com/facebook/infer/annotation -name "*.java")
PROCESSOR_SOURCES = $(shell find com/facebook/infer/annotprocess -name "*.java")
ANNOT_CLASSES = 'annot_classes'
PROCESSOR_CLASSES = 'processor_classes'
ANNOTATIONS_JAR = $(CWD)/annotations.jar
PROCESSOR_JAR = $(LIB)/processor.jar
all: $(ANNOTATIONS_JAR) $(PROCESSOR_JAR)
$(ANNOTATIONS_JAR): $(ANNOT_SOURCES)
mkdir -p $(ANNOT_CLASSES)
javac -cp $(JSR_JAR) $(ANNOT_SOURCES) -d $(ANNOT_CLASSES)
cd $(ANNOT_CLASSES) && jar cvf $(ANNOTATIONS_JAR) com
$(PROCESSOR_JAR): $(PROCESSOR_SOURCES)
mkdir -p $(PROCESSOR_CLASSES)
javac $(PROCESSOR_SOURCES) -d $(PROCESSOR_CLASSES)
jar cvMf processor.jar -C resources META-INF -C $(PROCESSOR_CLASSES) com
mv processor.jar $(PROCESSOR_JAR)
clean:
rm -rf $(ANNOT_CLASSES)
rm -f $(ANNOTATIONS_JAR)
rm -rf $(PROCESSOR_CLASSES)
rm -f $(PROCESSOR_JAR)