X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=Makefile;h=9e1adac8aa282d0936efad3a39230d4e061698da;hb=a51545ab2523b9cfd426737495f877821006371a;hp=7a06c16602fd8e7f238d2beb14553a039897f0b9;hpb=398477d4bd57cc33792fd93035c2763ad78629c4;p=~andy%2Flinux diff --git a/Makefile b/Makefile index 7a06c16602f..9e1adac8aa2 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ VERSION = 2 PATCHLEVEL = 6 -SUBLEVEL = 18 -EXTRAVERSION = -NAME=Avast! A bilge rat! +SUBLEVEL = 20 +EXTRAVERSION =-rc6 +NAME = Homicidal Dwarf Hamster # *DOCUMENTATION* # To see a list of typical targets execute "make help" @@ -10,8 +10,11 @@ NAME=Avast! A bilge rat! # Comments in this file are targeted only to the developer, do not # expect to learn how to build the kernel reading this file. -# Do not print "Entering directory ..." -MAKEFLAGS += --no-print-directory +# Do not: +# o use make's built-in rules and variables +# (this increases performance and avoid hard-to-debug behavour); +# o print "Entering directory ..."; +MAKEFLAGS += -rR --no-print-directory # We are using a recursive build, so we need to do a little thinking # to get the ordering right. @@ -271,12 +274,8 @@ export quiet Q KBUILD_VERBOSE # Look for make include files relative to root of kernel src MAKEFLAGS += --include-dir=$(srctree) -# We need some generic definitions -include $(srctree)/scripts/Kbuild.include - -# Do not use make's built-in rules and variables -# This increases performance and avoid hard-to-debug behavour -MAKEFLAGS += -rR +# We need some generic definitions. +include $(srctree)/scripts/Kbuild.include # Make variables (CC, etc...) @@ -497,10 +496,6 @@ else CFLAGS += -fomit-frame-pointer endif -ifdef CONFIG_UNWIND_INFO -CFLAGS += -fasynchronous-unwind-tables -endif - ifdef CONFIG_DEBUG_INFO CFLAGS += -g endif @@ -741,6 +736,9 @@ endif # ifdef CONFIG_KALLSYMS # vmlinux image - including updated kernel symbols vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) $(kallsyms.o) FORCE +ifdef CONFIG_HEADERS_CHECK + $(Q)$(MAKE) -f $(srctree)/Makefile headers_check +endif $(call if_changed_rule,vmlinux__) $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost $@ $(Q)rm -f .old_version @@ -932,11 +930,10 @@ headers_install_all: include/linux/version.h scripts_basic FORCE PHONY += headers_install headers_install: include/linux/version.h scripts_basic FORCE - @if [ ! -r include/asm-$(ARCH)/Kbuild ]; then \ + @if [ ! -r $(srctree)/include/asm-$(ARCH)/Kbuild ]; then \ echo '*** Error: Headers not exportable for this architecture ($(ARCH))'; \ exit 1 ; fi $(Q)$(MAKE) $(build)=scripts scripts/unifdef - $(Q)rm -rf $(INSTALL_HDR_PATH)/include $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.headersinst obj=include PHONY += headers_check @@ -1098,9 +1095,9 @@ boards := $(notdir $(boards)) help: @echo 'Cleaning targets:' - @echo ' clean - remove most generated files but keep the config and' + @echo ' clean - Remove most generated files but keep the config and' @echo ' enough build support to build external modules' - @echo ' mrproper - remove all generated files + config + various backup files' + @echo ' mrproper - Remove all generated files + config + various backup files' @echo ' distclean - mrproper + remove editor backup and patch files' @echo '' @echo 'Configuration targets:' @@ -1317,12 +1314,13 @@ define xtags $(all-sources) | xargs $1 -a \ -I __initdata,__exitdata,__acquires,__releases \ -I EXPORT_SYMBOL,EXPORT_SYMBOL_GPL \ - --extra=+f --c-kinds=+px; \ + --extra=+f --c-kinds=+px \ + --regex-asm='/ENTRY\(([^)]*)\).*/\1/'; \ $(all-kconfigs) | xargs $1 -a \ --langdef=kconfig \ --language-force=kconfig \ --regex-kconfig='/^[[:blank:]]*config[[:blank:]]+([[:alnum:]_]+)/\1/'; \ - $(all-defconfigs) | xargs $1 -a \ + $(all-defconfigs) | xargs -r $1 -a \ --langdef=dotconfig \ --language-force=dotconfig \ --regex-dotconfig='/^#?[[:blank:]]*(CONFIG_[[:alnum:]_]+)/\1/'; \ @@ -1330,7 +1328,7 @@ define xtags $(all-sources) | xargs $1 -a; \ $(all-kconfigs) | xargs $1 -a \ --regex='/^[ \t]*config[ \t]+\([a-zA-Z0-9_]+\)/\1/'; \ - $(all-defconfigs) | xargs $1 -a \ + $(all-defconfigs) | xargs -r $1 -a \ --regex='/^#?[ \t]?\(CONFIG_[a-zA-Z0-9_]+\)/\1/'; \ else \ $(all-sources) | xargs $1 -a; \ @@ -1386,9 +1384,19 @@ endif #ifeq ($(config-targets),1) endif #ifeq ($(mixed-targets),1) PHONY += checkstack kernelrelease kernelversion + +# UML needs a little special treatment here. It wants to use the host +# toolchain, so needs $(SUBARCH) passed to checkstack.pl. Everyone +# else wants $(ARCH), including people doing cross-builds, which means +# that $(SUBARCH) doesn't work here. +ifeq ($(ARCH), um) +CHECKSTACK_ARCH := $(SUBARCH) +else +CHECKSTACK_ARCH := $(ARCH) +endif checkstack: $(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \ - $(PERL) $(src)/scripts/checkstack.pl $(ARCH) + $(PERL) $(src)/scripts/checkstack.pl $(CHECKSTACK_ARCH) kernelrelease: $(if $(wildcard include/config/kernel.release), $(Q)echo $(KERNELRELEASE), \ @@ -1476,6 +1484,8 @@ endif # skip-makefile PHONY += FORCE FORCE: +# Cancel implicit rules on top Makefile, `-rR' will apply to sub-makes. +Makefile: ; # Declare the contents of the .PHONY variable as phony. We keep that # information in a variable se we can use it in if_changed and friends.