|
1 | 1 | # where py object files go (they have a name prefix to prevent filename clashes) |
2 | 2 | PY_BUILD = $(BUILD)/py |
3 | 3 |
|
4 | | -# file containing qstr defs for the core Python bit |
| 4 | +# where autogenerated header files go |
| 5 | +HEADER_BUILD = $(BUILD)/includes/build |
| 6 | + |
| 7 | +# where autogenerated py header files go |
| 8 | +HEADER_PY_BUILD = $(HEADER_BUILD)/py |
5 | 9 |
|
| 10 | +# file containing qstr defs for the core Python bit |
6 | 11 | PY_QSTR_DEFS = $(PY_SRC)/qstrdefs.h |
7 | 12 |
|
8 | 13 | # py object files |
@@ -98,26 +103,25 @@ PY_O = $(addprefix $(PY_BUILD)/, $(PY_O_BASENAME)) |
98 | 103 | FORCE: |
99 | 104 | .PHONY: FORCE |
100 | 105 |
|
101 | | -$(PY_BUILD)/py-version.h: FORCE |
| 106 | +$(HEADER_PY_BUILD)/py-version.h: FORCE |
102 | 107 | $(Q)$(PY_SRC)/py-version.sh > $@.tmp |
103 | 108 | $(Q)if [ -f "$@" ] && cmp -s $@ $@.tmp; then rm $@.tmp; else echo "Generating $@"; mv $@.tmp $@; fi |
104 | 109 |
|
105 | 110 | # qstr data |
106 | 111 |
|
107 | | -# Adding an order only dependency on $(PY_BUILD) causes $(PY_BUILD) to get |
| 112 | +# Adding an order only dependency on $(HEADER_PY_BUILD) causes $(HEADER_PY_BUILD) to get |
108 | 113 | # created before we run the script to generate the .h |
109 | | -$(PY_BUILD)/qstrdefs.generated.h: | $(PY_BUILD)/ |
110 | | -$(PY_BUILD)/qstrdefs.generated.h: $(PY_QSTR_DEFS) $(QSTR_DEFS) $(PY_SRC)/makeqstrdata.py mpconfigport.h $(PY_SRC)/mpconfig.h |
| 114 | +$(HEADER_PY_BUILD)/qstrdefs.generated.h: $(PY_QSTR_DEFS) $(QSTR_DEFS) $(PY_SRC)/makeqstrdata.py mpconfigport.h $(PY_SRC)/mpconfig.h | $(HEADER_PY_BUILD) |
111 | 115 | $(ECHO) "makeqstrdata $(PY_QSTR_DEFS) $(QSTR_DEFS)" |
112 | | - $(CPP) $(CFLAGS) $(PY_QSTR_DEFS) -o $(PY_BUILD)/qstrdefs.preprocessed.h |
113 | | - $(Q)$(PYTHON) $(PY_SRC)/makeqstrdata.py $(PY_BUILD)/qstrdefs.preprocessed.h $(QSTR_DEFS) > $@ |
| 116 | + $(CPP) $(CFLAGS) $(PY_QSTR_DEFS) -o $(HEADER_PY_BUILD)/qstrdefs.preprocessed.h |
| 117 | + $(Q)$(PYTHON) $(PY_SRC)/makeqstrdata.py $(HEADER_PY_BUILD)/qstrdefs.preprocessed.h $(QSTR_DEFS) > $@ |
114 | 118 |
|
115 | 119 | # We don't know which source files actually need the generated.h (since |
116 | 120 | # it is #included from str.h). The compiler generated dependencies will cause |
117 | 121 | # the right .o's to get recompiled if the generated.h file changes. Adding |
118 | 122 | # an order-only dependendency to all of the .o's will cause the generated .h |
119 | 123 | # to get built before we try to compile any of them. |
120 | | -$(PY_O): | $(PY_BUILD)/qstrdefs.generated.h $(PY_BUILD)/py-version.h |
| 124 | +$(PY_O): | $(HEADER_PY_BUILD)/qstrdefs.generated.h $(HEADER_PY_BUILD)/py-version.h |
121 | 125 |
|
122 | 126 | # emitters |
123 | 127 |
|
|
0 commit comments