1 # SPDX-License-Identifier: GPL-2.0
2 PLUGINCC
:= $(CONFIG_PLUGIN_HOSTCC
:"%"=%)
3 GCC_PLUGINS_DIR
:= $(shell $(CC
) -print-file-name
=plugin
)
5 ifeq ($(PLUGINCC
),$(HOSTCC
))
7 HOST_EXTRACFLAGS
+= -I
$(GCC_PLUGINS_DIR
)/include -I
$(src
) -std
=gnu99
-ggdb
8 export HOST_EXTRACFLAGS
10 HOSTLIBS
:= hostcxxlibs
11 HOST_EXTRACXXFLAGS
+= -I
$(GCC_PLUGINS_DIR
)/include -I
$(src
) -std
=gnu
++98 -fno-rtti
12 HOST_EXTRACXXFLAGS
+= -fno-exceptions
-fasynchronous-unwind-tables
-ggdb
13 HOST_EXTRACXXFLAGS
+= -Wno-narrowing
-Wno-unused-variable
14 export HOST_EXTRACXXFLAGS
17 $(obj
)/randomize_layout_plugin.o
: $(objtree
)/$(obj
)/randomize_layout_seed.h
18 quiet_cmd_create_randomize_layout_seed
= GENSEED
$@
19 cmd_create_randomize_layout_seed
= \
20 $(CONFIG_SHELL
) $(srctree
)/$(src
)/gen-random-seed.sh
$@
$(objtree
)/include/generated
/randomize_layout_hash.h
21 $(objtree
)/$(obj
)/randomize_layout_seed.h
: FORCE
22 $(call if_changed
,create_randomize_layout_seed
)
23 targets
= randomize_layout_seed.h randomize_layout_hash.h
25 $(HOSTLIBS
)-y
:= $(foreach p
,$(GCC_PLUGIN
),$(if
$(findstring /,$(p
)),,$(p
)))
26 always
:= $($(HOSTLIBS
)-y
)
28 $(foreach p
,$($(HOSTLIBS
)-y
:%.so
=%),$(eval
$(p
)-objs
:= $(p
).o
))