flags:
@echo LINUX_SRC="\$(OMK_LINUX_SRC)" >>\$(obj)/flags
@echo LINUX_ARCH="\$(ARCH)" >>\$(obj)/flags
+ @echo LINUX_BUILDHOST="\$(KBUILD_BUILDHOST)" >>\$(obj)/flags
@echo LINUX_LDFLAGS="" >>\$(obj)/flags
@echo LINUX_ARFLAGS="\$(ARFLAGS)" >>\$(obj)/flags
@echo LINUX_CROSS_COMPILE="\$(CROSS_COMPILE)" >>\$(obj)/flags
@echo LINUX_AR="\$(AR)" >>\$(obj)/flags
@echo LINUX_MODULE_EXT=".ko" >>\$(obj)/flags
@echo LINUX_QUOTE_MODNAME=\$(if \$(findstring KBUILD_STR,\$(basename_flags)),y,) >>\$(obj)/flags
+ @echo LINUX_CONFIG_MODVERSIONS=\$(CONFIG_MODVERSIONS) >>\$(obj)/flags
+ @echo LINUX_CONFIG_MODULE_SRCVERSION_ALL=\$(CONFIG_MODULE_SRCVERSION_ALL) >>\$(obj)/flags
+ @echo LINUX_CONFIG_DEBUG_SECTION_MISMATCH=\$(CONFIG_DEBUG_SECTION_MISMATCH) >>\$(obj)/flags
+ @echo LINUX_CONFIG_MARKERS=\$(CONFIG_MARKERS) >>\$(obj)/flags
+ @echo LINUX_KBUILD_EXTMOD=\$(KBUILD_EXTMOD) >>\$(obj)/flags
+ @echo LINUX_KBUILD_EXTRA_SYMBOLS=\$(KBUILD_EXTRA_SYMBOLS) >>\$(obj)/flags
+ @echo LINUX_KBUILD_MODPOST_WARN=\$(KBUILD_MODPOST_WARN) >>\$(obj)/flags
+ @echo LINUX_CROSS_BUILD=\$(cross_build) >>\$(obj)/flags
+ @echo LINUX_KERNELSYMFILE=\$(kernelsymfile) >>\$(obj)/flags
+ @echo LINUX_MODULESYMFILE=\$(modulesymfile) >>\$(obj)/flags
+ @echo LINUX_KERNELMARKERSFILE=\$(kernelmarkersfile) >>\$(obj)/flags
+ @echo LINUX_MARKERSFILE=\$(markersfile) >>\$(obj)/flags
EOF
# modkern_cflags := $(CFLAGS_KERNEL) / $(CFLAGS_MODULE)
KERN_LINK_SUFFIX = $(KERN_EXE_SUFFIX)
endif
+ifeq ($(LINUX_CONFIG_MODVERSIONS),y)
+MODPOST_OPTS += -m
+MODPOST_OPTS += -i $(LINUX_DIR)/Module.symvers
+MODPOST_OPTS += -I $(KERN_LIB_DIR)/Module.symvers
+MODPOST_OPTS += -o $(KERN_LIB_DIR)/Module.symvers
+endif
+
+ifeq ($(LINUX_CONFIG_DEBUG_SECTION_MISMATCH),y)
+MODPOST_OPTS += -S
+endif
+
+ifeq ($(LINUX_CONFIG_MARKERS),y)
+MODPOST_OPTS += -K $(LINUX_DIR)/Module.markers
+MODPOST_OPTS += -M $(KERN_LIB_DIR)/Module.markers
+endif
+
+ifeq ($(LINUX_KBUILD_MODPOST_WARN),y)
+MODPOST_OPTS += -w
+endif
+
+ifneq ($(LINUX_BUILDHOST),$(LINUX_ARCH))
+MODPOST_OPTS += -c
+endif
+
define COMPILE_c_o_kern_template
$(2): $(1)
@echo >>$(KERN_OBJS_DIR)/$(1).mod.d
@if [ "$(KERN_EXE_SUFFIX)" = ".ko" ] ; then \
echo $(1) >>$(KERN_MODPOST_DIR)/module-changes ; \
- echo $(1) >>$(KERN_MODPOST_DIR)/$(1).mod.stamp ; \
+ echo $(1) >$(KERN_MODPOST_DIR)/$(1).mod.stamp ; \
fi
endef
@$(QUIET_CMD_ECHO) " MODPOST $(KERN_MODPOST_DIR)"
@echo >$(KERN_MODPOST_DIR)/modpost-running
@rm -f $(KERN_MODPOST_DIR)/module-changes
- $(Q) $(KERN_MODPOST) $(MODULES_LIST:%=%$(KERN_LINK_SUFFIX)) $(^:%=-i %)
+ $(Q) $(KERN_MODPOST) $(MODPOST_OPTS) $(MODULES_LIST:%=%$(KERN_LINK_SUFFIX))
$(MODULES_LIST:%=%.mod.c) : kernel-modpost-versions