GNU Linux-libre 4.9.333-gnu1
[releases.git] / scripts / gcc-plugins / Makefile
1 GCC_PLUGINS_DIR := $(shell $(CC) -print-file-name=plugin)
2
3 ifeq ($(PLUGINCC),$(HOSTCC))
4   HOSTLIBS := hostlibs
5   HOST_EXTRACFLAGS += -I$(GCC_PLUGINS_DIR)/include -I$(src) -std=gnu99 -ggdb
6   export HOST_EXTRACFLAGS
7 else
8   HOSTLIBS := hostcxxlibs
9   HOST_EXTRACXXFLAGS += -I$(GCC_PLUGINS_DIR)/include -I$(src) -std=gnu++98 -fno-rtti
10   HOST_EXTRACXXFLAGS += -fno-exceptions -fasynchronous-unwind-tables -ggdb
11   HOST_EXTRACXXFLAGS += -Wno-narrowing -Wno-unused-variable
12   HOST_EXTRACXXFLAGS += -Wno-format-diag
13   export HOST_EXTRACXXFLAGS
14 endif
15
16 ifneq ($(CFLAGS_KCOV), $(SANCOV_PLUGIN))
17   GCC_PLUGIN := $(filter-out $(SANCOV_PLUGIN), $(GCC_PLUGIN))
18 endif
19
20 export HOSTLIBS
21
22 $(HOSTLIBS)-y := $(foreach p,$(GCC_PLUGIN),$(if $(findstring /,$(p)),,$(p)))
23 always := $($(HOSTLIBS)-y)
24
25 $(foreach p,$($(HOSTLIBS)-y:%.so=%),$(eval $(p)-objs := $(p).o))
26
27 subdir-y := $(GCC_PLUGIN_SUBDIR)
28 subdir-  += $(GCC_PLUGIN_SUBDIR)
29
30 clean-files += *.so