circuitpython/py/gccplugin.mk
Jeff Epler 753dd076ca micropython_checks: Add compiler plugin.
Signed-off-by: Jeff Epler <jepler@gmail.com>
2025-07-06 08:24:06 +01:00

23 lines
705 B
Makefile

PLUGINDIR := $(shell $(CC) -print-file-name=plugin)/include
ifeq ($(realpath $(PLUGINDIR)/gcc-plugin.h),)
$(error plugin header $(PLUGINDIR)/gcc-plugin.h for $(CC) does not exist. Install the correct gcc-plugins package.)
endif
HOSTCXX ?= g++
CHECKS_PLUGIN := $(BUILD)/micropython_checks.so
CFLAGS += -fplugin=$(CHECKS_PLUGIN)
.PHONY: plugin
plugin: $(CHECKS_PLUGIN)
$(CHECKS_PLUGIN): $(TOP)/tools/micropython_checks.cc | $(BUILD)/
$(ECHO) "PLUGIN $@"
$(Q)$(HOSTCXX) -o $@ -shared $^ \
-std=gnu++11 -fPIC -Wall -O -fno-rtti \
-I$(PLUGINDIR)
# All objects depend on the checks plugin
$(OBJ): $(CHECKS_PLUGIN)
# And so do these very special targets
QSTR_GLOBAL_REQUIREMENTS += $(CHECKS_PLUGIN)