forked from luck/tmp_suning_uos_patched
kbuild: move headers_check rule to usr/include/Makefile
Currently, some sanity checks for uapi headers are done by scripts/headers_check.pl, which is wired up to the 'headers_check' target in the top Makefile. It is true compiling headers has better test coverage, but there are still several headers excluded from the compile test. I like to keep headers_check.pl for a while, but we can delete a lot of code by moving the build rule to usr/include/Makefile. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
parent
fcbb8461fd
commit
7ecaf069da
11
Makefile
11
Makefile
|
@ -1193,19 +1193,15 @@ headers: $(version_h) scripts_unifdef uapi-asm-generic archheaders archscripts
|
||||||
$(Q)$(MAKE) $(hdr-inst)=include/uapi
|
$(Q)$(MAKE) $(hdr-inst)=include/uapi
|
||||||
$(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi
|
$(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi
|
||||||
|
|
||||||
|
# Deprecated. It is no-op now.
|
||||||
PHONY += headers_check
|
PHONY += headers_check
|
||||||
headers_check: headers
|
headers_check:
|
||||||
$(Q)$(MAKE) $(hdr-inst)=include/uapi HDRCHECK=1
|
@:
|
||||||
$(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi HDRCHECK=1
|
|
||||||
|
|
||||||
ifdef CONFIG_HEADERS_INSTALL
|
ifdef CONFIG_HEADERS_INSTALL
|
||||||
prepare: headers
|
prepare: headers
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_HEADERS_CHECK
|
|
||||||
all: headers_check
|
|
||||||
endif
|
|
||||||
|
|
||||||
PHONY += scripts_unifdef
|
PHONY += scripts_unifdef
|
||||||
scripts_unifdef: scripts_basic
|
scripts_unifdef: scripts_basic
|
||||||
$(Q)$(MAKE) $(build)=scripts scripts/unifdef
|
$(Q)$(MAKE) $(build)=scripts scripts/unifdef
|
||||||
|
@ -1473,7 +1469,6 @@ help:
|
||||||
@echo ' versioncheck - Sanity check on version.h usage'
|
@echo ' versioncheck - Sanity check on version.h usage'
|
||||||
@echo ' includecheck - Check for duplicate included header files'
|
@echo ' includecheck - Check for duplicate included header files'
|
||||||
@echo ' export_report - List the usages of all exported symbols'
|
@echo ' export_report - List the usages of all exported symbols'
|
||||||
@echo ' headers_check - Sanity check on exported headers'
|
|
||||||
@echo ' headerdep - Detect inclusion cycles in headers'
|
@echo ' headerdep - Detect inclusion cycles in headers'
|
||||||
@echo ' coccicheck - Check with Coccinelle'
|
@echo ' coccicheck - Check with Coccinelle'
|
||||||
@echo ''
|
@echo ''
|
||||||
|
|
|
@ -299,17 +299,6 @@ config HEADERS_INSTALL
|
||||||
user-space program samples. It is also needed by some features such
|
user-space program samples. It is also needed by some features such
|
||||||
as uapi header sanity checks.
|
as uapi header sanity checks.
|
||||||
|
|
||||||
config HEADERS_CHECK
|
|
||||||
bool "Run sanity checks on uapi headers when building 'all'"
|
|
||||||
depends on HEADERS_INSTALL
|
|
||||||
help
|
|
||||||
This option will run basic sanity checks on uapi headers when
|
|
||||||
building the 'all' target, for example, ensure that they do not
|
|
||||||
attempt to include files which were not exported, etc.
|
|
||||||
|
|
||||||
If you're making modifications to header files which are
|
|
||||||
relevant for userspace, say 'Y'.
|
|
||||||
|
|
||||||
config OPTIMIZE_INLINING
|
config OPTIMIZE_INLINING
|
||||||
def_bool y
|
def_bool y
|
||||||
help
|
help
|
||||||
|
|
|
@ -56,9 +56,6 @@ new-dirs := $(filter-out $(existing-dirs), $(wanted-dirs))
|
||||||
$(if $(new-dirs), $(shell mkdir -p $(new-dirs)))
|
$(if $(new-dirs), $(shell mkdir -p $(new-dirs)))
|
||||||
|
|
||||||
# Rules
|
# Rules
|
||||||
|
|
||||||
ifndef HDRCHECK
|
|
||||||
|
|
||||||
quiet_cmd_install = HDRINST $@
|
quiet_cmd_install = HDRINST $@
|
||||||
cmd_install = $(CONFIG_SHELL) $(srctree)/scripts/headers_install.sh $< $@
|
cmd_install = $(CONFIG_SHELL) $(srctree)/scripts/headers_install.sh $< $@
|
||||||
|
|
||||||
|
@ -81,21 +78,6 @@ existing-headers := $(filter $(old-headers), $(all-headers))
|
||||||
|
|
||||||
-include $(foreach f,$(existing-headers),$(dir $(f)).$(notdir $(f)).cmd)
|
-include $(foreach f,$(existing-headers),$(dir $(f)).$(notdir $(f)).cmd)
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
quiet_cmd_check = HDRCHK $<
|
|
||||||
cmd_check = $(PERL) $(srctree)/scripts/headers_check.pl $(dst) $(SRCARCH) $<; touch $@
|
|
||||||
|
|
||||||
check-files := $(addsuffix .chk, $(all-headers))
|
|
||||||
|
|
||||||
$(check-files): $(dst)/%.chk : $(dst)/% $(srctree)/scripts/headers_check.pl
|
|
||||||
$(call cmd,check)
|
|
||||||
|
|
||||||
__headers: $(check-files)
|
|
||||||
@:
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
PHONY += FORCE
|
PHONY += FORCE
|
||||||
FORCE:
|
FORCE:
|
||||||
|
|
||||||
|
|
|
@ -95,11 +95,14 @@ endif
|
||||||
# asm-generic/*.h is used by asm/*.h, and should not be included directly
|
# asm-generic/*.h is used by asm/*.h, and should not be included directly
|
||||||
header-test- += asm-generic/%
|
header-test- += asm-generic/%
|
||||||
|
|
||||||
extra-y := $(patsubst %.h,%.hdrtest, $(filter-out $(header-test-), \
|
extra-y := $(patsubst $(obj)/%.h,%.hdrtest, $(shell find $(obj) -name '*.h'))
|
||||||
$(patsubst $(obj)/%,%, $(shell find $(obj) -name '*.h'))))
|
|
||||||
|
|
||||||
quiet_cmd_hdrtest = HDRTEST $<
|
quiet_cmd_hdrtest = HDRTEST $<
|
||||||
cmd_hdrtest = $(CC) $(c_flags) -S -o /dev/null -x c /dev/null -include $<; touch $@
|
cmd_hdrtest = \
|
||||||
|
$(CC) $(c_flags) -S -o /dev/null -x c /dev/null \
|
||||||
|
$(if $(filter-out $(header-test-), $*.h), -include $<); \
|
||||||
|
$(PERL) $(srctree)/scripts/headers_check.pl $(obj) $(SRCARCH) $<; \
|
||||||
|
touch $@
|
||||||
|
|
||||||
$(obj)/%.hdrtest: $(obj)/%.h FORCE
|
$(obj)/%.hdrtest: $(obj)/%.h FORCE
|
||||||
$(call if_changed_dep,hdrtest)
|
$(call if_changed_dep,hdrtest)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user