Commit 5a865c06 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-33' of git://repo.or.cz/linux-kbuild

* 'for-33' of git://repo.or.cz/linux-kbuild: (29 commits)
  net: fix for utsrelease.h moving to generated
  gen_init_cpio: fixed fwrite warning
  kbuild: fix make clean after mismerge
  kbuild: generate modules.builtin
  genksyms: properly consider  EXPORT_UNUSED_SYMBOL{,_GPL}()
  score: add asm/asm-offsets.h wrapper
  unifdef: update to upstream revision 1.190
  kbuild: specify absolute paths for cscope
  kbuild: create include/generated in silentoldconfig
  scripts/package: deb-pkg: use fakeroot if available
  scripts/package: add KBUILD_PKG_ROOTCMD variable
  scripts/package: tar-pkg: use tar --owner=root
  Kbuild: clean up marker
  net: add net_tstamp.h to headers_install
  kbuild: move utsrelease.h to include/generated
  kbuild: move autoconf.h to include/generated
  drop explicit include of autoconf.h
  kbuild: move compile.h to include/generated
  kbuild: drop include/asm
  kbuild: do not check for include/asm-$ARCH
  ...

Fixed non-conflicting clean merge of modpost.c as per comments from
Stephen Rothwell (modpost.c had grown an include of linux/autoconf.h
that needed to be changed to generated/autoconf.h)
parents 331d9d59 46e75f66
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
*.lst *.lst
*.symtypes *.symtypes
*.order *.order
modules.builtin
*.elf *.elf
*.bin *.bin
*.gz *.gz
...@@ -45,14 +46,8 @@ Module.symvers ...@@ -45,14 +46,8 @@ Module.symvers
# #
# Generated include files # Generated include files
# #
include/asm
include/asm-*/asm-offsets.h
include/config include/config
include/linux/autoconf.h
include/linux/compile.h
include/linux/version.h include/linux/version.h
include/linux/utsrelease.h
include/linux/bounds.h
include/generated include/generated
# stgit generated dirs # stgit generated dirs
......
...@@ -103,6 +103,7 @@ gconf ...@@ -103,6 +103,7 @@ gconf
gen-devlist gen-devlist
gen_crc32table gen_crc32table
gen_init_cpio gen_init_cpio
generated
genheaders genheaders
genksyms genksyms
*_gray256.c *_gray256.c
......
Output files
modules.order
--------------------------------------------------
This file records the order in which modules appear in Makefiles. This
is used by modprobe to deterministically resolve aliases that match
multiple modules.
modules.builtin
--------------------------------------------------
This file lists all modules that are built into the kernel. This is used
by modprobe to not fail when trying to load something builtin.
Environment variables Environment variables
KCPPFLAGS KCPPFLAGS
......
...@@ -103,10 +103,16 @@ KCONFIG_AUTOCONFIG ...@@ -103,10 +103,16 @@ KCONFIG_AUTOCONFIG
This environment variable can be set to specify the path & name of the This environment variable can be set to specify the path & name of the
"auto.conf" file. Its default value is "include/config/auto.conf". "auto.conf" file. Its default value is "include/config/auto.conf".
KCONFIG_TRISTATE
--------------------------------------------------
This environment variable can be set to specify the path & name of the
"tristate.conf" file. Its default value is "include/config/tristate.conf".
KCONFIG_AUTOHEADER KCONFIG_AUTOHEADER
-------------------------------------------------- --------------------------------------------------
This environment variable can be set to specify the path & name of the This environment variable can be set to specify the path & name of the
"autoconf.h" (header) file. Its default value is "include/linux/autoconf.h". "autoconf.h" (header) file.
Its default value is "include/generated/autoconf.h".
====================================================================== ======================================================================
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
##### #####
# 1) Generate bounds.h # 1) Generate bounds.h
bounds-file := include/linux/bounds.h bounds-file := include/generated/bounds.h
always := $(bounds-file) always := $(bounds-file)
targets := $(bounds-file) kernel/bounds.s targets := $(bounds-file) kernel/bounds.s
...@@ -43,7 +43,7 @@ $(obj)/$(bounds-file): kernel/bounds.s Kbuild ...@@ -43,7 +43,7 @@ $(obj)/$(bounds-file): kernel/bounds.s Kbuild
# 2) Generate asm-offsets.h # 2) Generate asm-offsets.h
# #
offsets-file := include/asm/asm-offsets.h offsets-file := include/generated/asm-offsets.h
always += $(offsets-file) always += $(offsets-file)
targets += $(offsets-file) targets += $(offsets-file)
......
...@@ -5434,6 +5434,12 @@ F: drivers/uwb/* ...@@ -5434,6 +5434,12 @@ F: drivers/uwb/*
F: include/linux/uwb.h F: include/linux/uwb.h
F: include/linux/uwb/ F: include/linux/uwb/
UNIFDEF
M: Tony Finch <dot@dotat.at>
W: http://dotat.at/prog/unifdef
S: Maintained
F: scripts/unifdef.c
UNIFORM CDROM DRIVER UNIFORM CDROM DRIVER
M: Jens Axboe <axboe@kernel.dk> M: Jens Axboe <axboe@kernel.dk>
W: http://www.kernel.dk W: http://www.kernel.dk
......
...@@ -334,10 +334,9 @@ CFLAGS_GCOV = -fprofile-arcs -ftest-coverage ...@@ -334,10 +334,9 @@ CFLAGS_GCOV = -fprofile-arcs -ftest-coverage
# Use LINUXINCLUDE when you must reference the include/ directory. # Use LINUXINCLUDE when you must reference the include/ directory.
# Needed to be compatible with the O= option # Needed to be compatible with the O= option
LINUXINCLUDE := -Iinclude \ LINUXINCLUDE := -I$(srctree)/arch/$(hdr-arch)/include -Iinclude \
$(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) \ $(if $(KBUILD_SRC), -I$(srctree)/include) \
-I$(srctree)/arch/$(hdr-arch)/include \ -include include/generated/autoconf.h
-include include/linux/autoconf.h
KBUILD_CPPFLAGS := -D__KERNEL__ KBUILD_CPPFLAGS := -D__KERNEL__
...@@ -465,7 +464,7 @@ ifeq ($(KBUILD_EXTMOD),) ...@@ -465,7 +464,7 @@ ifeq ($(KBUILD_EXTMOD),)
# Carefully list dependencies so we do not try to build scripts twice # Carefully list dependencies so we do not try to build scripts twice
# in parallel # in parallel
PHONY += scripts PHONY += scripts
scripts: scripts_basic include/config/auto.conf scripts: scripts_basic include/config/auto.conf include/config/tristate.conf
$(Q)$(MAKE) $(build)=$(@) $(Q)$(MAKE) $(build)=$(@)
# Objects we will link into vmlinux / subdirs we need to visit # Objects we will link into vmlinux / subdirs we need to visit
...@@ -492,18 +491,18 @@ $(KCONFIG_CONFIG) include/config/auto.conf.cmd: ; ...@@ -492,18 +491,18 @@ $(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;
# with it and forgot to run make oldconfig. # with it and forgot to run make oldconfig.
# if auto.conf.cmd is missing then we are probably in a cleaned tree so # if auto.conf.cmd is missing then we are probably in a cleaned tree so
# we execute the config step to be sure to catch updated Kconfig files # we execute the config step to be sure to catch updated Kconfig files
include/config/auto.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
else else
# external modules needs include/linux/autoconf.h and include/config/auto.conf # external modules needs include/generated/autoconf.h and include/config/auto.conf
# but do not care if they are up-to-date. Use auto.conf to trigger the test # but do not care if they are up-to-date. Use auto.conf to trigger the test
PHONY += include/config/auto.conf PHONY += include/config/auto.conf
include/config/auto.conf: include/config/auto.conf:
$(Q)test -e include/linux/autoconf.h -a -e $@ || ( \ $(Q)test -e include/generated/autoconf.h -a -e $@ || ( \
echo; \ echo; \
echo " ERROR: Kernel configuration is invalid."; \ echo " ERROR: Kernel configuration is invalid."; \
echo " include/linux/autoconf.h or $@ are missing."; \ echo " include/generated/autoconf.h or $@ are missing.";\
echo " Run 'make oldconfig && make prepare' on kernel src to fix it."; \ echo " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
echo; \ echo; \
/bin/false) /bin/false)
...@@ -877,6 +876,9 @@ $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ; ...@@ -877,6 +876,9 @@ $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
PHONY += $(vmlinux-dirs) PHONY += $(vmlinux-dirs)
$(vmlinux-dirs): prepare scripts $(vmlinux-dirs): prepare scripts
$(Q)$(MAKE) $(build)=$@ $(Q)$(MAKE) $(build)=$@
ifdef CONFIG_MODULES
$(Q)$(MAKE) $(modbuiltin)=$@
endif
# Build the kernel release string # Build the kernel release string
# #
...@@ -955,7 +957,6 @@ PHONY += prepare archprepare prepare0 prepare1 prepare2 prepare3 ...@@ -955,7 +957,6 @@ PHONY += prepare archprepare prepare0 prepare1 prepare2 prepare3
# prepare3 is used to check if we are building in a separate output directory, # prepare3 is used to check if we are building in a separate output directory,
# and if so do: # and if so do:
# 1) Check that make has not been executed in the kernel src $(srctree) # 1) Check that make has not been executed in the kernel src $(srctree)
# 2) Create the include2 directory, used for the second asm symlink
prepare3: include/config/kernel.release prepare3: include/config/kernel.release
ifneq ($(KBUILD_SRC),) ifneq ($(KBUILD_SRC),)
@$(kecho) ' Using $(srctree) as source for kernel' @$(kecho) ' Using $(srctree) as source for kernel'
...@@ -964,17 +965,13 @@ ifneq ($(KBUILD_SRC),) ...@@ -964,17 +965,13 @@ ifneq ($(KBUILD_SRC),)
echo " in the '$(srctree)' directory.";\ echo " in the '$(srctree)' directory.";\
/bin/false; \ /bin/false; \
fi; fi;
$(Q)if [ ! -d include2 ]; then \
mkdir -p include2; \
ln -fsn $(srctree)/include/asm-$(SRCARCH) include2/asm; \
fi
endif endif
# prepare2 creates a makefile if using a separate output directory # prepare2 creates a makefile if using a separate output directory
prepare2: prepare3 outputmakefile prepare2: prepare3 outputmakefile
prepare1: prepare2 include/linux/version.h include/linux/utsrelease.h \ prepare1: prepare2 include/linux/version.h include/generated/utsrelease.h \
include/asm include/config/auto.conf include/config/auto.conf
$(cmd_crmodverdir) $(cmd_crmodverdir)
archprepare: prepare1 scripts_basic archprepare: prepare1 scripts_basic
...@@ -986,42 +983,6 @@ prepare0: archprepare FORCE ...@@ -986,42 +983,6 @@ prepare0: archprepare FORCE
# All the preparing.. # All the preparing..
prepare: prepare0 prepare: prepare0
# The asm symlink changes when $(ARCH) changes.
# Detect this and ask user to run make mrproper
# If asm is a stale symlink (point to dir that does not exist) remove it
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; \
test -e $$asmlink || rm include/asm; \
elif [ -d include/asm ]; then \
echo "ERROR: $@ is a directory but a symlink was expected";\
exit 1; \
fi
endef
# We create the target directory of the symlink if it does
# not exist so the test in check-symlink works and we have a
# directory for generated filesas used by some architectures.
define create-symlink
if [ ! -L include/asm ]; then \
$(kecho) ' 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 # Generate some files
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
...@@ -1046,7 +1007,7 @@ endef ...@@ -1046,7 +1007,7 @@ endef
include/linux/version.h: $(srctree)/Makefile FORCE include/linux/version.h: $(srctree)/Makefile FORCE
$(call filechk,version.h) $(call filechk,version.h)
include/linux/utsrelease.h: include/config/kernel.release FORCE include/generated/utsrelease.h: include/config/kernel.release FORCE
$(call filechk,utsrelease.h) $(call filechk,utsrelease.h)
PHONY += headerdep PHONY += headerdep
...@@ -1076,11 +1037,6 @@ firmware_install: FORCE ...@@ -1076,11 +1037,6 @@ firmware_install: FORCE
export INSTALL_HDR_PATH = $(objtree)/usr export INSTALL_HDR_PATH = $(objtree)/usr
hdr-inst := -rR -f $(srctree)/scripts/Makefile.headersinst obj 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) # 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) hdr-dst = $(if $(KBUILD_HEADERS), dst=include/asm-$(hdr-arch), dst=include/asm)
...@@ -1095,10 +1051,10 @@ headers_install_all: ...@@ -1095,10 +1051,10 @@ headers_install_all:
PHONY += headers_install PHONY += headers_install
headers_install: __headers headers_install: __headers
$(if $(wildcard $(srctree)/$(hdr-dir)/Kbuild),, \ $(if $(wildcard $(srctree)/arch/$(hdr-arch)/include/asm/Kbuild),, \
$(error Headers not exportable for the $(SRCARCH) architecture)) $(error Headers not exportable for the $(SRCARCH) architecture))
$(Q)$(MAKE) $(hdr-inst)=include $(Q)$(MAKE) $(hdr-inst)=include
$(Q)$(MAKE) $(hdr-inst)=$(hdr-dir) $(hdr-dst) $(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/asm $(hdr-dst)
PHONY += headers_check_all PHONY += headers_check_all
headers_check_all: headers_install_all headers_check_all: headers_install_all
...@@ -1107,7 +1063,7 @@ headers_check_all: headers_install_all ...@@ -1107,7 +1063,7 @@ headers_check_all: headers_install_all
PHONY += headers_check PHONY += headers_check
headers_check: headers_install headers_check: headers_install
$(Q)$(MAKE) $(hdr-inst)=include HDRCHECK=1 $(Q)$(MAKE) $(hdr-inst)=include HDRCHECK=1
$(Q)$(MAKE) $(hdr-inst)=$(hdr-dir) $(hdr-dst) HDRCHECK=1 $(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/asm $(hdr-dst) HDRCHECK=1
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# Modules # Modules
...@@ -1127,6 +1083,7 @@ all: modules ...@@ -1127,6 +1083,7 @@ all: modules
PHONY += modules PHONY += modules
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux)
$(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order
$(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.builtin) > $(objtree)/modules.builtin
@$(kecho) ' Building modules, stage 2.'; @$(kecho) ' Building modules, stage 2.';
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modbuild $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modbuild
...@@ -1156,6 +1113,7 @@ _modinst_: ...@@ -1156,6 +1113,7 @@ _modinst_:
ln -s $(objtree) $(MODLIB)/build ; \ ln -s $(objtree) $(MODLIB)/build ; \
fi fi
@cp -f $(objtree)/modules.order $(MODLIB)/ @cp -f $(objtree)/modules.order $(MODLIB)/
@cp -f $(objtree)/modules.builtin $(MODLIB)/
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
# This depmod is only for convenience to give the initial # This depmod is only for convenience to give the initial
...@@ -1194,12 +1152,10 @@ CLEAN_FILES += vmlinux System.map \ ...@@ -1194,12 +1152,10 @@ CLEAN_FILES += vmlinux System.map \
.tmp_kallsyms* .tmp_version .tmp_vmlinux* .tmp_System.map .tmp_kallsyms* .tmp_version .tmp_vmlinux* .tmp_System.map
# Directories & files removed with 'make mrproper' # Directories & files removed with 'make mrproper'
MRPROPER_DIRS += include/config include2 usr/include include/generated MRPROPER_DIRS += include/config usr/include include/generated
MRPROPER_FILES += .config .config.old include/asm .version .old_version \ MRPROPER_FILES += .config .config.old .version .old_version \
include/linux/autoconf.h include/linux/version.h \ include/linux/version.h \
include/linux/utsrelease.h \ Module.symvers tags TAGS cscope*
include/linux/bounds.h include/asm*/asm-offsets.h \
Module.symvers Module.markers tags TAGS cscope*
# clean - Delete most, but leave enough to build external modules # clean - Delete most, but leave enough to build external modules
# #
...@@ -1218,7 +1174,7 @@ clean: archclean $(clean-dirs) ...@@ -1218,7 +1174,7 @@ clean: archclean $(clean-dirs)
\( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \ \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \
-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \ -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.*' \ -o -name modules.builtin -o -name '.tmp_*.o.*' \
-o -name '*.gcno' \) -type f -print | xargs rm -f -o -name '*.gcno' \) -type f -print | xargs rm -f
# mrproper - Delete all generated files, including .config # mrproper - Delete all generated files, including .config
...@@ -1416,8 +1372,8 @@ $(clean-dirs): ...@@ -1416,8 +1372,8 @@ $(clean-dirs):
clean: rm-dirs := $(MODVERDIR) clean: rm-dirs := $(MODVERDIR)
clean: rm-files := $(KBUILD_EXTMOD)/Module.symvers \ clean: rm-files := $(KBUILD_EXTMOD)/Module.symvers \
$(KBUILD_EXTMOD)/Module.markers \ $(KBUILD_EXTMOD)/modules.order \
$(KBUILD_EXTMOD)/modules.order $(KBUILD_EXTMOD)/modules.builtin
clean: $(clean-dirs) clean: $(clean-dirs)
$(call cmd,rmdirs) $(call cmd,rmdirs)
$(call cmd,rmfiles) $(call cmd,rmfiles)
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
*/ */
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/utsrelease.h> #include <generated/utsrelease.h>
#include <linux/mm.h> #include <linux/mm.h>
#include <asm/system.h> #include <asm/system.h>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
*/ */
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/utsrelease.h> #include <generated/utsrelease.h>
#include <linux/mm.h> #include <linux/mm.h>
#include <asm/system.h> #include <asm/system.h>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
*/ */
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/utsrelease.h> #include <generated/utsrelease.h>
#include <linux/mm.h> #include <linux/mm.h>
#include <asm/system.h> #include <asm/system.h>
......
#include <generated/asm-offsets.h>
...@@ -242,15 +242,8 @@ all: $(KBUILD_IMAGE) ...@@ -242,15 +242,8 @@ all: $(KBUILD_IMAGE)
boot := arch/arm/boot boot := arch/arm/boot
# Update machine arch and proc symlinks if something which affects archprepare:
# them changed. We use .arch to indicate when they were updated $(Q)$(MAKE) $(build)=arch/arm/tools include/generated/mach-types.h
# last, otherwise make uses the target directory mtime.
archprepare: maketools
PHONY += maketools FORCE
maketools: include/linux/version.h FORCE
$(Q)$(MAKE) $(build)=arch/arm/tools include/asm-arm/mach-types.h
# Convert bzImage to zImage # Convert bzImage to zImage
bzImage: zImage bzImage: zImage
...@@ -261,9 +254,6 @@ zImage Image xipImage bootpImage uImage: vmlinux ...@@ -261,9 +254,6 @@ zImage Image xipImage bootpImage uImage: vmlinux
zinstall install: vmlinux zinstall install: vmlinux
$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@ $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@
CLEAN_FILES += include/asm-arm/mach-types.h \
include/asm-arm/arch include/asm-arm/.arch
# We use MRPROPER_FILES and CLEAN_FILES now # We use MRPROPER_FILES and CLEAN_FILES now
archclean: archclean:
$(Q)$(MAKE) $(clean)=$(boot) $(Q)$(MAKE) $(clean)=$(boot)
......
#include <generated/asm-offsets.h>
#include <generated/mach-types.h>
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# Copyright (C) 2001 Russell King # Copyright (C) 2001 Russell King
# #
include/asm-arm/mach-types.h: $(src)/gen-mach-types $(src)/mach-types include/generated/mach-types.h: $(src)/gen-mach-types $(src)/mach-types
@echo ' Generating $@' @echo ' Generating $@'
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
$(Q)$(AWK) -f $^ > $@ || { rm -f $@; /bin/false; } $(Q)$(AWK) -f $^ > $@ || { rm -f $@; /bin/false; }
#!/bin/awk #!/bin/awk
# #
# Awk script to generate include/asm-arm/mach-types.h # Awk script to generate include/generated/mach-types.h
# #
BEGIN { nr = 0 } BEGIN { nr = 0 }
/^#/ { next } /^#/ { next }
......
#include <generated/asm-offsets.h>
#include <generated/asm-offsets.h>
...@@ -10,7 +10,6 @@ ...@@ -10,7 +10,6 @@
* The macros found in mmu_defs_asm.h uses the ## concatenation operator, so * The macros found in mmu_defs_asm.h uses the ## concatenation operator, so
* -traditional must not be used when assembling this file. * -traditional must not be used when assembling this file.
*/ */
#include <linux/autoconf.h>
#include <arch/memmap.h> #include <arch/memmap.h>
#include <hwregs/reg_rdwr.h> #include <hwregs/reg_rdwr.h>
#include <hwregs/intr_vect.h> #include <hwregs/intr_vect.h>
......
#include <generated/asm-offsets.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <asm/thread_info.h> #include <asm/thread_info.h>
#include <linux/autoconf.h>
/* /*
* Generate definitions needed by assembly language modules. * Generate definitions needed by assembly language modules.
......
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
* the kernel has booted. * the kernel has booted.
*/ */
#include <linux/autoconf.h>
#include <asm-generic/vmlinux.lds.h> #include <asm-generic/vmlinux.lds.h>
#include <asm/page.h> #include <asm/page.h>
......
#include <generated/asm-offsets.h>
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
* 2 of the License, or (at your option) any later version. * 2 of the License, or (at your option) any later version.
*/ */
#include <linux/utsrelease.h> #include <generated/utsrelease.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/delay.h> #include <linux/delay.h>
......
#include <generated/asm-offsets.h>
...@@ -103,4 +103,4 @@ archprepare: make_nr_irqs_h FORCE ...@@ -103,4 +103,4 @@ archprepare: make_nr_irqs_h FORCE
PHONY += make_nr_irqs_h FORCE PHONY += make_nr_irqs_h FORCE
make_nr_irqs_h: FORCE make_nr_irqs_h: FORCE
$(Q)$(MAKE) $(build)=arch/ia64/kernel include/asm-ia64/nr-irqs.h $(Q)$(MAKE) $(build)=arch/ia64/kernel include/generated/nr-irqs.h
#include <generated/asm-offsets.h>
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/cpumask.h> #include <linux/cpumask.h>
#include <asm-ia64/nr-irqs.h> #include <generated/nr-irqs.h>
static __inline__ int static __inline__ int
irq_canonicalize (int irq) irq_canonicalize (int irq)
......
...@@ -81,17 +81,14 @@ define cmd_nr_irqs ...@@ -81,17 +81,14 @@ define cmd_nr_irqs
endef endef
# We use internal kbuild rules to avoid the "is up to date" message from make # We use internal kbuild rules to avoid the "is up to date" message from make
arch/$(SRCARCH)/kernel/nr-irqs.s: $(srctree)/arch/$(SRCARCH)/kernel/nr-irqs.c \ arch/$(SRCARCH)/kernel/nr-irqs.s: arch/$(SRCARCH)/kernel/nr-irqs.c
$(wildcard $(srctree)/include/asm-ia64/*/irq.h)
$(Q)mkdir -p $(dir $@) $(Q)mkdir -p $(dir $@)
$(call if_changed_dep,cc_s_c) $(call if_changed_dep,cc_s_c)
include/asm-ia64/nr-irqs.h: arch/$(SRCARCH)/kernel/nr-irqs.s include/generated/nr-irqs.h: arch/$(SRCARCH)/kernel/nr-irqs.s
$(Q)mkdir -p $(dir $@) $(Q)mkdir -p $(dir $@)
$(call cmd,nr_irqs) $(call cmd,nr_irqs)
clean-files += $(objtree)/include/asm-ia64/nr-irqs.h
# #
# native ivt.S, entry.S and fsys.S # native ivt.S, entry.S and fsys.S
# #
......
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
* *
*/ */
#include <linux/autoconf.h>
#include <linux/kvm_host.h> #include <linux/kvm_host.h>
#include <linux/kbuild.h> #include <linux/kbuild.h>
......
#include <generated/asm-offsets.h>
...@@ -196,7 +196,7 @@ ...@@ -196,7 +196,7 @@
* for them and trying to understand what they mean. * for them and trying to understand what they mean.
* *
* CONFIG_xxx: These are the obvious machine configuration defines created * CONFIG_xxx: These are the obvious machine configuration defines created
* during configuration. These are defined in include/linux/autoconf.h. * during configuration. These are defined in autoconf.h.
* *
* CONSOLE: There is support for head.S console in this file. This * CONSOLE: There is support for head.S console in this file. This
* console can talk to a Mac frame buffer, but could easily be extrapolated * console can talk to a Mac frame buffer, but could easily be extrapolated
......
#include <generated/asm-offsets.h>
#include <generated/asm-offsets.h>
#include <generated/asm-offsets.h>
#include <generated/asm-offsets.h>
#include <generated/asm-offsets.h>
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
*/ */
#include <linux/init.h> #include <linux/init.h>
#include <linux/utsrelease.h> #include <generated/utsrelease.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/of.h> #include <linux/of.h>
#include <asm/prom.h> #include <asm/prom.h>
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/seq_file.h> #include <linux/seq_file.h>
#include <linux/utsrelease.h> #include <generated/utsrelease.h>
#include <asm/machdep.h> #include <asm/machdep.h>
#include <asm/cputable.h> #include <asm/cputable.h>
......
...@@ -13,10 +13,8 @@ SPU_CC := $(SPU_CROSS)gcc ...@@ -13,10 +13,8 @@ SPU_CC := $(SPU_CROSS)gcc
SPU_AS := $(SPU_CROSS)gcc SPU_AS := $(SPU_CROSS)gcc
SPU_LD := $(SPU_CROSS)ld SPU_LD := $(SPU_CROSS)ld
SPU_OBJCOPY := $(SPU_CROSS)objcopy SPU_OBJCOPY := $(SPU_CROSS)objcopy
SPU_CFLAGS := -O2 -Wall -I$(srctree)/include \ SPU_CFLAGS := -O2 -Wall -I$(srctree)/include -D__KERNEL__
-I$(objtree)/include2 -D__KERNEL__ SPU_AFLAGS := -c -D__ASSEMBLY__ -I$(srctree)/include -D__KERNEL__
SPU_AFLAGS := -c -D__ASSEMBLY__ -I$(srctree)/include \
-I$(objtree)/include2 -D__KERNEL__
SPU_LDFLAGS := -N -Ttext=0x0 SPU_LDFLAGS := -N -Ttext=0x0
$(obj)/switch.o: $(obj)/spu_save_dump.h $(obj)/spu_restore_dump.h $(obj)/switch.o: $(obj)/spu_save_dump.h $(obj)/spu_restore_dump.h
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include <linux/reboot.h> #include <linux/reboot.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/utsrelease.h> #include <generated/utsrelease.h>
#include <linux/adb.h> #include <linux/adb.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/delay.h> #include <linux/delay.h>
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/utsrelease.h> #include <generated/utsrelease.h>
#include <asm/sections.h> #include <asm/sections.h>
#include <asm/prom.h> #include <asm/prom.h>
#include <asm/page.h> #include <asm/page.h>
......
#include <generated/asm-offsets.h>
#include <generated/asm-offsets.h>
...@@ -205,10 +205,7 @@ libs-$(CONFIG_SUPERH64) := arch/sh/lib64/ $(libs-y) ...@@ -205,10 +205,7 @@ libs-$(CONFIG_SUPERH64) := arch/sh/lib64/ $(libs-y)
BOOT_TARGETS = uImage uImage.bz2 uImage.gz uImage.lzma uImage.srec uImage.bin \ BOOT_TARGETS = uImage uImage.bz2 uImage.gz uImage.lzma uImage.srec uImage.bin \
zImage vmlinux.srec romImage zImage vmlinux.srec romImage
PHONY += maketools $(BOOT_TARGETS) FORCE PHONY += $(BOOT_TARGETS)
maketools: include/linux/version.h FORCE
$(Q)$(MAKE) $(build)=arch/sh/tools include/asm-sh/machtypes.h
all: $(KBUILD_IMAGE) all: $(KBUILD_IMAGE)
...@@ -217,7 +214,8 @@ $(BOOT_TARGETS): vmlinux ...@@ -217,7 +214,8 @@ $(BOOT_TARGETS): vmlinux
compressed: zImage compressed: zImage
archprepare: maketools archprepare:
$(Q)$(MAKE) $(build)=arch/sh/tools include/generated/machtypes.h
archclean: archclean:
$(Q)$(MAKE) $(clean)=$(boot) $(Q)$(MAKE) $(clean)=$(boot)
...@@ -234,5 +232,3 @@ define archhelp ...@@ -234,5 +232,3 @@ define archhelp
@echo ' uImage.bz2 - Kernel-only image for U-Boot (bzip2)' @echo ' uImage.bz2 - Kernel-only image for U-Boot (bzip2)'
@echo ' uImage.lzma - Kernel-only image for U-Boot (lzma)' @echo ' uImage.lzma - Kernel-only image for U-Boot (lzma)'
endef endef
CLEAN_FILES += include/asm-sh/machtypes.h
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#include <mach/lboxre2.h> #include <mach/lboxre2.h>
#include <mach/r2d.h> #include <mach/r2d.h>
#include "pci-sh4.h" #include "pci-sh4.h"
#include <asm/machtypes.h> #include <generated/machtypes.h>
#define PCIMCR_MRSET_OFF 0xBFFFFFFF #define PCIMCR_MRSET_OFF 0xBFFFFFFF
#define PCIMCR_RFSH_OFF 0xFFFFFFFB #define PCIMCR_RFSH_OFF 0xFFFFFFFB
......
#include <generated/asm-offsets.h>
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/time.h> #include <linux/time.h>
#include <asm/machtypes.h> #include <generated/machtypes.h>
struct sh_machine_vector { struct sh_machine_vector {
void (*mv_setup)(char **cmdline_p); void (*mv_setup)(char **cmdline_p);
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
# Shamelessly cloned from ARM. # Shamelessly cloned from ARM.
# #
include/asm-sh/machtypes.h: $(src)/gen-mach-types $(src)/mach-types include/generated/machtypes.h: $(src)/gen-mach-types $(src)/mach-types
@echo ' Generating $@' @echo ' Generating $@'
$(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi $(Q)mkdir -p $(dir $@)
$(Q)$(AWK) -f $^ > $@ || { rm -f $@; /bin/false; } $(Q)$(AWK) -f $^ > $@ || { rm -f $@; /bin/false; }
#!/bin/awk #!/bin/awk
# #
# Awk script to generate include/asm-sh/machtypes.h # Awk script to generate include/generated/machtypes.h
# Heavily based on arch/arm/tools/gen-mach-types # Heavily based on arch/arm/tools/gen-mach-types
# #
BEGIN { nr = 0 } BEGIN { nr = 0 }
......
#include <generated/asm-offsets.h>
...@@ -149,6 +149,6 @@ $(SHARED_HEADERS)/user_constants.h: $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s ...@@ -149,6 +149,6 @@ $(SHARED_HEADERS)/user_constants.h: $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s
$(SHARED_HEADERS)/kern_constants.h: $(SHARED_HEADERS)/kern_constants.h:
$(Q)mkdir -p $(dir $@) $(Q)mkdir -p $(dir $@)
$(Q)echo '#include "../../../../include/asm/asm-offsets.h"' >$@ $(Q)echo '#include "../../../../include/generated/asm-offsets.h"' >$@
export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS HEADER_ARCH DEV_NULL_PATH export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS HEADER_ARCH DEV_NULL_PATH
#include <generated/asm-offsets.h>
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
*/ */
#include <asm/segment.h> #include <asm/segment.h>
#include <linux/utsrelease.h> #include <generated/utsrelease.h>
#include <asm/boot.h> #include <asm/boot.h>
#include <asm/e820.h> #include <asm/e820.h>
#include <asm/page_types.h> #include <asm/page_types.h>
......
...@@ -13,8 +13,8 @@ ...@@ -13,8 +13,8 @@
*/ */
#include "boot.h" #include "boot.h"
#include <linux/utsrelease.h> #include <generated/utsrelease.h>
#include <linux/compile.h> #include <generated/compile.h>
const char kernel_version[] = const char kernel_version[] =
UTS_RELEASE " (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ") " UTS_RELEASE " (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ") "
......
#include <generated/asm-offsets.h>
#include <generated/asm-offsets.h>
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
#include <linux/autoconf.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/moduleparam.h> #include <linux/moduleparam.h>
......
#ifndef __HID_LG_H #ifndef __HID_LG_H
#define __HID_LG_H #define __HID_LG_H
#include <linux/autoconf.h>
#ifdef CONFIG_LOGITECH_FF #ifdef CONFIG_LOGITECH_FF
int lgff_init(struct hid_device *hdev); int lgff_init(struct hid_device *hdev);
#else #else
......
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
#ifndef __iwl_core_h__ #ifndef __iwl_core_h__
#define __iwl_core_h__ #define __iwl_core_h__
#include <linux/utsrelease.h> #include <generated/utsrelease.h>
/************************ /************************
* forward declarations * * forward declarations *
......
...@@ -51,7 +51,6 @@ ...@@ -51,7 +51,6 @@
#include <linux/dmi.h> #include <linux/dmi.h>
#include <linux/backlight.h> #include <linux/backlight.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/autoconf.h>
#define COMPAL_DRIVER_VERSION "0.2.6" #define COMPAL_DRIVER_VERSION "0.2.6"
......
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
* driver requests - some may support multiple options */ * driver requests - some may support multiple options */
#include <linux/autoconf.h>
#include "iio.h" #include "iio.h"
#include "ring_generic.h" #include "ring_generic.h"
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
#include <linux/list.h> #include <linux/list.h>
#include <linux/notifier.h> #include <linux/notifier.h>
#include <linux/reboot.h> #include <linux/reboot.h>
#include <linux/utsrelease.h> #include <generated/utsrelease.h>
#include <linux/io.h> #include <linux/io.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
......
...@@ -118,6 +118,7 @@ header-y += mtio.h ...@@ -118,6 +118,7 @@ header-y += mtio.h
header-y += ncp_no.h header-y += ncp_no.h
header-y += neighbour.h header-y += neighbour.h
header-y += net_dropmon.h header-y += net_dropmon.h
header-y += net_tstamp.h
header-y += netfilter_arp.h header-y += netfilter_arp.h
header-y += netrom.h header-y += netrom.h
header-y += nfs2.h header-y += nfs2.h
......
#ifndef LINUX_MM_DEBUG_H #ifndef LINUX_MM_DEBUG_H
#define LINUX_MM_DEBUG_H 1 #define LINUX_MM_DEBUG_H 1
#include <linux/autoconf.h>
#ifdef CONFIG_DEBUG_VM #ifdef CONFIG_DEBUG_VM
#define VM_BUG_ON(cond) BUG_ON(cond) #define VM_BUG_ON(cond) BUG_ON(cond)
#else #else
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#include <linux/seqlock.h> #include <linux/seqlock.h>
#include <linux/nodemask.h> #include <linux/nodemask.h>
#include <linux/pageblock-flags.h> #include <linux/pageblock-flags.h>
#include <linux/bounds.h> #include <generated/bounds.h>
#include <asm/atomic.h> #include <asm/atomic.h>
#include <asm/page.h> #include <asm/page.h>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
#include <linux/types.h> #include <linux/types.h>
#ifndef __GENERATING_BOUNDS_H #ifndef __GENERATING_BOUNDS_H
#include <linux/mm_types.h> #include <linux/mm_types.h>
#include <linux/bounds.h> #include <generated/bounds.h>
#endif /* !__GENERATING_BOUNDS_H */ #endif /* !__GENERATING_BOUNDS_H */
/* /*
......
#include <linux/utsrelease.h> #include <generated/utsrelease.h>
#include <linux/module.h> #include <linux/module.h>
/* Simply sanity version stamp for modules. */ /* Simply sanity version stamp for modules. */
......
...@@ -15,12 +15,8 @@ mounts-$(CONFIG_BLK_DEV_RAM) += do_mounts_rd.o ...@@ -15,12 +15,8 @@ mounts-$(CONFIG_BLK_DEV_RAM) += do_mounts_rd.o
mounts-$(CONFIG_BLK_DEV_INITRD) += do_mounts_initrd.o mounts-$(CONFIG_BLK_DEV_INITRD) += do_mounts_initrd.o
mounts-$(CONFIG_BLK_DEV_MD) += do_mounts_md.o mounts-$(CONFIG_BLK_DEV_MD) += do_mounts_md.o
# files to be removed upon make clean
clean-files := ../include/linux/compile.h
# dependencies on generated files need to be listed explicitly # dependencies on generated files need to be listed explicitly
$(obj)/version.o: include/generated/compile.h
$(obj)/version.o: include/linux/compile.h
# compile.h changes depending on hostname, generation number, etc, # compile.h changes depending on hostname, generation number, etc,
# so we regenerate it always. # so we regenerate it always.
...@@ -30,7 +26,7 @@ $(obj)/version.o: include/linux/compile.h ...@@ -30,7 +26,7 @@ $(obj)/version.o: include/linux/compile.h
chk_compile.h = : chk_compile.h = :
quiet_chk_compile.h = echo ' CHK $@' quiet_chk_compile.h = echo ' CHK $@'
silent_chk_compile.h = : silent_chk_compile.h = :
include/linux/compile.h: FORCE include/generated/compile.h: FORCE
@$($(quiet)chk_compile.h) @$($(quiet)chk_compile.h)
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkcompile_h $@ \ $(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkcompile_h $@ \
"$(UTS_MACHINE)" "$(CONFIG_SMP)" "$(CONFIG_PREEMPT)" "$(CC) $(KBUILD_CFLAGS)" "$(UTS_MACHINE)" "$(CONFIG_SMP)" "$(CONFIG_PREEMPT)" "$(CC) $(KBUILD_CFLAGS)"
...@@ -6,11 +6,11 @@ ...@@ -6,11 +6,11 @@
* May be freely distributed as part of Linux. * May be freely distributed as part of Linux.
*/ */
#include <linux/compile.h> #include <generated/compile.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/uts.h> #include <linux/uts.h>
#include <linux/utsname.h> #include <linux/utsname.h>
#include <linux/utsrelease.h> #include <generated/utsrelease.h>
#include <linux/version.h> #include <linux/version.h>
#ifndef CONFIG_KALLSYMS #ifndef CONFIG_KALLSYMS
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
void foo(void) void foo(void)
{ {
/* The enum constants to put into include/linux/bounds.h */ /* The enum constants to put into include/generated/bounds.h */
DEFINE(NR_PAGEFLAGS, __NR_PAGEFLAGS); DEFINE(NR_PAGEFLAGS, __NR_PAGEFLAGS);
DEFINE(MAX_NR_ZONES, __MAX_NR_ZONES); DEFINE(MAX_NR_ZONES, __MAX_NR_ZONES);
/* End of constants */ /* End of constants */
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
#include <linux/hardirq.h> #include <linux/hardirq.h>
#include <linux/elf.h> #include <linux/elf.h>
#include <linux/elfcore.h> #include <linux/elfcore.h>
#include <linux/utsrelease.h> #include <generated/utsrelease.h>
#include <linux/utsname.h> #include <linux/utsname.h>
#include <linux/numa.h> #include <linux/numa.h>
#include <linux/suspend.h> #include <linux/suspend.h>
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
* Copyright (C) 2004 William Lee Irwin III * Copyright (C) 2004 William Lee Irwin III
*/ */
#include <linux/ring_buffer.h> #include <linux/ring_buffer.h>
#include <linux/utsrelease.h> #include <generated/utsrelease.h>
#include <linux/stacktrace.h> #include <linux/stacktrace.h>
#include <linux/writeback.h> #include <linux/writeback.h>
#include <linux/kallsyms.h> #include <linux/kallsyms.h>
......
...@@ -149,6 +149,12 @@ ld-option = $(call try-run,\ ...@@ -149,6 +149,12 @@ ld-option = $(call try-run,\
# $(Q)$(MAKE) $(build)=dir # $(Q)$(MAKE) $(build)=dir
build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj
###
# Shorthand for $(Q)$(MAKE) -f scripts/Makefile.modbuiltin obj=
# Usage:
# $(Q)$(MAKE) $(modbuiltin)=dir
modbuiltin := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.modbuiltin obj
# Prefix -I with $(srctree) if it is not an absolute path. # Prefix -I with $(srctree) if it is not an absolute path.
# skip if -I has no parameter # skip if -I has no parameter
addtree = $(if $(patsubst -I%,%,$(1)), \ addtree = $(if $(patsubst -I%,%,$(1)), \
......
...@@ -213,7 +213,7 @@ cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -f -9 > $@) || \ ...@@ -213,7 +213,7 @@ cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -f -9 > $@) || \
# Bzip2 and LZMA do not include size in file... so we have to fake that; # Bzip2 and LZMA do not include size in file... so we have to fake that;
# append the size as a 32-bit littleendian number as gzip does. # append the size as a 32-bit littleendian number as gzip does.
size_append = /bin/echo -ne $(shell \ size_append = printf $(shell \
dec_size=0; \ dec_size=0; \
for F in $1; do \ for F in $1; do \
fsize=$$(stat -c "%s" $$F); \ fsize=$$(stat -c "%s" $$F); \
......
# ==========================================================================
# Generating modules.builtin
# ==========================================================================
src := $(obj)
PHONY := __modbuiltin
__modbuiltin:
-include include/config/auto.conf
# tristate.conf sets tristate variables to uppercase 'Y' or 'M'
# That way, we get the list of built-in modules in obj-Y
-include include/config/tristate.conf
include scripts/Kbuild.include
# The filename Kbuild has precedence over Makefile
kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
kbuild-file := $(if $(wildcard $(kbuild-dir)/Kbuild),$(kbuild-dir)/Kbuild,$(kbuild-dir)/Makefile)
include $(kbuild-file)
include scripts/Makefile.lib
__subdir-Y := $(patsubst %/,%,$(filter %/, $(obj-Y)))
subdir-Y += $(__subdir-Y)
subdir-ym := $(sort $(subdir-y) $(subdir-Y) $(subdir-m))
subdir-ym := $(addprefix $(obj)/,$(subdir-ym))
obj-Y := $(addprefix $(obj)/,$(obj-Y))
modbuiltin-subdirs := $(patsubst %,%/modules.builtin, $(subdir-ym))
modbuiltin-mods := $(filter %.ko, $(obj-Y:.o=.ko))
modbuiltin-target := $(obj)/modules.builtin
__modbuiltin: $(modbuiltin-target) $(subdir-ym)
@:
$(modbuiltin-target): $(subdir-ym) FORCE
$(Q)(for m in $(modbuiltin-mods); do echo kernel/$$m; done; \
cat /dev/null $(modbuiltin-subdirs)) > $@
PHONY += FORCE
FORCE:
# Descending
# ---------------------------------------------------------------------------
PHONY += $(subdir-ym)
$(subdir-ym):
$(Q)$(MAKE) $(modbuiltin)=$@
# 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.
.PHONY: $(PHONY)
...@@ -16,15 +16,15 @@ ...@@ -16,15 +16,15 @@
* tells make when to remake a file. * tells make when to remake a file.
* *
* To use this list as-is however has the drawback that virtually * To use this list as-is however has the drawback that virtually
* every file in the kernel includes <linux/autoconf.h>. * every file in the kernel includes autoconf.h.
* *
* If the user re-runs make *config, linux/autoconf.h will be * If the user re-runs make *config, autoconf.h will be
* regenerated. make notices that and will rebuild every file which * regenerated. make notices that and will rebuild every file which
* includes autoconf.h, i.e. basically all files. This is extremely * includes autoconf.h, i.e. basically all files. This is extremely
* annoying if the user just changed CONFIG_HIS_DRIVER from n to m. * annoying if the user just changed CONFIG_HIS_DRIVER from n to m.
* *
* So we play the same trick that "mkdep" played before. We replace * So we play the same trick that "mkdep" played before. We replace
* the dependency on linux/autoconf.h by a dependency on every config * the dependency on autoconf.h by a dependency on every config
* option which is mentioned in any of the listed prequisites. * option which is mentioned in any of the listed prequisites.
* *
* kconfig populates a tree in include/config/ with an empty file * kconfig populates a tree in include/config/ with an empty file
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
* cmd_<target> = <cmdline> * cmd_<target> = <cmdline>
* *
* and then basically copies the .<target>.d file to stdout, in the * and then basically copies the .<target>.d file to stdout, in the
* process filtering out the dependency on linux/autoconf.h and adding * process filtering out the dependency on autoconf.h and adding
* dependencies on include/config/my/option.h for every * dependencies on include/config/my/option.h for every
* CONFIG_MY_OPTION encountered in any of the prequisites. * CONFIG_MY_OPTION encountered in any of the prequisites.
* *
...@@ -324,7 +324,7 @@ static void parse_dep_file(void *map, size_t len) ...@@ -324,7 +324,7 @@ static void parse_dep_file(void *map, size_t len)
p++; p++;
} }
memcpy(s, m, p-m); s[p-m] = 0; memcpy(s, m, p-m); s[p-m] = 0;
if (strrcmp(s, "include/linux/autoconf.h") && if (strrcmp(s, "include/generated/autoconf.h") &&
strrcmp(s, "arch/um/include/uml-config.h") && strrcmp(s, "arch/um/include/uml-config.h") &&
strrcmp(s, ".ver")) { strrcmp(s, ".ver")) {
printf(" %s \\\n", s); printf(" %s \\\n", s);
......
This diff is collapsed.
...@@ -7,6 +7,8 @@ struct resword { const char *name; int token; } ...@@ -7,6 +7,8 @@ struct resword { const char *name; int token; }
EXPORT_SYMBOL, EXPORT_SYMBOL_KEYW EXPORT_SYMBOL, EXPORT_SYMBOL_KEYW
EXPORT_SYMBOL_GPL, EXPORT_SYMBOL_KEYW EXPORT_SYMBOL_GPL, EXPORT_SYMBOL_KEYW
EXPORT_SYMBOL_GPL_FUTURE, EXPORT_SYMBOL_KEYW EXPORT_SYMBOL_GPL_FUTURE, EXPORT_SYMBOL_KEYW
EXPORT_UNUSED_SYMBOL, EXPORT_SYMBOL_KEYW
EXPORT_UNUSED_SYMBOL_GPL, EXPORT_SYMBOL_KEYW
__asm, ASM_KEYW __asm, ASM_KEYW
__asm__, ASM_KEYW __asm__, ASM_KEYW
__attribute, ATTRIBUTE_KEYW __attribute, ATTRIBUTE_KEYW
......
...@@ -8,8 +8,6 @@ do_command() ...@@ -8,8 +8,6 @@ do_command()
{ {
if [ -f ${srctree}/arch/$2/include/asm/Kbuild ]; then if [ -f ${srctree}/arch/$2/include/asm/Kbuild ]; then
make ARCH=$2 KBUILD_HEADERS=$1 headers_$1 make ARCH=$2 KBUILD_HEADERS=$1 headers_$1
elif [ -f ${srctree}/include/asm-$2/Kbuild ]; then
make ARCH=$2 KBUILD_HEADERS=$1 headers_$1
else else
printf "Ignoring arch: %s\n" ${arch} printf "Ignoring arch: %s\n" ${arch}
fi fi
......
...@@ -27,6 +27,7 @@ oldconfig: $(obj)/conf ...@@ -27,6 +27,7 @@ oldconfig: $(obj)/conf
$< -o $(Kconfig) $< -o $(Kconfig)
silentoldconfig: $(obj)/conf silentoldconfig: $(obj)/conf
$(Q)mkdir -p include/generated
$< -s $(Kconfig) $< -s $(Kconfig)
localmodconfig: $(obj)/streamline_config.pl $(obj)/conf localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
......
...@@ -677,7 +677,7 @@ int conf_write_autoconf(void) ...@@ -677,7 +677,7 @@ int conf_write_autoconf(void)
struct symbol *sym; struct symbol *sym;
const char *str; const char *str;
const char *name; const char *name;
FILE *out, *out_h; FILE *out, *tristate, *out_h;
time_t now; time_t now;
int i, l; int i, l;
...@@ -692,9 +692,16 @@ int conf_write_autoconf(void) ...@@ -692,9 +692,16 @@ int conf_write_autoconf(void)
if (!out) if (!out)
return 1; return 1;
tristate = fopen(".tmpconfig_tristate", "w");
if (!tristate) {
fclose(out);
return 1;
}
out_h = fopen(".tmpconfig.h", "w"); out_h = fopen(".tmpconfig.h", "w");
if (!out_h) { if (!out_h) {
fclose(out); fclose(out);
fclose(tristate);
return 1; return 1;
} }
...@@ -707,6 +714,9 @@ int conf_write_autoconf(void) ...@@ -707,6 +714,9 @@ int conf_write_autoconf(void)
"# %s" "# %s"
"#\n", "#\n",
sym_get_string_value(sym), ctime(&now)); sym_get_string_value(sym), ctime(&now));
fprintf(tristate, "#\n"
"# Automatically generated - do not edit\n"
"\n");
fprintf(out_h, "/*\n" fprintf(out_h, "/*\n"
" * Automatically generated C config: don't edit\n" " * Automatically generated C config: don't edit\n"
" * Linux kernel version: %s\n" " * Linux kernel version: %s\n"
...@@ -727,10 +737,14 @@ int conf_write_autoconf(void) ...@@ -727,10 +737,14 @@ int conf_write_autoconf(void)
break; break;
case mod: case mod:
fprintf(out, "CONFIG_%s=m\n", sym->name); fprintf(out, "CONFIG_%s=m\n", sym->name);
fprintf(tristate, "CONFIG_%s=M\n", sym->name);
fprintf(out_h, "#define CONFIG_%s_MODULE 1\n", sym->name); fprintf(out_h, "#define CONFIG_%s_MODULE 1\n", sym->name);
break; break;
case yes: case yes:
fprintf(out, "CONFIG_%s=y\n", sym->name); fprintf(out, "CONFIG_%s=y\n", sym->name);
if (sym->type == S_TRISTATE)
fprintf(tristate, "CONFIG_%s=Y\n",
sym->name);
fprintf(out_h, "#define CONFIG_%s 1\n", sym->name); fprintf(out_h, "#define CONFIG_%s 1\n", sym->name);
break; break;
} }
...@@ -772,13 +786,19 @@ int conf_write_autoconf(void) ...@@ -772,13 +786,19 @@ int conf_write_autoconf(void)
} }
} }
fclose(out); fclose(out);
fclose(tristate);
fclose(out_h); fclose(out_h);
name = getenv("KCONFIG_AUTOHEADER"); name = getenv("KCONFIG_AUTOHEADER");
if (!name) if (!name)
name = "include/linux/autoconf.h"; name = "include/generated/autoconf.h";
if (rename(".tmpconfig.h", name)) if (rename(".tmpconfig.h", name))
return 1; return 1;
name = getenv("KCONFIG_TRISTATE");
if (!name)
name = "include/config/tristate.conf";
if (rename(".tmpconfig_tristate", name))
return 1;
name = conf_get_autoconfig_name(); name = conf_get_autoconfig_name();
/* /*
* This must be the last step, kbuild has a dependency on auto.conf * This must be the last step, kbuild has a dependency on auto.conf
......
...@@ -14,7 +14,7 @@ vecho() { [ "${quiet}" = "silent_" ] || echo "$@" ; } ...@@ -14,7 +14,7 @@ vecho() { [ "${quiet}" = "silent_" ] || echo "$@" ; }
# So "sudo make install" won't change the "compiled by <user>" # So "sudo make install" won't change the "compiled by <user>"
# do "compiled by root" # do "compiled by root"
if [ -r $TARGET -a ! -O include/linux/autoconf.h ]; then if [ -r $TARGET -a ! -O include/generated/autoconf.h ]; then
vecho " SKIPPED $TARGET" vecho " SKIPPED $TARGET"
exit 0 exit 0
fi fi
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#include <stdio.h> #include <stdio.h>
#include <ctype.h> #include <ctype.h>
#include "modpost.h" #include "modpost.h"
#include "../../include/linux/autoconf.h" #include "../../include/generated/autoconf.h"
#include "../../include/linux/license.h" #include "../../include/linux/license.h"
/* Some toolchains use a `_' prefix for all user symbols. */ /* Some toolchains use a `_' prefix for all user symbols. */
......
...@@ -77,9 +77,27 @@ clean-files += $(objtree)/binkernel.spec ...@@ -77,9 +77,27 @@ clean-files += $(objtree)/binkernel.spec
# Deb target # Deb target
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
quiet_cmd_builddeb = BUILDDEB
cmd_builddeb = set -e; \
test `id -u` = 0 || \
test -n "$(KBUILD_PKG_ROOTCMD)" || { \
which fakeroot >/dev/null 2>&1 && \
KBUILD_PKG_ROOTCMD="fakeroot -u"; \
} || { \
echo; \
echo "builddeb must be run as root (or using fakeroot)."; \
echo "KBUILD_PKG_ROOTCMD is unset and fakeroot not found."; \
echo "Try setting KBUILD_PKG_ROOTCMD to a command to acquire"; \
echo "root privileges (e.g., 'fakeroot -u' or 'sudo')."; \
false; \
} && \
\
$$KBUILD_PKG_ROOTCMD $(CONFIG_SHELL) \
$(srctree)/scripts/package/builddeb
deb-pkg: FORCE deb-pkg: FORCE
$(MAKE) KBUILD_SRC= $(MAKE) KBUILD_SRC=
$(CONFIG_SHELL) $(srctree)/scripts/package/builddeb $(call cmd,builddeb)
clean-dirs += $(objtree)/debian/ clean-dirs += $(objtree)/debian/
......
...@@ -101,7 +101,11 @@ esac ...@@ -101,7 +101,11 @@ esac
# #
( (
cd "${tmpdir}" cd "${tmpdir}"
tar cf - . | ${compress} > "${tarball}${file_ext}" opts=
if tar --owner=root --group=root --help >/dev/null 2>&1; then
opts="--owner=root --group=root"
fi
tar cf - . $opts | ${compress} > "${tarball}${file_ext}"
) )
echo "Tarball successfully created in ${tarball}${file_ext}" echo "Tarball successfully created in ${tarball}${file_ext}"
......
...@@ -89,7 +89,13 @@ all_defconfigs() ...@@ -89,7 +89,13 @@ all_defconfigs()
docscope() docscope()
{ {
(echo \-k; echo \-q; all_sources) > cscope.files # always use absolute paths for cscope, as recommended by cscope
# upstream
case "$tree" in
/*) ;;
*) tree=$PWD/$tree ;;
esac
(cd /; echo \-k; echo \-q; all_sources) > cscope.files
cscope -b -f cscope.out cscope -b -f cscope.out
} }
......
This diff is collapsed.
...@@ -354,7 +354,10 @@ static int cpio_mkfile(const char *name, const char *location, ...@@ -354,7 +354,10 @@ static int cpio_mkfile(const char *name, const char *location,
push_pad(); push_pad();
if (size) { if (size) {
fwrite(filebuf, size, 1, stdout); if (fwrite(filebuf, size, 1, stdout) != 1) {
fprintf(stderr, "writing filebuf failed\n");
goto error;
}
offset += size; offset += size;
push_pad(); push_pad();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment