Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.27-rc5 /Makefile

Filename:/Makefile
Lines Added:104
Lines Deleted:53
Also changed in: (Previous) 2.6.27-rc4-git7  2.6.27-rc4-git6  2.6.27-rc4-git5  2.6.27-rc4-git4  2.6.27-rc4-git3  2.6.27-rc4-git2 
(Following) 2.6.27-rc5-git1  2.6.27-rc5-git2  2.6.27-rc5-git3  2.6.27-rc5-git4  2.6.27-rc5-git5  2.6.27-rc5-git6 

Location
[  2.6.27-rc5
   o  Makefile

Patch

diff --git a/Makefile b/Makefile
index e3c5eb6..f448e00 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 6
-SUBLEVEL = 26
-EXTRAVERSION =
+SUBLEVEL = 27
+EXTRAVERSION = -rc5
 NAME = Rotary Wombat
 
 # *DOCUMENTATION*
@@ -205,6 +205,13 @@ ifeq ($(ARCH),x86_64)
         SRCARCH := x86
 endif
 
+# Where to locate arch specific headers
+ifeq ($(ARCH),sparc64)
+       hdr-arch  := sparc
+else
+       hdr-arch  := $(SRCARCH)
+endif
+
 KCONFIG_CONFIG   ?= .config
 
 # SHELL used by kbuild
@@ -326,7 +333,8 @@ AFLAGS_KERNEL   =
 # Needed to be compatible with the O= option
 LINUXINCLUDE    := -Iinclude \
                    $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) \
-         -include include/linux/autoconf.h
+                   -I$(srctree)/arch/$(hdr-arch)/include               \
+                   -include include/linux/autoconf.h
 
 KBUILD_CPPFLAGS := -D__KERNEL__ $(LINUXINCLUDE)
 
@@ -450,7 +458,7 @@ scripts: scripts_basic include/config/auto.conf
 
 # Objects we will link into vmlinux / subdirs we need to visit
 init-y      := init/
-drivers-y   := drivers/ sound/
+drivers-y   := drivers/ sound/ firmware/
 net-y      := net/
 libs-y      := lib/
 core-y      := usr/
@@ -507,6 +515,8 @@ else
 KBUILD_CFLAGS   += -O2
 endif
 
+include $(srctree)/arch/$(SRCARCH)/Makefile
+
 ifneq (CONFIG_FRAME_WARN,0)
 KBUILD_CFLAGS += $(call cc-option,-Wframe-larger-than=${CONFIG_FRAME_WARN})
 endif
@@ -515,8 +525,6 @@ endif
 # Arch Makefiles may override this setting
 KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
 
-include $(srctree)/arch/$(SRCARCH)/Makefile
-
 ifdef CONFIG_FRAME_POINTER
 KBUILD_CFLAGS   += -fno-omit-frame-pointer -fno-optimize-sibling-calls
 else
@@ -528,6 +536,10 @@ KBUILD_CFLAGS   += -g
 KBUILD_AFLAGS   += -gdwarf-2
 endif
 
+ifdef CONFIG_FTRACE
+KBUILD_CFLAGS   += -pg
+endif
+
 # We trigger additional mismatches with less inlining
 ifdef CONFIG_DEBUG_SECTION_MISMATCH
 KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
@@ -810,6 +822,9 @@ endif
 ifdef CONFIG_SAMPLES
    $(Q)$(MAKE) $(build)=samples
 endif
+ifdef CONFIG_BUILD_DOCSRC
+   $(Q)$(MAKE) $(build)=Documentation
+endif
    $(call vmlinux-modpost)
    $(call if_changed_rule,vmlinux__)
    $(Q)rm -f .old_version
@@ -917,8 +932,10 @@ ifneq ($(KBUILD_SRC),)
       echo "  in the '$(srctree)' directory.";\
       /bin/false; \
    fi;
-   $(Q)if [ ! -d include2 ]; then mkdir -p include2; fi;
-   $(Q)ln -fsn $(srctree)/include/asm-$(SRCARCH) include2/asm
+   $(Q)if [ ! -d include2 ]; then                                  \
+       mkdir -p include2;                                          \
+       ln -fsn $(srctree)/include/asm-$(SRCARCH) include2/asm;     \
+   fi
 endif
 
 # prepare2 creates a makefile if using a separate output directory
@@ -944,22 +961,34 @@ export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH)
 
 # The asm symlink changes when $(ARCH) changes.
 # Detect this and ask user to run make mrproper
-
-include/asm: FORCE
-   $(Q)set -e; asmlink=`readlink include/asm | cut -d '-' -f 2`;   \
-   if [ -L include/asm ]; then                                     \
-      if [ "$$asmlink" != "$(SRCARCH)" ]; then                \
+define check-symlink
+   set -e;                                                            \
+   if [ -L include/asm ]; then                                        \
+      asmlink=`readlink include/asm | cut -d '-' -f 2`;          \
+      if [ "$$asmlink" != "$(SRCARCH)" ]; then                   \
          echo "ERROR: the symlink $@ points to asm-$$asmlink but asm-$(SRCARCH) was expected"; \
          echo "       set ARCH or save .config and run 'make mrproper' to fix it";             \
-         exit 1;                                         \
-      fi;                                                     \
-   else                                                            \
-      echo '  SYMLINK $@ -> include/asm-$(SRCARCH)';          \
-      if [ ! -d include ]; then                               \
-         mkdir -p include;                               \
-      fi;                                                     \
-      ln -fsn asm-$(SRCARCH) $@;                              \
+         exit 1;                                            \
+      fi;                                                        \
    fi
+endef
+
+# We create the target directory of the symlink if it does
+# not exist so the test in chack-symlink works and we have a
+# directory for generated filesas used by some architectures.
+define create-symlink
+   if [ ! -L include/asm ]; then                                      \
+         echo '  SYMLINK $@ -> include/asm-$(SRCARCH)';     \
+         if [ ! -d include/asm-$(SRCARCH) ]; then           \
+            mkdir -p include/asm-$(SRCARCH);           \
+         fi;                                                \
+         ln -fsn asm-$(SRCARCH) $@;                         \
+   fi
+endef
+
+include/asm: FORCE
+   $(Q)$(check-symlink)
+   $(Q)$(create-symlink)
 
 # Generate some files
 # ---------------------------------------------------------------------------
@@ -995,37 +1024,54 @@ depend dep:
    @echo '*** Warning: make $@ is unnecessary now.'
 
 # ---------------------------------------------------------------------------
+# Firmware install
+INSTALL_FW_PATH=$(INSTALL_MOD_PATH)/lib/firmware
+export INSTALL_FW_PATH
+
+PHONY += firmware_install
+firmware_install: FORCE
+   @mkdir -p $(objtree)/firmware
+   $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_install
+
+# ---------------------------------------------------------------------------
 # Kernel headers
-INSTALL_HDR_PATH=$(objtree)/usr
-export INSTALL_HDR_PATH
 
-HDRFILTER=generic i386 x86_64
-HDRARCHES=$(filter-out $(HDRFILTER),$(patsubst $(srctree)/include/asm-%/Kbuild,%,$(wildcard $(srctree)/include/asm-*/Kbuild)))
+#Default location for installed headers
+export INSTALL_HDR_PATH = $(objtree)/usr
 
-PHONY += headers_install_all
-headers_install_all: include/linux/version.h scripts_basic FORCE
+hdr-inst := -rR -f $(srctree)/scripts/Makefile.headersinst obj
+# Find out where the Kbuild file is located to support
+# arch/$(ARCH)/include/asm
+hdr-dir = $(strip                                                         \
+          $(if $(wildcard $(srctree)/arch/$(hdr-arch)/include/asm/Kbuild), \
+               arch/$(hdr-arch)/include/asm, include/asm-$(hdr-arch)))
+
+# If we do an all arch process set dst to asm-$(hdr-arch)
+hdr-dst = $(if $(KBUILD_HEADERS), dst=include/asm-$(hdr-arch), dst=include/asm)
+
+PHONY += __headers
+__headers: include/linux/version.h scripts_basic FORCE
    $(Q)$(MAKE) $(build)=scripts scripts/unifdef
-   $(Q)for arch in $(HDRARCHES); do \
-    $(MAKE) ARCH=$$arch -f $(srctree)/scripts/Makefile.headersinst obj=include BIASMDIR=-bi-$$arch ;\
-    done
+
+PHONY += headers_install_all
+headers_install_all:
+   $(Q)$(CONFIG_SHELL) $(srctree)/scripts/headers.sh install
 
 PHONY += headers_install
-headers_install: include/linux/version.h scripts_basic FORCE
-   @if [ ! -r $(srctree)/include/asm-$(SRCARCH)/Kbuild ]; then \
-     echo '*** Error: Headers not exportable for this architecture ($(SRCARCH))'; \
-     exit 1 ; fi
-   $(Q)$(MAKE) $(build)=scripts scripts/unifdef
-   $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.headersinst ARCH=$(SRCARCH) obj=include
+headers_install: __headers
+   $(if $(wildcard $(srctree)/$(hdr-dir)/Kbuild),, \
+   $(error Headers not exportable for the $(SRCARCH) architecture))
+   $(Q)$(MAKE) $(hdr-inst)=include
+   $(Q)$(MAKE) $(hdr-inst)=$(hdr-dir) $(hdr-dst)
 
 PHONY += headers_check_all
 headers_check_all: headers_install_all
-   $(Q)for arch in $(HDRARCHES); do \
-    $(MAKE) ARCH=$$arch -f $(srctree)/scripts/Makefile.headersinst obj=include BIASMDIR=-bi-$$arch HDRCHECK=1 ;\
-    done
+   $(Q)$(CONFIG_SHELL) $(srctree)/scripts/headers.sh check
 
 PHONY += headers_check
 headers_check: headers_install
-   $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.headersinst ARCH=$(SRCARCH) obj=include HDRCHECK=1
+   $(Q)$(MAKE) $(hdr-inst)=include HDRCHECK=1
+   $(Q)$(MAKE) $(hdr-inst)=$(hdr-dir) $(hdr-dst) HDRCHECK=1
 
 # ---------------------------------------------------------------------------
 # Modules
@@ -1047,6 +1093,7 @@ modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux)
    $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order
    @echo '  Building modules, stage 2.';
    $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
+   $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modbuild
 
 
 # Target to prepare building external modules
@@ -1080,6 +1127,7 @@ _modinst_:
 # boot script depmod is the master version.
 PHONY += _modinst_post
 _modinst_post: _modinst_
+   $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modinst
    $(call cmd,depmod)
 
 else # CONFIG_MODULES
@@ -1115,13 +1163,13 @@ MRPROPER_FILES += .config .config.old include/asm .version .old_version \
                   include/linux/autoconf.h include/linux/version.h      \
                   include/linux/utsrelease.h                            \
                   include/linux/bounds.h include/asm*/asm-offsets.h     \
-        Module.symvers tags TAGS cscope*
+        Module.symvers Module.markers tags TAGS cscope*
 
 # clean - Delete most, but leave enough to build external modules
 #
 clean: rm-dirs  := $(CLEAN_DIRS)
 clean: rm-files := $(CLEAN_FILES)
-clean-dirs      := $(addprefix _clean_,$(srctree) $(vmlinux-alldirs))
+clean-dirs      := $(addprefix _clean_,$(srctree) $(vmlinux-alldirs) Documentation)
 
 PHONY += $(clean-dirs) clean archclean
 $(clean-dirs):
@@ -1133,7 +1181,8 @@ clean: archclean $(clean-dirs)
    @find . $(RCS_FIND_IGNORE) \
       \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \
       -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
-      -o -name '*.symtypes' -o -name 'modules.order' \) \
+      -o -name '*.symtypes' -o -name 'modules.order' \
+      -o -name 'Module.markers' -o -name '.tmp_*.o.*' \) \
       -type f -print | xargs rm -f
 
 # mrproper - Delete all generated files, including .config
@@ -1197,6 +1246,8 @@ help:
    @echo  '* vmlinux     - Build the bare kernel'
    @echo  '* modules     - Build all modules'
    @echo  '  modules_install - Install all modules to INSTALL_MOD_PATH (default: /)'
+   @echo  '  firmware_install- Install all firmware to INSTALL_FW_PATH'
+   @echo  '                    (default: $$(INSTALL_MOD_PATH)/lib/firmware)'
    @echo  '  dir/            - Build all files in dir and below'
    @echo  '  dir/file.[ois]  - Build specified target only'
    @echo  '  dir/file.ko     - Build module including final link'
@@ -1205,21 +1256,17 @@ help:
    @echo  '  cscope     - Generate cscope index'
    @echo  '  kernelrelease     - Output the release version string'
    @echo  '  kernelversion     - Output the version stored in Makefile'
-   @if [ -r $(srctree)/include/asm-$(SRCARCH)/Kbuild ]; then \
-    echo  '  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'; \
+   @echo  '  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'; \
     echo  '                    (default: $(INSTALL_HDR_PATH))'; \
-    fi
-   @echo  ''
+    echo  ''
    @echo  'Static analysers'
    @echo  '  checkstack      - Generate a list of stack hogs'
    @echo  '  namespacecheck  - Name space analysis on compiled kernel'
    @echo  '  versioncheck    - Sanity check on version.h usage'
    @echo  '  includecheck    - Check for duplicate included header files'
    @echo  '  export_report   - List the usages of all exported symbols'
-   @if [ -r $(srctree)/include/asm-$(SRCARCH)/Kbuild ]; then \
-    echo  '  headers_check   - Sanity check on exported headers'; \
-    fi
-   @echo  ''
+   @echo  '  headers_check   - Sanity check on exported headers'; \
+    echo  ''
    @echo  'Kernel packaging:'
    @$(MAKE) $(build)=$(package-dir) help
    @echo  ''
@@ -1392,7 +1439,11 @@ define find-sources
           \( -name config -o -name 'asm-*' \) -prune \
           -o -name $1 -print; \
      for arch in $(ALLINCLUDE_ARCHS) ; do \
-          find $(__srctree)include/asm-$${arch} $(RCS_FIND_IGNORE) \
+          test -e $(__srctree)include/asm-$${arch} && \
+                 find $(__srctree)include/asm-$${arch} $(RCS_FIND_IGNORE) \
+               -name $1 -print; \
+          test -e $(__srctree)arch/$${arch}/include/asm && \
+            find $(__srctree)arch/$${arch}/include/asm $(RCS_FIND_IGNORE) \
                -name $1 -print; \
      done ; \
      find $(__srctree)include/asm-generic $(RCS_FIND_IGNORE) \
@@ -1444,7 +1495,7 @@ quiet_cmd_cscope-file = FILELST cscope.files
       cmd_cscope-file = (echo \-k; echo \-q; $(all-sources)) > cscope.files
 
 quiet_cmd_cscope = MAKE    cscope.out
-      cmd_cscope = cscope -b
+      cmd_cscope = cscope -b -f cscope.out
 
 cscope: FORCE
    $(call cmd,cscope-file)


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.