aboutsummaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2010-08-05Merge branch 'misc' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: scripts/dtc: Fix a resource leak Documentation: fix ubuntu distro name MAINTAINERS: Update kbuild git URLs Add support for the C variable in the coccicheck script Add scripts/coccinelle/deref_null.cocci Add scripts/coccinelle/err_cast.cocci Add scripts/coccinelle/resource_size.cocci Add scripts/coccinelle/alloc/kzalloc-simple.cocci Add scripts/coccinelle/alloc/drop_kmalloc_cast.cocci Add Documentation/coccinelle.txt Add a target to use the Coccinelle checker scripts: decodecode: remove bashisms Makefile: clarify a comment checkkconfigsymbols.sh: Kconfig symbols sometimes have lowercase letters scripts: add nconf into gitignore file
2010-08-04Merge commit 'v2.6.35' into kbuild/kbuildMichal Marek
Conflicts: arch/powerpc/Makefile
2010-08-03kbuild: allow assignment to {A,C}FLAGS_KERNEL on the command lineSam Ravnborg
It is now possible to assign options to AS and CC on the command line - which is only used for built-in code. {A,C}FLAGS_KERNEL was used both in the top-level Makefile in the arch makefiles, thus users had no way to specify additional options to AS, CC without overriding the original value. Introduce a new set of variables KBUILD_{A,C}FLAGS_KERNEL that is used by arch specific files and free up {A,C}FLAGS_KERNEL so they can be assigned on the command line. All arch Makefiles that used the old variables has been updated. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Tony Luck <tony.luck@intel.com> Cc: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-08-03kbuild: allow assignment to {A,C,LD}FLAGS_MODULE on the command lineSam Ravnborg
It is now possible to assign options to AS, CC and LD on the command line - which is only used when building modules. {A,C,LD}FLAGS_MODULE was all used both in the top-level Makefile in the arch makefiles, thus users had no way to specify additional options to AS, CC, LD when building modules without overriding the original value. Introduce a new set of variables KBUILD_{A,C,LD}FLAGS_MODULE that is used by arch specific files and free up {A,C,LD}FLAGS_MODULE so they can be assigned on the command line. All arch Makefiles that used the old variables has been updated. Note: Previously we had a MODFLAGS variable for both AS and CC. But in favour of consistency this was dropped. So in some cases arch Makefile has one assignmnet replaced by two assignmnets. Note2: MODFLAGS was not documented and is dropped without any notice. I do not expect much/any breakage from this. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Denys Vlasenko <vda.linux@googlemail.com> Cc: Haavard Skinnemoen <hskinnemoen@atmel.com> Cc: Mike Frysinger <vapier@gentoo.org> Cc: Tony Luck <tony.luck@intel.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Chen Liqin <liqin.chen@sunplusct.com> Acked-by: Mike Frysinger <vapier@gentoo.org> [blackfin] Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> [avr32] Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-08-01Linux 2.6.35v2.6.35Linus Torvalds
2010-07-22Linux 2.6.35-rc6v2.6.35-rc6Linus Torvalds
2010-07-14Kbuild: Add option to set -femit-struct-debug-baseonlyAndi Kleen
Newer gcc has a -femit-struct-debug-baseonly option that dramatically reduces the size of object files with debug info. What it does is to only emit type information for structures when the structures are defined in the same file or in a header file. This means the type information for most headers are not included. This is not good when the type information is actually needed (e.g. with kgdb or systemtap) But often kernel hackers only care about line numbers and don't need all the type information anyways. In this case setting the option can be a big win: A build dir for a specific x86-64 configuration with gcc 4.5 shrunk from 2.3G to 1.2G. The compilation was also nearly a minute faster. Signed-off-by: Andi Kleen <ak@linux.intel.com> [mmarek: reformatted help text] Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-07-12Linux 2.6.35-rc5v2.6.35-rc5Linus Torvalds
2010-07-06kbuild: Fix path to scripts/setlocalversionMichal Marek
Commit 0a564b2 broke LOCALVERSION for O=... builds. Ouch. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Reported-and-tested-by: Rafael J. Wysocki <rjw@sisk.pl> Reported-by: Peter Anvin <hpa@zytor.com> Signed-off-by: Michal Marek <mmarek@suse.cz> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-07-04Linux 2.6.35-rc4v2.6.35-rc4Linus Torvalds
2010-07-04Merge branch 'rc-fixes' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: kbuild: Propagate LOCALVERSION= down to scripts/setlocalversion kbuild: Clean up and speed up the localversion logic
2010-07-02Merge branch 'setlocalversion-speedup' into kbuild/rc-fixesMichal Marek
Conflicts: Makefile
2010-06-30kbuild: Propagate LOCALVERSION= down to scripts/setlocalversionMichal Marek
Variables given on the make commandline are not exported to $(shell ...) commands, so run the setlocalversion script in the make rule directly. Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-06-29Makefile: "make kernelrelease" should show the correct full kernel versionAmerigo Wang
After commit 85a256d8e0116c8f5ad276730830f5d4d473344d, 'make kernelrelease' doesn't show the correct full kernel version. This patch fixes it, 'make kernelrelease' will show the same version name with the one you finally get. Cc: David Rientjes <rientjes@google.com> Cc: Michal Marek <mmarek@suse.cz> Signed-off-by: Amerigo Wang <amwang@redhat.com> [mmarek: merged with 0915512 and added dependency on include/config/kernel.release] Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-06-27Merge branch 'rc-fixes' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: kbuild: fix LOCALVERSION handling to match description kbuild: Fix modpost segfault
2010-06-18kbuild: Clean up and speed up the localversion logicMichal Marek
Now that we run scripts/setlocalversion during every build, it makes sense to move all the localversion logic there. This cleans up the toplevel Makefile and also makes sure that the script is called only once in 'make prepare' (previously, it would be called every time due to a variable expansion in an ifneq statement). No user-visible change is intended, unless one runs the setlocalversion script directly. Reported-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: David Rientjes <rientjes@google.com> Cc: Greg Thelen <gthelen@google.com> Cc: Nico Schottelius <nico-linuxsetlocalversion@schottelius.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-06-15kbuild: fix LOCALVERSION handling to match descriptionAndy Whitcroft
In the commit below the version string handling was modified, adding a '+' where no other version information was supplied: commit 85a256d8e0116c8f5ad276730830f5d4d473344d Author: David Rientjes <rientjes@google.com> Date: Wed Jan 13 13:01:05 2010 -0800 From the commit the intent was as below: - when CONFIG_LOCALVERSION_AUTO is disabled, a `+' is appended if the repository has been revised beyond a tagged commit and LOCALVERSION= was not passed to "make". However if the user supplies an empty LOCALVERSION on the command line the plus suffix is still added. This form is useful in the case where the build environment knows that the version as specified is correct and complete but does not correspond to a specific tag. This patch changes the implementation to match the documentation such that specifying LOCALVERSION= on the build line is sufficient to suppress any suffix. Signed-off-by: Andy Whitcroft <apw@canonical.com> Acked-by: David Rientjes <rientjes@google.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-06-11Linux 2.6.35-rc3v2.6.35-rc3Linus Torvalds
2010-06-12Merge branch 'kbuild/coccinelle' into kbuild/miscMichal Marek
2010-06-12Add a target to use the Coccinelle checkerNicolas Palix
A 'coccicheck' target is added. It can be called with four different modes. Each one generates a different kind of output, i.e. context, patch, org, report, according to the corresponding mode to be activated. The new target calls the 'coccicheck' front-end in the 'scripts' directory with the MODE argument. Every SmPL file in the subdirectories of 'scripts/coccinelle' is then given to the front-end and applied to the entire source tree. The four modes behave as follows: 'report' generates a list in the following format: file:line:column-column: message 'patch' proposes a fix, when possible. 'context' highlights lines of interest and their context in a diff-like style. Lines of interest are indicated with '-'. 'org' generates a report in the Org mode format of Emacs. Signed-off-by: Nicolas Palix <npalix@diku.dk> Signed-off-by: Julia Lawall <julia@diku.dk> Acked-by: Sam Ravnborg <sam@ravnborg.org> Acked-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-06-09kbuild: Generate modules.builtin in make modulesMichal Marek
Generating the file in make modules_install was broken as well, because it didn't work in a readonly filesystem and otherwise it generated a root-owned file which is not wanted. Reported-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-06-05Linux 2.6.35-rc2v2.6.35-rc2Linus Torvalds
2010-06-03Makefile: clarify a commentMichal Marek
os user <gnusercn@gmail.com> writes: From the last comment, arch makefile will override vmlinux. It seems vmlinux will not be checked by `make'. But from my test, although `all:' will be re-defined in arch Makefile (ARM arch), vmlinux will still be checked and the commands associated will be executed. Should we use another word instead of "overridden"? Reported-by: os user <gnusercn@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-06-01Merge branch 'for-35' of git://repo.or.cz/linux-kbuildLinus Torvalds
* 'for-35' of git://repo.or.cz/linux-kbuild: (81 commits) kbuild: Revert part of e8d400a to resolve a conflict kbuild: Fix checking of scm-identifier variable gconfig: add support to show hidden options that have prompts menuconfig: add support to show hidden options which have prompts gconfig: remove show_debug option gconfig: remove dbg_print_ptype() and dbg_print_stype() kconfig: fix zconfdump() kconfig: some small fixes add random binaries to .gitignore kbuild: Include gen_initramfs_list.sh and the file list in the .d file kconfig: recalc symbol value before showing search results .gitignore: ignore *.lzo files headerdep: perlcritic warning scripts/Makefile.lib: Align the output of LZO kbuild: Generate modules.builtin in make modules_install Revert "kbuild: specify absolute paths for cscope" kbuild: Do not unnecessarily regenerate modules.builtin headers_install: use local file handles headers_check: fix perl warnings export_report: fix perl warnings ...
2010-05-30Linux 2.6.35-rc1v2.6.35-rc1Linus Torvalds
.. and thus endeth the merge window.
2010-05-16Linus 2.6.34v2.6.34Linus Torvalds
2010-05-09Linux 2.6.34-rc7v2.6.34-rc7Linus Torvalds
2010-05-06kbuild: Fix checking of scm-identifier variableGreg Thelen
I'm looking Makefile in the -mm branch (dated 2010-04-28-16-53) and seeing what looks like a bug in the checking of scm-identifier. The "ifneq ($scm-identifier)" seems to always execute "ifeq ($(LOCALVERSION,)) ...". This patch fixes the checking of scm-identifier. Signed-off-by: Greg Thelen <gthelen@google.com> Acked-by: David Rientjes <rientjes@google.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-04-29Linux 2.6.34-rc6v2.6.34-rc6Linus Torvalds
2010-04-19Linux 2.6.34-rc5v2.6.34-rc5Linus Torvalds
2010-04-12Linux 2.6.34-rc4v2.6.34-rc4Linus Torvalds
2010-03-30Linux 2.6.34-rc3v2.6.34-rc3Linus Torvalds
2010-03-19Linux 2.6.34-rc2v2.6.34-rc2Linus Torvalds
2010-03-10kbuild: Generate modules.builtin in make modules_installMichal Marek
The previous approach didn't work if one did make modules && make modules_install Add modules.builtin as dependency of _modinst_, which is the target that actually needs the file. Reported-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-03-08Linux 2.6.34-rc1v2.6.34-rc1Linus Torvalds
2010-03-08kbuild: Do not unnecessarily regenerate modules.builtinMichal Marek
Only regenerate it if the configuration has changed. Also, do this after the modules build to fix errors with some weird Makefiles that are generated during build. Reported-by: Eric Miao <eric.y.miao@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-02-24Linux 2.6.33v2.6.33Linus Torvalds
2010-02-12Linux 2.6.33-rc8v2.6.33-rc8Linus Torvalds
2010-02-06Linux 2.6.33-rc7v2.6.33-rc7Linus Torvalds
2010-02-05kbuild: move -fno-dwarf2-cfi-asm to powerpc onlyAndi Kleen
Better dwarf2 unwind information is a good thing, it allows better debugging with kgdb and crash and helps systemtap. Commit 003086497f07f7f1e67c0c295e261740f822b377 ("Build with -fno-dwarf2-cfi-asm") disabled some CFI information globally to work around a module loader bug on powerpc. But this disables the better unwind tables for all architectures, not just powerpc. Move the workaround to powerpc and also add a suitable comment that's it really a workaround. This improves dwarf2 unwind tables on x86 at least. Signed-off-by: Andi Kleen <ak@linux.intel.com> Cc: Kyle McMartin <kyle@mcmartin.ca> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-02-02Makefile: Document ability to make file.lst and file.SJoe Perches
Signed-off-by: Joe Perches <joe@perches.com> Acked-by: WANG Cong <xiyou.wangcong@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-02-02kbuild: improve version string logicDavid Rientjes
The LOCALVERSION= string passed to "make" will now always be appended to the kernel version after CONFIG_LOCALVERSION, if it exists, regardless of whether CONFIG_LOCALVERSION_AUTO is set or not. This allows users to uniquely identify their kernel builds with a string. If CONFIG_LOCALVERSION_AUTO is enabled, the unique SCM tag reported by setlocalversion (or .scmversion) is appended to the kernel version, if it exists. When CONFIG_LOCALVERSION_AUTO is not enabled, a `+' is appended to the kernel version to represent that the kernel has been revised since the last release unless "make LOCALVERSION=" was used to uniquely identify the build. The end result is this: - when LOCALVERSION= is passed to "make", it is appended to the kernel version, - when CONFIG_LOCALVERSION_AUTO is enabled, a unique SCM identifier is appended if the respository has been revised beyond a tagged commit, and - when CONFIG_LOCALVERSION_AUTO is disabled, a `+' is appended if the repository has been revised beyond a tagged commit and LOCALVERSION= was not passed to "make". Examples: With CONFIG_LOCALVERSION_AUTO: "make" results in v2.6.32-rc4-00149-ga3ccf63. If there are uncommited changes to the respository, it results in v2.6.32-rc4-00149-ga3ccf63-dirty. If "make LOCALVERSION=kbuild" were used, it results in v2.6.32-rc4-kbuild-00149-ga3ccf63-dirty. Without CONFIG_LOCALVERSION_AUTO, "make" results in v2.6.32-rc4+ unless the repository is at the Linux v2.6.32-rc4 commit (in which case the version would be v2.6.32-rc4). If "make LOCALVERSION=kbuild" were used, it results in v2.6.32-rc4-kbuild. Also renames variables such as localver-auto and _localver-auto to more accurately describe what they represent: localver-extra and scm-identifier, respectively. Signed-off-by: David Rientjes <rientjes@google.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-02-02kconfig CROSS_COMPILE optionRoland McGrath
This adds CROSS_COMPILE as a kconfig string so you can store it in .config. Then you can use plain "make" in the configured kernel build directory to do the right cross compilation without setting the command-line or environment variable every time. With this, you can set up different build directories for different kernel configurations, whether native or cross-builds, and then use the simple: make -C /build/dir M=module-source-dir idiom to build modules for any given target kernel, indicating which one by nothing but the build directory chosen. I tried a version that defaults the string with env="CROSS_COMPILE" so that in a "make oldconfig" with CROSS_COMPILE in the environment you can just hit return to store the way you're building it. But the kconfig prompt for strings doesn't give you any way to say you want an empty string instead of the default, so I punted that. Signed-off-by: Roland McGrath <roland@redhat.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Anibal Monsalve Salazar <anibal@debian.org> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Michal Marek <mmarek@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-01-29Linux 2.6.33-rc6v2.6.33-rc6Linus Torvalds
2010-01-21Linux 2.6.33-rc5v2.6.33-rc5Linus Torvalds
2010-01-13Makefile: do not override LC_CTYPEMichal Marek
Setting LC_CTYPE=C breaks localized messages in some setups. With only LC_COLLATE=C and LC_NUMERIC=C, we get almost all we need, except for not so defined character classes and tolower()/toupper(). The former is not a big issue, because we can assume that e.g. [:alpha:] will always include a-zA-Z and we only ever process ASCII input. The latter seems only affect arch/sh/tools/gen-mach-types, which we can handle separately. So after this patch the meaning of ranges like [a-z], the behavior of sort and join, etc. should be the same everywhere and at the same time gcc should be able to print localized waring and error messages. LC_NUMERIC=C might not be necessary, but setting it doesn't hurt. Reported-by: Simon Horman <horms@verge.net.au> Reported-by: Sergei Trofimovich <slyfox@inbox.ru> Acked-by: H. Peter Anvin <hpa@zytor.com> Tested-by: Simon Horman <horms@verge.net.au> Tested-by: Masami Hiramatsu <mhiramat@redhat.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-01-12Linux 2.6.33-rc4v2.6.33-rc4Linus Torvalds
2010-01-05Linux 2.6.33-rc3v2.6.33-rc3Linus Torvalds
2009-12-24Linux 2.6.33-rc2v2.6.33-rc2Linus Torvalds
2009-12-19Merge branch 'x86-fixes-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, irq: Allow 0xff for /proc/irq/[n]/smp_affinity on an 8-cpu system Makefile: Unexport LC_ALL instead of clearing it x86: Fix objdump version check in arch/x86/tools/chkobjdump.awk x86: Reenable TSC sync check at boot, even with NONSTOP_TSC x86: Don't use POSIX character classes in gen-insn-attr-x86.awk Makefile: set LC_CTYPE, LC_COLLATE, LC_NUMERIC to C x86: Increase MAX_EARLY_RES; insufficient on 32-bit NUMA x86: Fix checking of SRAT when node 0 ram is not from 0 x86, cpuid: Add "volatile" to asm in native_cpuid() x86, msr: msrs_alloc/free for CONFIG_SMP=n x86, amd: Get multi-node CPU info from NodeId MSR instead of PCI config space x86: Add IA32_TSC_AUX MSR and use it x86, msr/cpuid: Register enough minors for the MSR and CPUID drivers initramfs: add missing decompressor error check bzip2: Add missing checks for malloc returning NULL bzip2/lzma/gzip: pre-boot malloc doesn't return NULL on failure