diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 75 |
1 files changed, 42 insertions, 33 deletions
@@ -774,6 +774,9 @@ vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) $(kallsyms.o) vmlinux.o | |||
774 | ifdef CONFIG_HEADERS_CHECK | 774 | ifdef CONFIG_HEADERS_CHECK |
775 | $(Q)$(MAKE) -f $(srctree)/Makefile headers_check | 775 | $(Q)$(MAKE) -f $(srctree)/Makefile headers_check |
776 | endif | 776 | endif |
777 | ifdef CONFIG_SAMPLES | ||
778 | $(Q)$(MAKE) $(build)=samples | ||
779 | endif | ||
777 | $(call vmlinux-modpost) | 780 | $(call vmlinux-modpost) |
778 | $(call if_changed_rule,vmlinux__) | 781 | $(call if_changed_rule,vmlinux__) |
779 | $(Q)rm -f .old_version | 782 | $(Q)rm -f .old_version |
@@ -884,10 +887,7 @@ prepare2: prepare3 outputmakefile | |||
884 | 887 | ||
885 | prepare1: prepare2 include/linux/version.h include/linux/utsrelease.h \ | 888 | prepare1: prepare2 include/linux/version.h include/linux/utsrelease.h \ |
886 | include/asm include/config/auto.conf | 889 | include/asm include/config/auto.conf |
887 | ifneq ($(KBUILD_MODULES),) | 890 | $(cmd_crmodverdir) |
888 | $(Q)mkdir -p $(MODVERDIR) | ||
889 | $(Q)rm -f $(MODVERDIR)/* | ||
890 | endif | ||
891 | 891 | ||
892 | archprepare: prepare1 scripts_basic | 892 | archprepare: prepare1 scripts_basic |
893 | 893 | ||
@@ -903,14 +903,24 @@ prepare: prepare0 | |||
903 | 903 | ||
904 | export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH) | 904 | export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH) |
905 | 905 | ||
906 | # FIXME: The asm symlink changes when $(ARCH) changes. That's | 906 | # The asm symlink changes when $(ARCH) changes. |
907 | # hard to detect, but I suppose "make mrproper" is a good idea | 907 | # Detect this and ask user to run make mrproper |
908 | # before switching between archs anyway. | 908 | |
909 | 909 | include/asm: FORCE | |
910 | include/asm: | 910 | $(Q)set -e; asmlink=`readlink include/asm | cut -d '-' -f 2`; \ |
911 | @echo ' SYMLINK $@ -> include/asm-$(SRCARCH)' | 911 | if [ -L include/asm ]; then \ |
912 | $(Q)if [ ! -d include ]; then mkdir -p include; fi; | 912 | if [ "$$asmlink" != "$(SRCARCH)" ]; then \ |
913 | @ln -fsn asm-$(SRCARCH) $@ | 913 | echo "ERROR: the symlink $@ points to asm-$$asmlink but asm-$(SRCARCH) was expected"; \ |
914 | echo " set ARCH or save .config and run 'make mrproper' to fix it"; \ | ||
915 | exit 1; \ | ||
916 | fi; \ | ||
917 | else \ | ||
918 | echo ' SYMLINK $@ -> include/asm-$(SRCARCH)'; \ | ||
919 | if [ ! -d include ]; then \ | ||
920 | mkdir -p include; \ | ||
921 | fi; \ | ||
922 | ln -fsn asm-$(SRCARCH) $@; \ | ||
923 | fi | ||
914 | 924 | ||
915 | # Generate some files | 925 | # Generate some files |
916 | # --------------------------------------------------------------------------- | 926 | # --------------------------------------------------------------------------- |
@@ -1020,19 +1030,12 @@ _modinst_: | |||
1020 | fi | 1030 | fi |
1021 | $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst | 1031 | $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst |
1022 | 1032 | ||
1023 | # If System.map exists, run depmod. This deliberately does not have a | 1033 | # This depmod is only for convenience to give the initial |
1024 | # dependency on System.map since that would run the dependency tree on | ||
1025 | # vmlinux. This depmod is only for convenience to give the initial | ||
1026 | # boot a modules.dep even before / is mounted read-write. However the | 1034 | # boot a modules.dep even before / is mounted read-write. However the |
1027 | # boot script depmod is the master version. | 1035 | # boot script depmod is the master version. |
1028 | ifeq "$(strip $(INSTALL_MOD_PATH))" "" | ||
1029 | depmod_opts := | ||
1030 | else | ||
1031 | depmod_opts := -b $(INSTALL_MOD_PATH) -r | ||
1032 | endif | ||
1033 | PHONY += _modinst_post | 1036 | PHONY += _modinst_post |
1034 | _modinst_post: _modinst_ | 1037 | _modinst_post: _modinst_ |
1035 | if [ -r System.map -a -x $(DEPMOD) ]; then $(DEPMOD) -ae -F System.map $(depmod_opts) $(KERNELRELEASE); fi | 1038 | $(call cmd,depmod) |
1036 | 1039 | ||
1037 | else # CONFIG_MODULES | 1040 | else # CONFIG_MODULES |
1038 | 1041 | ||
@@ -1220,8 +1223,7 @@ else # KBUILD_EXTMOD | |||
1220 | KBUILD_MODULES := 1 | 1223 | KBUILD_MODULES := 1 |
1221 | PHONY += crmodverdir | 1224 | PHONY += crmodverdir |
1222 | crmodverdir: | 1225 | crmodverdir: |
1223 | $(Q)mkdir -p $(MODVERDIR) | 1226 | $(cmd_crmodverdir) |
1224 | $(Q)rm -f $(MODVERDIR)/* | ||
1225 | 1227 | ||
1226 | PHONY += $(objtree)/Module.symvers | 1228 | PHONY += $(objtree)/Module.symvers |
1227 | $(objtree)/Module.symvers: | 1229 | $(objtree)/Module.symvers: |
@@ -1249,15 +1251,6 @@ _emodinst_: | |||
1249 | $(Q)mkdir -p $(MODLIB)/$(install-dir) | 1251 | $(Q)mkdir -p $(MODLIB)/$(install-dir) |
1250 | $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst | 1252 | $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst |
1251 | 1253 | ||
1252 | # Run depmod only is we have System.map and depmod is executable | ||
1253 | quiet_cmd_depmod = DEPMOD $(KERNELRELEASE) | ||
1254 | cmd_depmod = if [ -r System.map -a -x $(DEPMOD) ]; then \ | ||
1255 | $(DEPMOD) -ae -F System.map \ | ||
1256 | $(if $(strip $(INSTALL_MOD_PATH)), \ | ||
1257 | -b $(INSTALL_MOD_PATH) -r) \ | ||
1258 | $(KERNELRELEASE); \ | ||
1259 | fi | ||
1260 | |||
1261 | PHONY += _emodinst_post | 1254 | PHONY += _emodinst_post |
1262 | _emodinst_post: _emodinst_ | 1255 | _emodinst_post: _emodinst_ |
1263 | $(call cmd,depmod) | 1256 | $(call cmd,depmod) |
@@ -1341,7 +1334,7 @@ define find-sources | |||
1341 | find $(__srctree)include/asm-generic $(RCS_FIND_IGNORE) \ | 1334 | find $(__srctree)include/asm-generic $(RCS_FIND_IGNORE) \ |
1342 | -name $1 -print; \ | 1335 | -name $1 -print; \ |
1343 | find $(__srctree) $(RCS_FIND_IGNORE) \ | 1336 | find $(__srctree) $(RCS_FIND_IGNORE) \ |
1344 | \( -name include -o -name arch \) -prune -o \ | 1337 | \( -name include -o -name arch -o -name '.tmp_*' \) -prune -o \ |
1345 | -name $1 -print; \ | 1338 | -name $1 -print; \ |
1346 | ) | 1339 | ) |
1347 | endef | 1340 | endef |
@@ -1490,9 +1483,11 @@ endif | |||
1490 | 1483 | ||
1491 | # Modules | 1484 | # Modules |
1492 | / %/: prepare scripts FORCE | 1485 | / %/: prepare scripts FORCE |
1486 | $(cmd_crmodverdir) | ||
1493 | $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ | 1487 | $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ |
1494 | $(build)=$(build-dir) | 1488 | $(build)=$(build-dir) |
1495 | %.ko: prepare scripts FORCE | 1489 | %.ko: prepare scripts FORCE |
1490 | $(cmd_crmodverdir) | ||
1496 | $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ | 1491 | $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ |
1497 | $(build)=$(build-dir) $(@:.ko=.o) | 1492 | $(build)=$(build-dir) $(@:.ko=.o) |
1498 | $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost | 1493 | $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost |
@@ -1506,6 +1501,20 @@ quiet_cmd_rmdirs = $(if $(wildcard $(rm-dirs)),CLEAN $(wildcard $(rm-dirs))) | |||
1506 | quiet_cmd_rmfiles = $(if $(wildcard $(rm-files)),CLEAN $(wildcard $(rm-files))) | 1501 | quiet_cmd_rmfiles = $(if $(wildcard $(rm-files)),CLEAN $(wildcard $(rm-files))) |
1507 | cmd_rmfiles = rm -f $(rm-files) | 1502 | cmd_rmfiles = rm -f $(rm-files) |
1508 | 1503 | ||
1504 | # Run depmod only is we have System.map and depmod is executable | ||
1505 | # and we build for the host arch | ||
1506 | quiet_cmd_depmod = DEPMOD $(KERNELRELEASE) | ||
1507 | cmd_depmod = \ | ||
1508 | if [ -r System.map -a -x $(DEPMOD) ]; then \ | ||
1509 | $(DEPMOD) -ae -F System.map \ | ||
1510 | $(if $(strip $(INSTALL_MOD_PATH)), -b $(INSTALL_MOD_PATH) -r) \ | ||
1511 | $(KERNELRELEASE); \ | ||
1512 | fi | ||
1513 | |||
1514 | # Create temporary dir for module support files | ||
1515 | # clean it up only when building all modules | ||
1516 | cmd_crmodverdir = $(Q)mkdir -p $(MODVERDIR) \ | ||
1517 | $(if $(KBUILD_MODULES),; rm -f $(MODVERDIR)/*) | ||
1509 | 1518 | ||
1510 | a_flags = -Wp,-MD,$(depfile) $(KBUILD_AFLAGS) $(AFLAGS_KERNEL) \ | 1519 | a_flags = -Wp,-MD,$(depfile) $(KBUILD_AFLAGS) $(AFLAGS_KERNEL) \ |
1511 | $(NOSTDINC_FLAGS) $(KBUILD_CPPFLAGS) \ | 1520 | $(NOSTDINC_FLAGS) $(KBUILD_CPPFLAGS) \ |