summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Mussared <jim.mussared@gmail.com>2023-08-03 15:57:02 +1000
committerDamien George <damien@micropython.org>2023-11-03 13:57:47 +1100
commit2eda5138701d6a7d36f8d8e3700d136b3c1161b7 (patch)
tree7085560566359ef7cfa275cea0b65c62a4effd92
parentaa329d11ea375b692342e76304b764b688a5f371 (diff)
py/mkrules.mk: Add rule for compiling auto-generated source files.
This prevents each port Makefile from having to add an explicit rule for `build-BOARD/pins_BOARD.c`. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
-rw-r--r--ports/cc3200/application.mk3
-rw-r--r--ports/mimxrt/Makefile3
-rw-r--r--ports/nrf/Makefile3
-rw-r--r--ports/renesas-ra/Makefile3
-rw-r--r--ports/stm32/Makefile3
-rw-r--r--py/mkrules.mk4
-rw-r--r--shared/memzip/README.md3
7 files changed, 4 insertions, 18 deletions
diff --git a/ports/cc3200/application.mk b/ports/cc3200/application.mk
index deee201ee..7a8fb8d94 100644
--- a/ports/cc3200/application.mk
+++ b/ports/cc3200/application.mk
@@ -241,6 +241,3 @@ $(OBJ): | $(GEN_PINS_HDR)
$(GEN_PINS_SRC) $(GEN_PINS_HDR) $(GEN_PINS_QSTR): $(BOARD_PINS) $(MAKE_PINS) $(AF_FILE) $(PREFIX_FILE) | $(HEADER_BUILD)
$(ECHO) "Create $@"
$(Q)$(PYTHON) $(MAKE_PINS) --board $(BOARD_PINS) --af $(AF_FILE) --prefix $(PREFIX_FILE) --hdr $(GEN_PINS_HDR) --qstr $(GEN_PINS_QSTR) > $(GEN_PINS_SRC)
-
-$(BUILD)/pins.o: $(BUILD)/pins.c
- $(call compile_c)
diff --git a/ports/mimxrt/Makefile b/ports/mimxrt/Makefile
index 6131a509d..c22c5442a 100644
--- a/ports/mimxrt/Makefile
+++ b/ports/mimxrt/Makefile
@@ -510,7 +510,4 @@ $(BUILD)/%_gen.c $(HEADER_BUILD)/%.h: $(BOARD_PINS) $(MAKE_PINS) $(AF_FILE) $(PR
--iomux $(abspath $(TOP)/$(MCU_DIR)/drivers/fsl_iomuxc.h) \
--prefix $(PREFIX_FILE) --hdr $(GEN_PINS_HDR) > $(GEN_PINS_SRC)
-$(GEN_PINS_SRC:.c=.o): $(GEN_PINS_SRC)
- $(call compile_c)
-
include $(TOP)/py/mkrules.mk
diff --git a/ports/nrf/Makefile b/ports/nrf/Makefile
index ac86ad2b1..abc1ed497 100644
--- a/ports/nrf/Makefile
+++ b/ports/nrf/Makefile
@@ -547,9 +547,6 @@ $(BUILD)/%_gen.c $(HEADER_BUILD)/%.h $(HEADER_BUILD)/%_af_const.h $(BUILD)/%_qst
$(ECHO) "Create $@"
$(Q)$(PYTHON) $(MAKE_PINS) --board $(BOARD_PINS) --af $(AF_FILE) --prefix $(PREFIX_FILE) --hdr $(GEN_PINS_HDR) --qstr $(GEN_PINS_QSTR) --af-const $(GEN_PINS_AF_CONST) --af-py $(GEN_PINS_AF_PY) > $(GEN_PINS_SRC)
-$(GEN_PINS_SRC:.c=.o): $(GEN_PINS_SRC)
- $(call compile_c)
-
$(PY_BUILD)/nlr%.o: CFLAGS += -Os -fno-lto
include ../../py/mkrules.mk
diff --git a/ports/renesas-ra/Makefile b/ports/renesas-ra/Makefile
index fb7bb67e4..943ed6d9b 100644
--- a/ports/renesas-ra/Makefile
+++ b/ports/renesas-ra/Makefile
@@ -586,9 +586,6 @@ $(BUILD)/%_$(BOARD).c $(HEADER_BUILD)/%.h $(HEADER_BUILD)/%_af_const.h $(HEADER_
$(ECHO) "GEN $@"
$(Q)$(PYTHON) $(MAKE_PINS) --board $(BOARD_PINS) --af $(AF_FILE) --prefix $(PREFIX_FILE) --hdr $(GEN_PINS_HDR) --qstr $(GEN_PINS_QSTR) --ad-const $(GEN_PINS_AD_CONST) --af-const $(GEN_PINS_AF_CONST) --af-py $(GEN_PINS_AF_PY) > $(GEN_PINS_SRC)
-#$(BUILD)/pins_$(BOARD).o: $(BUILD)/pins_$(BOARD).c
-# $(call compile_c)
-
CMSIS_MCU_HDR = $(CMSIS_DIR)/$(CMSIS_MCU_LOWER).h
include $(TOP)/py/mkrules.mk
diff --git a/ports/stm32/Makefile b/ports/stm32/Makefile
index d3b80ab5b..8d920ae95 100644
--- a/ports/stm32/Makefile
+++ b/ports/stm32/Makefile
@@ -684,9 +684,6 @@ $(BUILD)/%_$(BOARD).c $(HEADER_BUILD)/%.h $(HEADER_BUILD)/%_af_const.h $(HEADER_
--af-defs $(GEN_PINS_AF_DEFS) --af-defs-cmp-strings \
--af-py $(GEN_PINS_AF_PY) > $(GEN_PINS_SRC)
-$(GEN_PINS_SRC:.c=.o): $(GEN_PINS_SRC)
- $(call compile_c)
-
modmachine.c: $(GEN_PLLFREQTABLE_HDR)
$(GEN_PLLFREQTABLE_HDR): $(PLLVALUES) | $(HEADER_BUILD)
$(ECHO) "GEN $@"
diff --git a/py/mkrules.mk b/py/mkrules.mk
index 8b21c7974..507655932 100644
--- a/py/mkrules.mk
+++ b/py/mkrules.mk
@@ -97,6 +97,10 @@ $(BUILD)/%.pp: %.c
$(ECHO) "PreProcess $<"
$(Q)$(CPP) $(CFLAGS) -Wp,-C,-dD,-dI -o $@ $<
+# Special case for compiling auto-generated source files.
+$(BUILD)/%.o: $(BUILD)/%.c
+ $(call compile_c)
+
# The following rule uses | to create an order only prerequisite. Order only
# prerequisites only get built if they don't exist. They don't cause timestamp
# checking to be performed.
diff --git a/shared/memzip/README.md b/shared/memzip/README.md
index 3938e3198..6ffe1d2c6 100644
--- a/shared/memzip/README.md
+++ b/shared/memzip/README.md
@@ -18,9 +18,6 @@ OBJ += $(BUILD)/memzip-files.o
MAKE_MEMZIP = ../shared/memzip/make-memzip.py
-$(BUILD)/memzip-files.o: $(BUILD)/memzip-files.c
- $(call compile_c)
-
$(BUILD)/memzip-files.c: $(shell find ${MEMZIP_DIR} -type f)
@$(ECHO) "Creating $@"
$(Q)$(PYTHON) $(MAKE_MEMZIP) --zip-file $(BUILD)/memzip-files.zip --c-file $@ $(MEMZIP_DIR)