mirror of
https://github.com/torvalds/linux.git
synced 2024-12-24 11:51:27 +00:00
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)=arch/$(SRCARCH)/include/uapi
|
||||
|
||||
# Deprecated. It is no-op now.
|
||||
PHONY += headers_check
|
||||
headers_check: headers
|
||||
$(Q)$(MAKE) $(hdr-inst)=include/uapi HDRCHECK=1
|
||||
$(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi HDRCHECK=1
|
||||
headers_check:
|
||||
@:
|
||||
|
||||
ifdef CONFIG_HEADERS_INSTALL
|
||||
prepare: headers
|
||||
endif
|
||||
|
||||
ifdef CONFIG_HEADERS_CHECK
|
||||
all: headers_check
|
||||
endif
|
||||
|
||||
PHONY += scripts_unifdef
|
||||
scripts_unifdef: scripts_basic
|
||||
$(Q)$(MAKE) $(build)=scripts scripts/unifdef
|
||||
@ -1473,7 +1469,6 @@ help:
|
||||
@echo ' versioncheck - Sanity check on version.h usage'
|
||||
@echo ' includecheck - Check for duplicate included header files'
|
||||
@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 ' coccicheck - Check with Coccinelle'
|
||||
@echo ''
|
||||
|
@ -299,17 +299,6 @@ config HEADERS_INSTALL
|
||||
user-space program samples. It is also needed by some features such
|
||||
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
|
||||
def_bool y
|
||||
help
|
||||
|
@ -56,9 +56,6 @@ new-dirs := $(filter-out $(existing-dirs), $(wanted-dirs))
|
||||
$(if $(new-dirs), $(shell mkdir -p $(new-dirs)))
|
||||
|
||||
# Rules
|
||||
|
||||
ifndef HDRCHECK
|
||||
|
||||
quiet_cmd_install = HDRINST $@
|
||||
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)
|
||||
|
||||
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
|
||||
FORCE:
|
||||
|
||||
|
@ -95,11 +95,14 @@ endif
|
||||
# asm-generic/*.h is used by asm/*.h, and should not be included directly
|
||||
header-test- += asm-generic/%
|
||||
|
||||
extra-y := $(patsubst %.h,%.hdrtest, $(filter-out $(header-test-), \
|
||||
$(patsubst $(obj)/%,%, $(shell find $(obj) -name '*.h'))))
|
||||
extra-y := $(patsubst $(obj)/%.h,%.hdrtest, $(shell find $(obj) -name '*.h'))
|
||||
|
||||
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
|
||||
$(call if_changed_dep,hdrtest)
|
||||
|
Loading…
Reference in New Issue
Block a user