Skip to content

Commit a1f2540

Browse files
committed
py/mkrules.mk: Add dependency of .mpy files upon mpy-cross.
This ensures that mpy-cross is automatically built (and is up-to-date) for ports that use frozen bytecode. It also makes sure that .mpy files are re-built if mpy-cross is changed.
1 parent 6d221fe commit a1f2540

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

py/mkrules.mk

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,15 +102,19 @@ $(BUILD)/frozen.c: $(wildcard $(FROZEN_DIR)/*) $(HEADER_BUILD) $(FROZEN_EXTRA_DE
102102
endif
103103

104104
ifneq ($(FROZEN_MPY_DIR),)
105+
# to build the MicroPython cross compiler
106+
$(TOP)/mpy-cross/mpy-cross: $(TOP)/py/*.[ch] $(TOP)/mpy-cross/*.[ch] $(TOP)/windows/fmode.c
107+
$(Q)$(MAKE) -C $(TOP)/mpy-cross
108+
105109
# make a list of all the .py files that need compiling and freezing
106110
FROZEN_MPY_PY_FILES := $(shell find -L $(FROZEN_MPY_DIR) -type f -name '*.py' | $(SED) -e 's=^$(FROZEN_MPY_DIR)/==')
107111
FROZEN_MPY_MPY_FILES := $(addprefix $(BUILD)/frozen_mpy/,$(FROZEN_MPY_PY_FILES:.py=.mpy))
108112

109113
# to build .mpy files from .py files
110-
$(BUILD)/frozen_mpy/%.mpy: $(FROZEN_MPY_DIR)/%.py
114+
$(BUILD)/frozen_mpy/%.mpy: $(FROZEN_MPY_DIR)/%.py $(TOP)/mpy-cross/mpy-cross
111115
@$(ECHO) "MPY $<"
112116
$(Q)$(MKDIR) -p $(dir $@)
113-
$(Q)$(MPY_CROSS) -o $@ -s $(^:$(FROZEN_MPY_DIR)/%=%) $(MPY_CROSS_FLAGS) $^
117+
$(Q)$(MPY_CROSS) -o $@ -s $(<:$(FROZEN_MPY_DIR)/%=%) $(MPY_CROSS_FLAGS) $<
114118

115119
# to build frozen_mpy.c from all .mpy files
116120
$(BUILD)/frozen_mpy.c: $(FROZEN_MPY_MPY_FILES) $(BUILD)/genhdr/qstrdefs.generated.h

0 commit comments

Comments
 (0)