23 lines
705 B
Makefile
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)
|