Commit graph android_kernel_sony_sdm845/Makefile
Message SHA1
Don't remove $(INSTALL_HDR_PATH)/install before headers_install.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>

David Woodhouse   commited 2006-09-24 23:44:57 +01:00
2722de7fed
Merge git://git.infradead.org/~dwmw2/khdrs-2.6
* git://git.infradead.org/~dwmw2/khdrs-2.6:
  New 'make headers_install_all' target.
  Use dependencies for 'make headers_install'.
  [S390] Unexport <asm/z90crypt.h>, export <asm/zcrypt.h> in its place.
  Remove dead netfilter_logging.h from include/linux/Kbuild
  Remove offsetof() from user-visible <linux/stddef.h>
  Clean up exported headers on CRIS
  Fix v850 exported headers
  Don't advertise (or allow) headers_{install,check} where inappropriate.
  Remove UML header export
  Remove ARM26 header export.
  Fix H8300 exported headers.
  Fix m68knommu exported headers
  Fix exported headers for SPARC, SPARC64
  Fix 'make headers_check' on m32r
  Fix 'make headers_check' on sh64
  Fix 'make headers_check' on sh
  [HEADERS] Fix ARM 'make headers_check'

Initial pass of manual conflict resolution in top-level Makefile over
conflicting build rule and headers_install changes.

Linus Torvalds   commited 2006-09-24 14:55:52 -07:00
398477d4bd
kbuild: add distclean info to 'make help' and more details for 'clean'
Add distclean info, that was previously missing, to 'make help'.
Also add a few more details to the 'make clean' help text.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Jesper Juhl   authored and   Sam Ravnborg   commited 2006-09-25 20:21:54 +02:00
5cc8d246d0
kbuild: correct and clarify versioning info in Makefile
The attached patch clarifies the creation of KERNELRELEASE and
corrects an error regarding the use of $(LOCALVERSION).

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Robert P. J. Day   authored and   Sam Ravnborg   commited 2006-09-25 10:50:14 +02:00
1ef9885690
kbuild: Extend kbuild/defconfig tags support to exuberant ctags
The following patch extends kbuild/defconfig tags support to exuberant
ctags.  The previous support is only for emacs ctags/etags programs.

This patch also corrects the kconfig regex for the emacs invocation.
Previously it would miss some instances because it assumed /^config
instead of /^[ \t]*config

Signed-off-by: Aron Griffis <aron@hp.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Aron Griffis   authored and   Sam Ravnborg   commited 2006-09-25 10:24:20 +02:00
da7c04083c
kbuild: clarify "make C=" build option
Clarify the use of "make C=" in the top-level Makefile, and fix a
typo in the Documentation file.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Robert P. J. Day   authored and   Sam Ravnborg   commited 2006-09-25 10:10:56 +02:00
1c7bafe720
kbuild: update help in top level Makefile
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Robert P. J. Day   authored and   Sam Ravnborg   commited 2006-09-25 10:02:52 +02:00
b32c826847
kbuild: preperly align SYSMAP output
Align filenames for SYSMAP with other filenames

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Sam Ravnborg   commited 2006-09-25 09:01:49 +02:00
4635281c8e
kbuild: make -rR is now default
Do not specify -rR anymore - it is default.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Sam Ravnborg   commited 2006-09-25 09:01:49 +02:00
b805aa0e79
kbuild: make V=2 tell why a target is rebuild
tell why a a target got build
   enabled by make V=2
      Output (listed in the order they are checked):
         (1) - due to target is PHONY
         (2) - due to target missing
         (3) - due to: file1.h file2.h
         (4) - due to command line change
         (5) - due to missing .cmd file
         (6) - due to target not in $(targets)
(1) We always build PHONY targets
(2) No target, so we better build it
(3) Prerequisite is newer than target
(4) The command line stored in the file named dir/.target.cmd
    differed from actual command line. This happens when compiler
    options changes
(5) No dir/.target.cmd file (used to store command line)
(6) No dir/.target.cmd file and target not listed in $(targets)
    This is a good hint that there is a bug in the kbuild file

This patch is inspired by a patch from: Milton Miller <miltonm@bga.com>

Cc: Milton Miller <miltonm@bga.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Sam Ravnborg   commited 2006-09-25 09:01:49 +02:00
45d506bd65
kbuild: modpost on vmlinux regardless of CONFIG_MODULES
Based on patch from: Magnus Damm <magnus@valinux.co.jp>
This has the advantage that all section mismatch checks are run regardless
of modules being enabled or not.

When running modpost on vmlinux output:
MODPOST vmlinux

When running modpost on modules output count of modules like this:
MODPOST 5 modules

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Sam Ravnborg   commited 2006-09-25 09:01:49 +02:00
12715d20af
kbuild: use in-kernel unifdef
Let headers_install use in-kernel unifdef

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Sam Ravnborg   commited 2006-09-25 09:00:01 +02:00
07aea3a71f
New 'make headers_install_all' target.
Install headers for _all_ architectures, suitable for making a tarball
release or extracting them for use in a separate package.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>

David Woodhouse   commited 2006-09-24 22:16:03 +01:00
6d71627581
Use dependencies for 'make headers_install'.
Re-export header files only if either they or their controlling Kbuild
file has actually changed. Also allow for similar dependencies with
'headers_check', once we properly create the dependencies for those.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>

David Woodhouse   commited 2006-09-24 22:15:14 +01:00
de78912582
Don't advertise (or allow) headers_{install,check} where inappropriate.
For architectures which don't have the include/asm-$(ARCH)/Kbuild file,
like ARM26, UM, etc.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>

David Woodhouse   commited 2006-09-21 09:01:45 +01:00
f17b7bad39
Linux v2.6.18. Arrr!
Ahoy, all land-lubbers, test me out right smartly!

Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Linus Torvalds   commited 2006-09-19 20:42:06 -07:00
e478bec0ba
[PATCH] Add headers_check' target to output of 'make help'
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

David Woodhouse   authored and   Linus Torvalds   commited 2006-09-19 07:59:59 -07:00
271fc18eea
[PATCH] headers_check: use a different default directory
`make headers_check' wants to go and write stuff in /lib/modules, which
requires root, whic is unfortunate.

In fact, there's no _particular_ reason for headers_install to put it there
either -- it can go into a subdirectory of the build tree in both cases.
It's not intended to go directly into /usr/include, which is why we didn't
put it there -- and we certainly don't want people screwing around with
symlinking to it.  It's for distributors to take away and do stuff with, so
leaving it in $(objtree) is fine, even in the headers_install case.

I picked $(objtree)/usr/include but I have no _particular_ preference
for that; it just seemed reasonable.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

David Woodhouse   authored and   Linus Torvalds   commited 2006-09-16 12:54:32 -07:00
1ab7a1f3b4
Linux v2.6.18-rc7
One last time..

Linus Torvalds   commited 2006-09-12 18:41:36 -07:00
95064a75eb
Linux 2.6.18-rc6
Linus Torvalds   commited 2006-09-03 19:19:48 -07:00
c336923b66
Linux v2.6.18-rc5
Linus Torvalds   commited 2006-08-27 20:41:48 -07:00
60d4684068
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-2.6.18
Greg Kroah-Hartman   commited 2006-08-16 12:41:16 -07:00
774bd8613d
kbuild: correct assingment to CFLAGS with CROSS_COMPILE
Some architectures change $CC in arch/$(ARCH)/Makefile
mips is one example.

That have impact on what options are supported by gcc so move all
$(call cc-option, ...) after include of arch specific Makefile.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Sam Ravnborg   commited 2006-08-16 21:14:08 +02:00
c9eca0b910
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-2.6.18
Greg Kroah-Hartman   commited 2006-08-07 13:39:55 -07:00
20dbfad8e5
kbuild: external modules shall not check config consistency
external modules needs include/linux/autoconf.h and include/config/auto.conf
but skip the integrity test of these. Even with a newer Kconfig file we
shall just proceed since external modules simply uses the kernel source and
shall not attempt to modify it.
Error out if a config fiel is missing since they are mandatory.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Sam Ravnborg   commited 2006-08-07 21:01:36 +02:00
9ee4e3365d
Linux v2.6.18-rc4
Linus Torvalds   commited 2006-08-06 11:20:11 -07:00
9f737633e6
kbuild: -fno-stack-protector is not good
Ubuntu gcc has hardcoded -fstack-protector - but does not understand
-fno-stack-protector-all. So only try -fno-stack-protector.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Sam Ravnborg   commited 2006-08-01 11:32:46 +02:00
eb2cafa1d9
kbuild: version.h and new headers_* targets does not require a kernel config
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Sam Ravnborg   commited 2006-08-01 11:32:46 +02:00
667918a4cc
Linux v2.6.18-rc3
Linus Torvalds   commited 2006-07-29 23:15:36 -07:00
b6ff50833a
Linux 2.6.18-rc2
Finishing up for the kernel summit. Ottawa, here I come.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Linus Torvalds   commited 2006-07-15 14:53:08 -07:00
82d6897fef
Linux 2.6.18-rc1
It's all good.

Linus Torvalds   commited 2006-07-05 21:09:49 -07:00
120bda20c6
[PATCH] Makefile typo
Fix a typo in the toplevel makefile.

Signed-off-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Andreas Schwab   authored and   Linus Torvalds   commited 2006-07-05 10:08:16 -07:00
e340221acd
Merge git://git.infradead.org/hdrinstall-2.6
* git://git.infradead.org/hdrinstall-2.6:
  Remove export of include/linux/isdn/tpam.h
  Remove <linux/i2c-id.h> and <linux/i2c-algo-ite.h> from userspace export
  Restrict headers exported to userspace for SPARC and SPARC64
  Add empty Kbuild files for 'make headers_install' in remaining arches.
  Add Kbuild file for Alpha 'make headers_install'
  Add Kbuild file for SPARC 'make headers_install'
  Add Kbuild file for IA64 'make headers_install'
  Add Kbuild file for S390 'make headers_install'
  Add Kbuild file for i386 'make headers_install'
  Add Kbuild file for x86_64 'make headers_install'
  Add Kbuild file for PowerPC 'make headers_install'
  Add generic Kbuild files for 'make headers_install'
  Basic implementation of 'make headers_check'
  Basic implementation of 'make headers_install'

Linus Torvalds   commited 2006-07-04 12:55:45 -07:00
6fa0cb1141
kbuild: introduce utsrelease.h
include/linux/version.h contained both actual KERNEL version
and UTS_RELEASE that contains a subset from git SHA1 for when
kernel was compiled as part of a git repository.
This had the unfortunate side-effect that all files including version.h
would be recompiled when some git changes was made due to changes SHA1.
Split it out so we keep independent parts in separate files.

Also update checkversion.pl script to no longer check for UTS_RELEASE.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Sam Ravnborg   commited 2006-07-03 23:30:54 +02:00
63104eec23
kbuild: explicit turn off gcc stack-protector
Ubuntu has enabled -fstack-protector per default in gcc
breaking kernel build. Explicit turn it off for now.
Later we may decide to make it configurable if the
kernel starts to support it.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Sam Ravnborg   commited 2006-07-02 20:21:49 +02:00
34c162f79e
kbuild: documentation change on allowing checkers besides sparse
Minor documentation change on allowing checkers besides sparse

This patch cleans up a couple of mentions of sparse in the inline
toplevel Makefile documentation such that it's clear that other checkers
besides sparse can override CHECK and CHECKFLAGS.

Signed-off-by: Dustin Kirkland <dustin.kirkland@us.ibm.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Dustin Kirkland   authored and   Sam Ravnborg   commited 2006-07-01 17:08:33 +02:00
701842e3bd
kbuild: fix ia64 breakage after introducing make -rR
kbuild used $¤(*F to get filename of target without extension.
This was used in several places all over kbuild, but introducing
make -rR broke his for all cases where we specified full path to
target/prerequsite. It is assumed that make -rR disables old style
suffix-rules which is why is suddenly failed.

ia64 was impacted by this change because several div* routines in
arch/ia64/lib are build using explicit paths and then kbuild failed.

Thanks to David Mosberger-Tang <David.Mosberger@acm.org> for an explanation
what was the root-cause and for testing on ia64.

This patch also fixes two uses of $(*F) in arch/um

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Sam Ravnborg   commited 2006-07-01 09:58:02 +02:00
5e8d780d74
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (40 commits)
  kbuild: trivial fixes in Makefile
  kbuild: adding symbols in Kconfig and defconfig to TAGS
  kbuild: replace abort() with exit(1)
  kbuild: support for %.symtypes files
  kbuild: fix silentoldconfig recursion
  kbuild: add option for stripping modules while installing them
  kbuild: kill some false positives from modpost
  kbuild: export-symbol usage report generator
  kbuild: fix make -rR breakage
  kbuild: append -dirty for updated but uncommited changes
  kbuild: append git revision for all untagged commits
  kbuild: fix module.symvers parsing in modpost
  kbuild: ignore make's built-in rules & variables
  kbuild: bugfix with initramfs
  kbuild: modpost build fix
  kbuild: check license compatibility when building modules
  kbuild: export-type enhancement to modpost.c
  kbuild: add dependency on kernel.release to the package targets
  kbuild: `make kernelrelease' speedup
  kconfig: KCONFIG_OVERWRITECONFIG
  ...

Linus Torvalds   commited 2006-06-26 11:05:15 -07:00
2a2ed2db35
kbuild: trivial fixes in Makefile
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Sam Ravnborg   commited 2006-06-25 00:07:55 +02:00
070b98bfda
kbuild: adding symbols in Kconfig and defconfig to TAGS
I'm using TAGS generated from "make TAGS" to read the kernel source code.

When I met a ifdef block

	  #ifdef CONFIG_FOO
	  	 ...
	  #endif

in the soruce code I would like to know the meaning CONFIG_FOO
to decide whether I should read inside the ifdef block
or not. meaning CONFIG_FOO is well documented in Kconfig.
So it is nice if I can jump to CONFIG_FOO entry in Kconfig
from "#ifdef CONFIG_FOO" with the tag jump.

Here is the patch to add symbols in Kconfig and defconfig to TAGS
in "make TAGS" operation.

Signed-off-by: Masatake YAMATO <jet@gyve.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Masatake YAMATO   authored and   Sam Ravnborg   commited 2006-06-24 23:52:05 +02:00
e838db685f
kbuild: support for %.symtypes files
Here is a patch that adds a new -T option to genksyms for generating dumps of
the type definition that makes up the symbol version hashes. This allows to
trace modversion changes back to what caused them. The dump format is the
name of the type defined, followed by its definition (which is almost C):

  s#list_head struct list_head { s#list_head * next , * prev ; }

The s#, u#, e#, and t# prefixes stand for struct, union, enum, and typedef.
The exported symbols do not define types, and thus do not have an x# prefix:

  nfs4_acl_get_whotype int nfs4_acl_get_whotype ( char * , t#u32 )

The symbol type defintion of a single file can be generated with:

  make fs/jbd/journal.symtypes

If KBUILD_SYMTYPES is defined, all the *.symtypes of all object files that
export symbols are generated.

The single *.symtypes files can be combined into a single file after a kernel
build with a script like the following:

for f in $(find -name '*.symtypes' | sort); do
    f=${f#./}
    echo "/* ${f%.symtypes}.o */"
    cat $f
    echo
done \
| sed -e '\:UNKNOWN:d' \
      -e 's:[,;] }:}:g' \
      -e 's:\([[({]\) :\1:g' \
      -e 's: \([])},;]\):\1:g' \
      -e 's: $::' \
      $f \
| awk '
/^.#/   { if (defined[$1] == $0) {
            print $1
            next
          }
          defined[$1] = $0
        }
        { print }
'

When the kernel ABI changes, diffing individual *.symtype files, or the
combined files, against each other will show which symbol changes caused the
ABI changes. This can save a tremendous amount of time.

Dump the types that make up modversions

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Andreas Gruenbacher   authored and   Sam Ravnborg   commited 2006-06-24 23:42:46 +02:00
15fde67518
kbuild: fix silentoldconfig recursion
kconfig-fix-config-dependencies causes this:

make CC=cc  KBUILD_VERBOSE=1 -C /usr/src/25 SUBDIRS=/home/akpm/NVIDIA-Linux-x86_64-1.0-8762-pkg2/usr/src/nv modules
make -f /usr/src/devel/Makefile silentoldconfig
make -f /usr/src/devel/Makefile silentoldconfig
make -f /usr/src/devel/Makefile silentoldconfig

The basic problem is if we compile external modules, config-targets isn't
set which can cause recursive calls to silentoldconfig to update the
kernel configuration.

Bail out and ask the user to update manually.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Roman Zippel   authored and   Sam Ravnborg   commited 2006-06-24 23:32:37 +02:00
3041e47e8b
kbuild: add option for stripping modules while installing them
Add option for stripping modules while installing them.

This function adds support for stripping modules while they are being
installed.  CONFIG_DEBUG_KERNEL (which will probably become more
popular as developers use kdump) causes the size of the installed
modules to grow by a factor of 9 or so.

Some kernel package systems solve this problem by stripping the debug
information from /lib/modules after running "make modules_install",
but that may not work for people who are installing directly into
/lib/modules --- root partitions that were sized to handle 16 megs
worth of modules may not be quite so happy with 145 megs of modules,
so the "make modules_install" never succeeds.

This patch allows such users to request modules_install to strip the
modules as they are installed.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Theodore Ts'o   authored and   Sam Ravnborg   commited 2006-06-24 23:16:45 +02:00
ac031f26e8
Basic implementation of 'make headers_check'
Based on the 'headers_install' target, this performs a basic sanity check
on the exported headers -- so far only checking that they do not include
any other headers which aren't selected for import, but easily extendable.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>

David Woodhouse   commited 2006-06-18 12:02:10 +01:00
684753599a
Basic implementation of 'make headers_install'
This adds a make target which exports a subset of headers which contain
definitions which are useful for system libraries and tools. It uses the
BSD 'unifdef' tool to remove instances of #ifdef __KERNEL__, and uses
sed to remove markers like __user.

Based on an original implementation by Arnd Bergmann <arnd@arndb.de>
Hacked about by David Woodhouse <dwmw2@infradead.org>
Reviewed and cleaned up by Sam Ravnborg <sam@ravnborg.org>

Signed-off-by: David Woodhouse <dwmw2@infradead.org>

David Woodhouse   commited 2006-06-18 11:58:39 +01:00
8d730cfb50
Linux v2.6.17
Being named "Crazed Snow-Weasel" instills a lot of confidence in this
release, so I'm sure this will be one of the better ones.

Linus Torvalds   commited 2006-06-17 18:49:35 -07:00
427abfa28a
kbuild: ignore make's built-in rules & variables
kbuild does explicitly specify what to do in all cases, and each
time make's built-in rules & variables has been used it has been a bug.
So to speed up things and to avoid the hard-to-debug error situations
ignore the built-in definitions.
If any part of the kernel uses the built-in definitions the build will
just stop there and it should be trivial to fix.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Sam Ravnborg   commited 2006-06-10 09:15:27 +02:00
566f81ca59
kbuild: add dependency on kernel.release to the package targets
The binrpm-pkg target uses KERNELRELEASE when generated its .spec file.
When binrpm-pkg was the first build target run in a tree it generated the
.spec before kernel.release so the Version: tag in the .spec was empty.

I don't know if this is the best fix, but binrpm-pkg works when we
explicitly build kernel.release before descending into package-dir.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Zach Brown   authored and   Sam Ravnborg   commited 2006-06-09 16:31:44 +02:00
031ecc6de7
kbuild: `make kernelrelease' speedup
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Roman Zippel   authored and   Sam Ravnborg   commited 2006-06-09 16:31:44 +02:00
c30a02e022
kconfig: KCONFIG_OVERWRITECONFIG
If you set KCONFIG_OVERWRITECONFIG in environment, Kconfig will not break
symlinks when .config is a symlink to somewhere else.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Roman Zippel   authored and   Sam Ravnborg   commited 2006-06-09 16:28:07 +02:00
14cdd3c402