diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2008-06-20 18:24:17 -0400 |
---|---|---|
committer | Sam Ravnborg <sam@ravnborg.org> | 2008-07-25 16:12:33 -0400 |
commit | 2fb9b1bd9dd7f4455407dc1bec74fb8ae0d3138e (patch) | |
tree | 28560746a2788549198dcb7ce3588cb7297c6593 /Makefile | |
parent | db1bec4f5271d7799d481cd4d95fdc268bdd7614 (diff) |
kbuild: prepare headers_* for arch/$ARCH/include
Factor out the headers_*_all support to a seperate
shell script and add support for arch specific
header files can be located in either
arch/$ARCH/include/asm
or
include/asm-$ARCH/
In "make help" always display the headers_* targets.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 49 |
1 files changed, 22 insertions, 27 deletions
@@ -205,6 +205,9 @@ ifeq ($(ARCH),x86_64) | |||
205 | SRCARCH := x86 | 205 | SRCARCH := x86 |
206 | endif | 206 | endif |
207 | 207 | ||
208 | # Where to locate arch specific headers | ||
209 | hdr-arch := $(SRCARCH) | ||
210 | |||
208 | KCONFIG_CONFIG ?= .config | 211 | KCONFIG_CONFIG ?= .config |
209 | 212 | ||
210 | # SHELL used by kbuild | 213 | # SHELL used by kbuild |
@@ -1014,43 +1017,39 @@ firmware_install: FORCE | |||
1014 | #Default location for installed headers | 1017 | #Default location for installed headers |
1015 | export INSTALL_HDR_PATH = $(objtree)/usr | 1018 | export INSTALL_HDR_PATH = $(objtree)/usr |
1016 | 1019 | ||
1017 | hdr-filter := generic um ppc sparc64 cris | ||
1018 | hdr-archs := $(filter-out $(hdr-filter), \ | ||
1019 | $(patsubst $(srctree)/include/asm-%/Kbuild,%, \ | ||
1020 | $(wildcard $(srctree)/include/asm-*/Kbuild))) | ||
1021 | hdr-inst := -rR -f $(srctree)/scripts/Makefile.headersinst obj | 1020 | hdr-inst := -rR -f $(srctree)/scripts/Makefile.headersinst obj |
1021 | # Find out where the Kbuild file is located to support | ||
1022 | # arch/$(ARCH)/include/asm | ||
1023 | hdr-dir = $(strip \ | ||
1024 | $(if $(wildcard $(srctree)/arch/$(hdr-arch)/include/asm/Kbuild), \ | ||
1025 | arch/$(hdr-arch)/include/asm, include/asm-$(hdr-arch))) | ||
1026 | |||
1027 | # If we do an all arch process set dst to asm-$(hdr-arch) | ||
1028 | hdr-dst = $(if $(KBUILD_HEADERS), dst=include/asm-$(hdr-arch), dst=include/asm) | ||
1022 | 1029 | ||
1023 | PHONY += __headers | 1030 | PHONY += __headers |
1024 | __headers: include/linux/version.h scripts_basic FORCE | 1031 | __headers: include/linux/version.h scripts_basic FORCE |
1025 | $(Q)$(MAKE) $(build)=scripts scripts/unifdef | 1032 | $(Q)$(MAKE) $(build)=scripts scripts/unifdef |
1026 | 1033 | ||
1027 | PHONY += headers_install_all | 1034 | PHONY += headers_install_all |
1028 | headers_install_all: __headers | 1035 | headers_install_all: |
1029 | $(Q)$(MAKE) $(hdr-inst)=include | 1036 | $(Q)$(CONFIG_SHELL) $(srctree)/scripts/headers.sh install |
1030 | $(Q)set -e; for arch in $(hdr-archs); do \ | ||
1031 | $(MAKE) $(hdr-inst)=include/asm-$$arch \ | ||
1032 | SRCARCH=$$arch dst=include/asm-$$arch; \ | ||
1033 | done | ||
1034 | 1037 | ||
1035 | PHONY += headers_install | 1038 | PHONY += headers_install |
1036 | headers_install: __headers | 1039 | headers_install: __headers |
1037 | $(if $(wildcard $(srctree)/include/asm-$(SRCARCH)/Kbuild),, \ | 1040 | $(if $(wildcard $(srctree)/$(hdr-dir)/Kbuild),, \ |
1038 | $(error Headers not exportable for this architecture ($(SRCARCH)))) | 1041 | $(error Headers not exportable for the $(SRCARCH) architecture)) |
1039 | $(Q)$(MAKE) $(hdr-inst)=include | 1042 | $(Q)$(MAKE) $(hdr-inst)=include |
1040 | $(Q)$(MAKE) $(hdr-inst)=include/asm-$(SRCARCH) dst=include/asm | 1043 | $(Q)$(MAKE) $(hdr-inst)=$(hdr-dir) $(hdr-dst) |
1041 | 1044 | ||
1042 | PHONY += headers_check_all | 1045 | PHONY += headers_check_all |
1043 | headers_check_all: headers_install_all | 1046 | headers_check_all: headers_install_all |
1044 | $(Q)$(MAKE) $(hdr-inst)=include HDRCHECK=1 | 1047 | $(Q)$(CONFIG_SHELL) $(srctree)/scripts/headers.sh check |
1045 | $(Q)set -e; for arch in $(hdr-archs); do \ | ||
1046 | $(MAKE) SRCARCH=$$arch $(hdr-inst)=include/asm-$$arch HDRCHECK=1 ;\ | ||
1047 | done | ||
1048 | 1048 | ||
1049 | PHONY += headers_check | 1049 | PHONY += headers_check |
1050 | headers_check: headers_install | 1050 | headers_check: headers_install |
1051 | $(Q)$(MAKE) $(hdr-inst)=include HDRCHECK=1 | 1051 | $(Q)$(MAKE) $(hdr-inst)=include HDRCHECK=1 |
1052 | $(Q)$(MAKE) $(hdr-inst)=include/asm-$(SRCARCH) \ | 1052 | $(Q)$(MAKE) $(hdr-inst)=$(hdr-dir) $(hdr-dst) HDRCHECK=1 |
1053 | dst=include/asm HDRCHECK=1 | ||
1054 | 1053 | ||
1055 | # --------------------------------------------------------------------------- | 1054 | # --------------------------------------------------------------------------- |
1056 | # Modules | 1055 | # Modules |
@@ -1234,21 +1233,17 @@ help: | |||
1234 | @echo ' cscope - Generate cscope index' | 1233 | @echo ' cscope - Generate cscope index' |
1235 | @echo ' kernelrelease - Output the release version string' | 1234 | @echo ' kernelrelease - Output the release version string' |
1236 | @echo ' kernelversion - Output the version stored in Makefile' | 1235 | @echo ' kernelversion - Output the version stored in Makefile' |
1237 | @if [ -r $(srctree)/include/asm-$(SRCARCH)/Kbuild ]; then \ | 1236 | @echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'; \ |
1238 | echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'; \ | ||
1239 | echo ' (default: $(INSTALL_HDR_PATH))'; \ | 1237 | echo ' (default: $(INSTALL_HDR_PATH))'; \ |
1240 | fi | 1238 | echo '' |
1241 | @echo '' | ||
1242 | @echo 'Static analysers' | 1239 | @echo 'Static analysers' |
1243 | @echo ' checkstack - Generate a list of stack hogs' | 1240 | @echo ' checkstack - Generate a list of stack hogs' |
1244 | @echo ' namespacecheck - Name space analysis on compiled kernel' | 1241 | @echo ' namespacecheck - Name space analysis on compiled kernel' |
1245 | @echo ' versioncheck - Sanity check on version.h usage' | 1242 | @echo ' versioncheck - Sanity check on version.h usage' |
1246 | @echo ' includecheck - Check for duplicate included header files' | 1243 | @echo ' includecheck - Check for duplicate included header files' |
1247 | @echo ' export_report - List the usages of all exported symbols' | 1244 | @echo ' export_report - List the usages of all exported symbols' |
1248 | @if [ -r $(srctree)/include/asm-$(SRCARCH)/Kbuild ]; then \ | 1245 | @echo ' headers_check - Sanity check on exported headers'; \ |
1249 | echo ' headers_check - Sanity check on exported headers'; \ | 1246 | echo '' |
1250 | fi | ||
1251 | @echo '' | ||
1252 | @echo 'Kernel packaging:' | 1247 | @echo 'Kernel packaging:' |
1253 | @$(MAKE) $(build)=$(package-dir) help | 1248 | @$(MAKE) $(build)=$(package-dir) help |
1254 | @echo '' | 1249 | @echo '' |