* Avoid making all warnings into errors * Extra optimizations via COPT should be overwritable --- mpy-cross/Makefile.orig 2026-04-06 13:12:49 UTC +++ mpy-cross/Makefile @@ -6,6 +6,10 @@ QSTR_DEFS = qstrdefsport.h # qstr definitions (must come before including py.mk) QSTR_DEFS = qstrdefsport.h +# Enable compressed ROM text so genhdr/compressed.data.h is generated before +# compilation when the unix port passes -DMICROPY_ROM_TEXT_COMPRESSION=1. +MICROPY_ROM_TEXT_COMPRESSION = 1 + # OS name, for simple autoconfig UNAME_S := $(shell uname -s) @@ -17,7 +21,7 @@ INC += -I$(TOP) INC += -I$(TOP) # compiler settings -CWARN = -Wall -Werror +CWARN = -Wall CWARN += -Wextra -Wno-unused-parameter -Wpointer-arith CFLAGS += $(INC) $(CWARN) -std=gnu99 $(COPT) $(CFLAGS_EXTRA) CFLAGS += -fdata-sections -ffunction-sections -fno-asynchronous-unwind-tables @@ -25,9 +29,9 @@ CFLAGS += -g # Debugging/Optimization ifdef DEBUG CFLAGS += -g -COPT = -O0 +COPT ?= -O0 else -COPT = -Os #-DNDEBUG +COPT ?= -Os #-DNDEBUG endif # On OSX, 'gcc' is a symlink to clang unless a real gcc is installed. @@ -58,5 +62,11 @@ OBJ += $(addprefix $(BUILD)/, $(SRC_C:.c=.o)) OBJ = $(PY_CORE_O) OBJ += $(addprefix $(BUILD)/, $(SRC_C:.c=.o)) + +# mpy-cross is a host-only cross-compiler with no threading or frozen modules. +# Undefine unix port flags that bleed in via the combined sub-make CFLAGS so +# the resulting binary does not reference unimplemented symbols. +CFLAGS += -UMICROPY_PY_THREAD -UMICROPY_QSTR_EXTRA_POOL \ + -UMICROPY_MODULE_FROZEN_MPY -UMICROPY_MODULE_FROZEN_STR include $(TOP)/py/mkrules.mk