aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile64
1 files changed, 35 insertions, 29 deletions
diff --git a/Makefile b/Makefile
index 12c8d714777..a59c1e2d0c2 100644
--- a/Makefile
+++ b/Makefile
@@ -95,7 +95,7 @@ ifdef O
95endif 95endif
96 96
97# That's our default target when none is given on the command line 97# That's our default target when none is given on the command line
98.PHONY: _all 98PHONY := _all
99_all: 99_all:
100 100
101ifneq ($(KBUILD_OUTPUT),) 101ifneq ($(KBUILD_OUTPUT),)
@@ -106,7 +106,7 @@ KBUILD_OUTPUT := $(shell cd $(KBUILD_OUTPUT) && /bin/pwd)
106$(if $(KBUILD_OUTPUT),, \ 106$(if $(KBUILD_OUTPUT),, \
107 $(error output directory "$(saved-output)" does not exist)) 107 $(error output directory "$(saved-output)" does not exist))
108 108
109.PHONY: $(MAKECMDGOALS) 109PHONY += $(MAKECMDGOALS)
110 110
111$(filter-out _all,$(MAKECMDGOALS)) _all: 111$(filter-out _all,$(MAKECMDGOALS)) _all:
112 $(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT) \ 112 $(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT) \
@@ -123,7 +123,7 @@ ifeq ($(skip-makefile),)
123 123
124# If building an external module we do not care about the all: rule 124# If building an external module we do not care about the all: rule
125# but instead _all depend on modules 125# but instead _all depend on modules
126.PHONY: all 126PHONY += all
127ifeq ($(KBUILD_EXTMOD),) 127ifeq ($(KBUILD_EXTMOD),)
128_all: all 128_all: all
129else 129else
@@ -337,14 +337,14 @@ export RCS_TAR_IGNORE := --exclude SCCS --exclude BitKeeper --exclude .svn --exc
337# Rules shared between *config targets and build targets 337# Rules shared between *config targets and build targets
338 338
339# Basic helpers built in scripts/ 339# Basic helpers built in scripts/
340.PHONY: scripts_basic 340PHONY += scripts_basic
341scripts_basic: 341scripts_basic:
342 $(Q)$(MAKE) $(build)=scripts/basic 342 $(Q)$(MAKE) $(build)=scripts/basic
343 343
344# To avoid any implicit rule to kick in, define an empty command. 344# To avoid any implicit rule to kick in, define an empty command.
345scripts/basic/%: scripts_basic ; 345scripts/basic/%: scripts_basic ;
346 346
347.PHONY: outputmakefile 347PHONY += outputmakefile
348# outputmakefile generate a Makefile to be placed in output directory, if 348# outputmakefile generate a Makefile to be placed in output directory, if
349# using a seperate output directory. This allows convinient use 349# using a seperate output directory. This allows convinient use
350# of make in output directory 350# of make in output directory
@@ -420,7 +420,7 @@ ifeq ($(KBUILD_EXTMOD),)
420# Additional helpers built in scripts/ 420# Additional helpers built in scripts/
421# Carefully list dependencies so we do not try to build scripts twice 421# Carefully list dependencies so we do not try to build scripts twice
422# in parrallel 422# in parrallel
423.PHONY: scripts 423PHONY += scripts
424scripts: scripts_basic include/config/MARKER 424scripts: scripts_basic include/config/MARKER
425 $(Q)$(MAKE) $(build)=$(@) 425 $(Q)$(MAKE) $(build)=$(@)
426 426
@@ -720,7 +720,7 @@ $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
720# make menuconfig etc. 720# make menuconfig etc.
721# Error messages still appears in the original language 721# Error messages still appears in the original language
722 722
723.PHONY: $(vmlinux-dirs) 723PHONY += $(vmlinux-dirs)
724$(vmlinux-dirs): prepare scripts 724$(vmlinux-dirs): prepare scripts
725 $(Q)$(MAKE) $(build)=$@ 725 $(Q)$(MAKE) $(build)=$@
726 726
@@ -773,10 +773,10 @@ kernelrelease = $(KERNELVERSION)$(localver-full)
773# version.h and scripts_basic is processed / created. 773# version.h and scripts_basic is processed / created.
774 774
775# Listed in dependency order 775# Listed in dependency order
776.PHONY: prepare archprepare prepare0 prepare1 prepare2 prepare3 776PHONY += prepare archprepare prepare0 prepare1 prepare2 prepare3
777 777
778# prepare-all is deprecated, use prepare as valid replacement 778# prepare-all is deprecated, use prepare as valid replacement
779.PHONY: prepare-all 779PHONY += prepare-all
780 780
781# prepare3 is used to check if we are building in a separate output directory, 781# prepare3 is used to check if we are building in a separate output directory,
782# and if so do: 782# and if so do:
@@ -857,7 +857,7 @@ include/linux/version.h: $(srctree)/Makefile .config .kernelrelease FORCE
857 857
858# --------------------------------------------------------------------------- 858# ---------------------------------------------------------------------------
859 859
860.PHONY: depend dep 860PHONY += depend dep
861depend dep: 861depend dep:
862 @echo '*** Warning: make $@ is unnecessary now.' 862 @echo '*** Warning: make $@ is unnecessary now.'
863 863
@@ -872,21 +872,21 @@ all: modules
872 872
873# Build modules 873# Build modules
874 874
875.PHONY: modules 875PHONY += modules
876modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) 876modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux)
877 @echo ' Building modules, stage 2.'; 877 @echo ' Building modules, stage 2.';
878 $(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modpost 878 $(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modpost
879 879
880 880
881# Target to prepare building external modules 881# Target to prepare building external modules
882.PHONY: modules_prepare 882PHONY += modules_prepare
883modules_prepare: prepare scripts 883modules_prepare: prepare scripts
884 884
885# Target to install modules 885# Target to install modules
886.PHONY: modules_install 886PHONY += modules_install
887modules_install: _modinst_ _modinst_post 887modules_install: _modinst_ _modinst_post
888 888
889.PHONY: _modinst_ 889PHONY += _modinst_
890_modinst_: 890_modinst_:
891 @if [ -z "`$(DEPMOD) -V 2>/dev/null | grep module-init-tools`" ]; then \ 891 @if [ -z "`$(DEPMOD) -V 2>/dev/null | grep module-init-tools`" ]; then \
892 echo "Warning: you may need to install module-init-tools"; \ 892 echo "Warning: you may need to install module-init-tools"; \
@@ -913,7 +913,7 @@ depmod_opts :=
913else 913else
914depmod_opts := -b $(INSTALL_MOD_PATH) -r 914depmod_opts := -b $(INSTALL_MOD_PATH) -r
915endif 915endif
916.PHONY: _modinst_post 916PHONY += _modinst_post
917_modinst_post: _modinst_ 917_modinst_post: _modinst_
918 if [ -r System.map -a -x $(DEPMOD) ]; then $(DEPMOD) -ae -F System.map $(depmod_opts) $(KERNELRELEASE); fi 918 if [ -r System.map -a -x $(DEPMOD) ]; then $(DEPMOD) -ae -F System.map $(depmod_opts) $(KERNELRELEASE); fi
919 919
@@ -956,7 +956,7 @@ clean: rm-dirs := $(CLEAN_DIRS)
956clean: rm-files := $(CLEAN_FILES) 956clean: rm-files := $(CLEAN_FILES)
957clean-dirs := $(addprefix _clean_,$(srctree) $(vmlinux-alldirs)) 957clean-dirs := $(addprefix _clean_,$(srctree) $(vmlinux-alldirs))
958 958
959.PHONY: $(clean-dirs) clean archclean 959PHONY += $(clean-dirs) clean archclean
960$(clean-dirs): 960$(clean-dirs):
961 $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@) 961 $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
962 962
@@ -974,7 +974,7 @@ mrproper: rm-dirs := $(wildcard $(MRPROPER_DIRS))
974mrproper: rm-files := $(wildcard $(MRPROPER_FILES)) 974mrproper: rm-files := $(wildcard $(MRPROPER_FILES))
975mrproper-dirs := $(addprefix _mrproper_,Documentation/DocBook scripts) 975mrproper-dirs := $(addprefix _mrproper_,Documentation/DocBook scripts)
976 976
977.PHONY: $(mrproper-dirs) mrproper archmrproper 977PHONY += $(mrproper-dirs) mrproper archmrproper
978$(mrproper-dirs): 978$(mrproper-dirs):
979 $(Q)$(MAKE) $(clean)=$(patsubst _mrproper_%,%,$@) 979 $(Q)$(MAKE) $(clean)=$(patsubst _mrproper_%,%,$@)
980 980
@@ -984,7 +984,7 @@ mrproper: clean archmrproper $(mrproper-dirs)
984 984
985# distclean 985# distclean
986# 986#
987.PHONY: distclean 987PHONY += distclean
988 988
989distclean: mrproper 989distclean: mrproper
990 @find $(srctree) $(RCS_FIND_IGNORE) \ 990 @find $(srctree) $(RCS_FIND_IGNORE) \
@@ -1000,7 +1000,7 @@ distclean: mrproper
1000# rpm target kept for backward compatibility 1000# rpm target kept for backward compatibility
1001package-dir := $(srctree)/scripts/package 1001package-dir := $(srctree)/scripts/package
1002 1002
1003.PHONY: %-pkg rpm 1003PHONY += %-pkg rpm
1004 1004
1005%pkg: FORCE 1005%pkg: FORCE
1006 $(Q)$(MAKE) -f $(package-dir)/Makefile $@ 1006 $(Q)$(MAKE) -f $(package-dir)/Makefile $@
@@ -1092,12 +1092,12 @@ else # KBUILD_EXTMOD
1092 1092
1093# We are always building modules 1093# We are always building modules
1094KBUILD_MODULES := 1 1094KBUILD_MODULES := 1
1095.PHONY: crmodverdir 1095PHONY += crmodverdir
1096crmodverdir: 1096crmodverdir:
1097 $(Q)rm -rf $(MODVERDIR) 1097 $(Q)rm -rf $(MODVERDIR)
1098 $(Q)mkdir -p $(MODVERDIR) 1098 $(Q)mkdir -p $(MODVERDIR)
1099 1099
1100.PHONY: $(objtree)/Module.symvers 1100PHONY += $(objtree)/Module.symvers
1101$(objtree)/Module.symvers: 1101$(objtree)/Module.symvers:
1102 @test -e $(objtree)/Module.symvers || ( \ 1102 @test -e $(objtree)/Module.symvers || ( \
1103 echo; \ 1103 echo; \
@@ -1106,7 +1106,7 @@ $(objtree)/Module.symvers:
1106 echo ) 1106 echo )
1107 1107
1108module-dirs := $(addprefix _module_,$(KBUILD_EXTMOD)) 1108module-dirs := $(addprefix _module_,$(KBUILD_EXTMOD))
1109.PHONY: $(module-dirs) modules 1109PHONY += $(module-dirs) modules
1110$(module-dirs): crmodverdir $(objtree)/Module.symvers 1110$(module-dirs): crmodverdir $(objtree)/Module.symvers
1111 $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@) 1111 $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@)
1112 1112
@@ -1114,11 +1114,11 @@ modules: $(module-dirs)
1114 @echo ' Building modules, stage 2.'; 1114 @echo ' Building modules, stage 2.';
1115 $(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modpost 1115 $(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modpost
1116 1116
1117.PHONY: modules_install 1117PHONY += modules_install
1118modules_install: _emodinst_ _emodinst_post 1118modules_install: _emodinst_ _emodinst_post
1119 1119
1120install-dir := $(if $(INSTALL_MOD_DIR),$(INSTALL_MOD_DIR),extra) 1120install-dir := $(if $(INSTALL_MOD_DIR),$(INSTALL_MOD_DIR),extra)
1121.PHONY: _emodinst_ 1121PHONY += _emodinst_
1122_emodinst_: 1122_emodinst_:
1123 $(Q)rm -rf $(MODLIB)/$(install-dir) 1123 $(Q)rm -rf $(MODLIB)/$(install-dir)
1124 $(Q)mkdir -p $(MODLIB)/$(install-dir) 1124 $(Q)mkdir -p $(MODLIB)/$(install-dir)
@@ -1133,13 +1133,13 @@ quiet_cmd_depmod = DEPMOD $(KERNELRELEASE)
1133 $(KERNELRELEASE); \ 1133 $(KERNELRELEASE); \
1134 fi 1134 fi
1135 1135
1136.PHONY: _emodinst_post 1136PHONY += _emodinst_post
1137_emodinst_post: _emodinst_ 1137_emodinst_post: _emodinst_
1138 $(call cmd,depmod) 1138 $(call cmd,depmod)
1139 1139
1140clean-dirs := $(addprefix _clean_,$(KBUILD_EXTMOD)) 1140clean-dirs := $(addprefix _clean_,$(KBUILD_EXTMOD))
1141 1141
1142.PHONY: $(clean-dirs) clean 1142PHONY += $(clean-dirs) clean
1143$(clean-dirs): 1143$(clean-dirs):
1144 $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@) 1144 $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
1145 1145
@@ -1161,7 +1161,7 @@ help:
1161 @echo '' 1161 @echo ''
1162 1162
1163# Dummies... 1163# Dummies...
1164.PHONY: prepare scripts 1164PHONY += prepare scripts
1165prepare: ; 1165prepare: ;
1166scripts: ; 1166scripts: ;
1167endif # KBUILD_EXTMOD 1167endif # KBUILD_EXTMOD
@@ -1274,7 +1274,7 @@ namespacecheck:
1274endif #ifeq ($(config-targets),1) 1274endif #ifeq ($(config-targets),1)
1275endif #ifeq ($(mixed-targets),1) 1275endif #ifeq ($(mixed-targets),1)
1276 1276
1277.PHONY: checkstack 1277PHONY += checkstack
1278checkstack: 1278checkstack:
1279 $(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \ 1279 $(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \
1280 $(PERL) $(src)/scripts/checkstack.pl $(ARCH) 1280 $(PERL) $(src)/scripts/checkstack.pl $(ARCH)
@@ -1357,4 +1357,10 @@ clean := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.clean obj
1357 1357
1358endif # skip-makefile 1358endif # skip-makefile
1359 1359
1360PHONY += FORCE
1360FORCE: 1361FORCE:
1362
1363
1364# Declare the contents of the .PHONY variable as phony. We keep that
1365# information in a variable se we can use it in if_changed and friends.
1366.PHONY: $(PHONY)