summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2006-09-25Don't remove $(INSTALL_HDR_PATH)/install before headers_install.David Woodhouse1-1/+0
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-09-25Merge git://git.infradead.org/~dwmw2/khdrs-2.6Linus Torvalds1-2/+18
* 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.
2006-09-25kbuild: add distclean info to 'make help' and more details for 'clean'Jesper Juhl1-2/+3
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>
2006-09-25kbuild: correct and clarify versioning info in MakefileRobert P. J. Day1-5/+27
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>
2006-09-25kbuild: Extend kbuild/defconfig tags support to exuberant ctagsAron Griffis1-17/+27
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>
2006-09-25kbuild: clarify "make C=" build optionRobert P. J. Day1-3/+9
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>
2006-09-25kbuild: update help in top level MakefileRobert P. J. Day1-0/+1
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-09-25kbuild: preperly align SYSMAP outputSam Ravnborg1-11/+11
Align filenames for SYSMAP with other filenames Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-09-25kbuild: make -rR is now defaultSam Ravnborg1-7/+7
Do not specify -rR anymore - it is default. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-09-25kbuild: make V=2 tell why a target is rebuildSam Ravnborg1-0/+1
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>
2006-09-25kbuild: modpost on vmlinux regardless of CONFIG_MODULESSam Ravnborg1-0/+1
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>
2006-09-25kbuild: use in-kernel unifdefSam Ravnborg1-2/+2
Let headers_install use in-kernel unifdef Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-09-25New 'make headers_install_all' target.David Woodhouse1-0/+9
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>
2006-09-25Use dependencies for 'make headers_install'.David Woodhouse1-1/+0
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>
2006-09-21Don't advertise (or allow) headers_{install,check} where inappropriate.David Woodhouse1-2/+9
For architectures which don't have the include/asm-$(ARCH)/Kbuild file, like ARM26, UM, etc. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-09-20Linux v2.6.18. Arrr!v2.6.18Linus Torvalds1-2/+2
Ahoy, all land-lubbers, test me out right smartly! Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-19[PATCH] Add headers_check' target to output of 'make help'David Woodhouse1-0/+1
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>
2006-09-16[PATCH] headers_check: use a different default directoryDavid Woodhouse1-3/+3
`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>
2006-09-13Linux v2.6.18-rc7v2.6.18-rc7Linus Torvalds1-1/+1
One last time..
2006-09-04Linux 2.6.18-rc6v2.6.18-rc6Linus Torvalds1-1/+1
2006-08-28Linux v2.6.18-rc5v2.6.18-rc5Linus Torvalds1-1/+1
2006-08-16Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-2.6.18Greg Kroah-Hartman1-4/+4
2006-08-16kbuild: correct assingment to CFLAGS with CROSS_COMPILESam Ravnborg1-4/+4
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>
2006-08-08Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-2.6.18Greg Kroah-Hartman1-6/+18
2006-08-07kbuild: external modules shall not check config consistencySam Ravnborg1-6/+18
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>
2006-08-06Linux v2.6.18-rc4v2.6.18-rc4Linus Torvalds1-1/+1
2006-08-01kbuild: -fno-stack-protector is not goodSam Ravnborg1-2/+2
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>
2006-08-01kbuild: version.h and new headers_* targets does not require a kernel configSam Ravnborg1-0/+1
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-07-30Linux v2.6.18-rc3v2.6.18-rc3Linus Torvalds1-1/+1
2006-07-16Linux 2.6.18-rc2v2.6.18-rc2Linus Torvalds1-1/+1
Finishing up for the kernel summit. Ottawa, here I come. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-06Linux 2.6.18-rc1v2.6.18-rc1Linus Torvalds1-2/+2
It's all good.
2006-07-05[PATCH] Makefile typoAndreas Schwab1-1/+1
Fix a typo in the toplevel makefile. Signed-off-by: Andreas Schwab <schwab@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-04Merge git://git.infradead.org/hdrinstall-2.6Linus Torvalds1-0/+17
* 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'
2006-07-04kbuild: introduce utsrelease.hSam Ravnborg1-12/+18
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>
2006-07-02kbuild: explicit turn off gcc stack-protectorSam Ravnborg1-0/+3
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>
2006-07-01kbuild: documentation change on allowing checkers besides sparseDustin Kirkland1-4/+5
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>
2006-07-01kbuild: fix ia64 breakage after introducing make -rRSam Ravnborg1-1/+1
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>
2006-06-26Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuildLinus Torvalds1-92/+121
* 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 ...
2006-06-25kbuild: trivial fixes in MakefileSam Ravnborg1-41/+41
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-06-25kbuild: adding symbols in Kconfig and defconfig to TAGSMasatake YAMATO1-9/+25
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>
2006-06-25kbuild: support for %.symtypes filesAndreas Gruenbacher1-1/+4
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>
2006-06-25kbuild: fix silentoldconfig recursionRoman Zippel1-0/+4
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>
2006-06-25kbuild: add option for stripping modules while installing themTheodore Ts'o1-0/+17
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>
2006-06-18Basic implementation of 'make headers_check'David Woodhouse1-0/+4
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>
2006-06-18Basic implementation of 'make headers_install'David Woodhouse1-0/+13
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>
2006-06-18Linux v2.6.17v2.6.17Linus Torvalds1-1/+1
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.
2006-06-10kbuild: ignore make's built-in rules & variablesSam Ravnborg1-4/+3
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>
2006-06-09kbuild: add dependency on kernel.release to the package targetsZach Brown1-2/+2
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>
2006-06-09kbuild: `make kernelrelease' speedupRoman Zippel1-2/+3
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-06-09kconfig: KCONFIG_OVERWRITECONFIGRoman Zippel1-2/+4
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>