|
1 |
| -# Copyright (c) 2018, Oracle and/or its affiliates. |
| 1 | +# Copyright (c) 2018, 2019, Oracle and/or its affiliates. |
2 | 2 | #
|
3 | 3 | # The Universal Permissive License (UPL), Version 1.0
|
4 | 4 | #
|
|
36 | 36 | # SOFTWARE.
|
37 | 37 |
|
38 | 38 | QUIETLY$(MX_VERBOSE) = @
|
39 |
| -TARGETS=${OUTPUT_PATH}/Python3BaseVisitor.java \ |
40 |
| - ${OUTPUT_PATH}/Python3Listener.java \ |
41 |
| - ${OUTPUT_PATH}/Python3BaseListener.java \ |
42 |
| - ${OUTPUT_PATH}/Python3Visitor.java \ |
43 |
| - ${OUTPUT_PATH}/Python3Parser.java \ |
44 |
| - ${OUTPUT_PATH}/Python3Lexer.java |
| 39 | + |
| 40 | +# during clean, this isn't set |
| 41 | +PARSER_PATH ?= ../com.oracle.graal.python/src/com/oracle/graal/python/parser/antlr |
| 42 | + |
| 43 | +TARGETS=${PARSER_PATH}/Python3BaseVisitor.java \ |
| 44 | + ${PARSER_PATH}/Python3Listener.java \ |
| 45 | + ${PARSER_PATH}/Python3BaseListener.java \ |
| 46 | + ${PARSER_PATH}/Python3Visitor.java \ |
| 47 | + ${PARSER_PATH}/Python3Parser.java \ |
| 48 | + ${PARSER_PATH}/Python3Lexer.java |
45 | 49 |
|
46 | 50 | SOURCE=${PARSER_PATH}/Python3.g4
|
47 |
| -STAMP=${PARSER_PATH}/Python3.g4.stamp |
48 | 51 |
|
49 | 52 | .PHONY: default clean
|
50 |
| -default: ${STAMP} |
| 53 | +default: ${TARGETS} |
51 | 54 |
|
52 | 55 | # postprocessing to make source compile without warnings
|
53 | 56 | define postprocess_file
|
54 | 57 | python ${POSTPROCESSOR} $(1)
|
55 | 58 | endef
|
56 | 59 |
|
57 |
| -${STAMP}: ${SOURCE} |
58 |
| - $(QUIETLY) touch $@ |
59 |
| - $(QUIETLY) ${JAVA_HOME}/bin/java -cp ${ANTLR_JAR} org.antlr.v4.Tool -visitor -package ${PARSER_PKG} -o ${OUTPUT_PATH} ${SOURCE} |
60 |
| - $(foreach var,$(TARGETS),$(call postprocess_file,$(var));) |
| 60 | +${PARSER_PATH}/%.java: ${SOURCE} |
| 61 | + $(QUIETLY) ${JAVA_HOME}/bin/java -cp ${ANTLR_JAR} org.antlr.v4.Tool -visitor -package ${PARSER_PKG} -o ${PARSER_PATH} ${SOURCE} |
| 62 | + $(QUIETLY) $(call postprocess_file,$@) |
61 | 63 |
|
62 | 64 | clean:
|
63 |
| - rm -f ${TARGETS} |
| 65 | +ifeq ($(wildcard ${SOURCE}),) |
| 66 | + $(error ${SOURCE} is not in the location I expected it to be, not cleaning antlr parser) |
| 67 | +endif |
| 68 | + $(QUIETLY) rm -f ${TARGETS} |
0 commit comments