# SPDX-License-Identifier: GPL-2.0

$(obj)/randomize_layout_plugin.so: $(obj)/randomize_layout_seed.h
quiet_cmd_create_randomize_layout_seed = SEEDHDR $@
cmd_create_randomize_layout_seed = \
	SEED=$$(cat $(filter-out FORCE,$^) </dev/null); \
	echo '/*' > $@; \
	echo ' * This file is automatically generated. Keep it private.' >> $@; \
	echo ' * Exposing this value will expose the layout of randomized structures.' >> $@; \
	echo ' */' >> $@; \
	echo "const char *randstruct_seed = \"$$SEED\";" >> $@
$(obj)/randomize_layout_seed.h: $(objtree)/scripts/basic/randstruct.seed FORCE
	$(call if_changed,create_randomize_layout_seed)
targets += randomize_layout_seed.h

# Build rules for plugins
#
# No extra code is needed for single-file plugins.
# For multi-file plugins, use *-objs syntax to list the objects.
#
# If the plugin foo.so is compiled from foo.c and foo2.c, you can do:
#
# foo-objs := foo.o foo2.o

always-y += $(GCC_PLUGIN)

GCC_PLUGINS_DIR = $(shell $(CC) -print-file-name=plugin)

plugin_cxxflags	= -Wp,-MMD,$(depfile) $(KBUILD_HOSTCXXFLAGS) -fPIC \
		  -include $(srctree)/include/linux/compiler-version.h \
		  -DPLUGIN_VERSION=$(call stringify,$(KERNELVERSION)) \
		  -I $(GCC_PLUGINS_DIR)/include -I $(obj) -std=gnu++11 \
		  -fno-rtti -fno-exceptions -fasynchronous-unwind-tables \
		  -ggdb -Wno-narrowing -Wno-unused-variable \
		  -Wno-format-diag

plugin_ldflags	= -shared

plugin-single	:= $(foreach m, $(GCC_PLUGIN), $(if $($(m:%.so=%-objs)),,$(m)))
plugin-multi	:= $(filter-out $(plugin-single), $(GCC_PLUGIN))
plugin-objs	:= $(sort $(foreach m, $(plugin-multi), $($(m:%.so=%-objs))))

targets += $(plugin-single) $(plugin-multi) $(plugin-objs)
clean-files += *.so

plugin-single	:= $(addprefix $(obj)/, $(plugin-single))
plugin-multi	:= $(addprefix $(obj)/, $(plugin-multi))
plugin-objs	:= $(addprefix $(obj)/, $(plugin-objs))

quiet_cmd_plugin_cxx_so_c = HOSTCXX $@
      cmd_plugin_cxx_so_c = $(HOSTCXX) $(plugin_cxxflags) $(plugin_ldflags) -o $@ $<

$(plugin-single): $(obj)/%.so: $(src)/%.c FORCE
	$(call if_changed_dep,plugin_cxx_so_c)

quiet_cmd_plugin_ld_so_o = HOSTLD  $@
      cmd_plugin_ld_so_o = $(HOSTCXX) $(plugin_ldflags) -o $@ \
			   $(addprefix $(obj)/, $($(target-stem)-objs))

$(plugin-multi): FORCE
	$(call if_changed,plugin_ld_so_o)
$(foreach m, $(notdir $(plugin-multi)), $(eval $(obj)/$m: $(addprefix $(obj)/, $($(m:%.so=%-objs)))))

quiet_cmd_plugin_cxx_o_c = HOSTCXX $@
      cmd_plugin_cxx_o_c = $(HOSTCXX) $(plugin_cxxflags) -c -o $@ $<

$(plugin-objs): $(obj)/%.o: $(src)/%.c FORCE
	$(call if_changed_dep,plugin_cxx_o_c)
