aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile20
1 files changed, 9 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index a65ffd27de6b..189d8ef416e6 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
1VERSION = 2 1VERSION = 2
2PATCHLEVEL = 6 2PATCHLEVEL = 6
3SUBLEVEL = 24 3SUBLEVEL = 24
4EXTRAVERSION = -rc3 4EXTRAVERSION =
5NAME = Arr Matey! A Hairy Bilge Rat! 5NAME = Arr Matey! A Hairy Bilge Rat!
6 6
7# *DOCUMENTATION* 7# *DOCUMENTATION*
@@ -12,7 +12,7 @@ NAME = Arr Matey! A Hairy Bilge Rat!
12 12
13# Do not: 13# Do not:
14# o use make's built-in rules and variables 14# o use make's built-in rules and variables
15# (this increases performance and avoid hard-to-debug behavour); 15# (this increases performance and avoids hard-to-debug behaviour);
16# o print "Entering directory ..."; 16# o print "Entering directory ...";
17MAKEFLAGS += -rR --no-print-directory 17MAKEFLAGS += -rR --no-print-directory
18 18
@@ -108,6 +108,9 @@ endif
108PHONY := _all 108PHONY := _all
109_all: 109_all:
110 110
111# Cancel implicit rules on top Makefile
112$(CURDIR)/Makefile Makefile: ;
113
111ifneq ($(KBUILD_OUTPUT),) 114ifneq ($(KBUILD_OUTPUT),)
112# Invoke a second make in the output directory, passing relevant variables 115# Invoke a second make in the output directory, passing relevant variables
113# check that the output directory actually exists 116# check that the output directory actually exists
@@ -115,13 +118,10 @@ saved-output := $(KBUILD_OUTPUT)
115KBUILD_OUTPUT := $(shell cd $(KBUILD_OUTPUT) && /bin/pwd) 118KBUILD_OUTPUT := $(shell cd $(KBUILD_OUTPUT) && /bin/pwd)
116$(if $(KBUILD_OUTPUT),, \ 119$(if $(KBUILD_OUTPUT),, \
117 $(error output directory "$(saved-output)" does not exist)) 120 $(error output directory "$(saved-output)" does not exist))
118# Check that OUTPUT directory is not the same as where we have kernel src
119$(if $(filter-out $(KBUILD_OUTPUT),$(shell /bin/pwd)),, \
120 $(error Output directory (O=...) specifies kernel src dir))
121 121
122PHONY += $(MAKECMDGOALS) sub-make 122PHONY += $(MAKECMDGOALS) sub-make
123 123
124$(filter-out _all sub-make,$(MAKECMDGOALS)) _all: sub-make 124$(filter-out _all sub-make $(CURDIR)/Makefile, $(MAKECMDGOALS)) _all: sub-make
125 $(Q)@: 125 $(Q)@:
126 126
127sub-make: FORCE 127sub-make: FORCE
@@ -291,7 +291,8 @@ export quiet Q KBUILD_VERBOSE
291# Look for make include files relative to root of kernel src 291# Look for make include files relative to root of kernel src
292MAKEFLAGS += --include-dir=$(srctree) 292MAKEFLAGS += --include-dir=$(srctree)
293 293
294# We need some generic definitions. 294# We need some generic definitions (do not try to remake the file).
295$(srctree)/scripts/Kbuild.include: ;
295include $(srctree)/scripts/Kbuild.include 296include $(srctree)/scripts/Kbuild.include
296 297
297# Make variables (CC, etc...) 298# Make variables (CC, etc...)
@@ -1328,7 +1329,7 @@ else
1328ALLINCLUDE_ARCHS := $(SRCARCH) 1329ALLINCLUDE_ARCHS := $(SRCARCH)
1329endif 1330endif
1330else 1331else
1331#Allow user to specify only ALLSOURCE_PATHS on the command line, keeping existing behavour. 1332#Allow user to specify only ALLSOURCE_PATHS on the command line, keeping existing behaviour.
1332ALLINCLUDE_ARCHS := $(ALLSOURCE_ARCHS) 1333ALLINCLUDE_ARCHS := $(ALLSOURCE_ARCHS)
1333endif 1334endif
1334 1335
@@ -1560,9 +1561,6 @@ endif # skip-makefile
1560PHONY += FORCE 1561PHONY += FORCE
1561FORCE: 1562FORCE:
1562 1563
1563# Cancel implicit rules on top Makefile, `-rR' will apply to sub-makes.
1564Makefile: ;
1565
1566# Declare the contents of the .PHONY variable as phony. We keep that 1564# Declare the contents of the .PHONY variable as phony. We keep that
1567# information in a variable se we can use it in if_changed and friends. 1565# information in a variable se we can use it in if_changed and friends.
1568.PHONY: $(PHONY) 1566.PHONY: $(PHONY)