summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2009-01-02kbuild: disable sparse warning "returning void-valued expression"Hannes Eder1-1/+2
The sparse warning -Wreturn-void ("returning void-valued expression") is off by default, but it is enabled with -Wall, so add -Wno-return-void to CHECKFLAGS to disable it. Signed-off-by: Hannes Eder <hannes@hanneseder.net> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-12-28Merge branch 'master' of ↵David S. Miller1-142/+67
master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: arch/sparc64/kernel/idprom.c
2008-12-28Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-nextLinus Torvalds1-141/+66
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (25 commits) allow stripping of generated symbols under CONFIG_KALLSYMS_ALL kbuild: strip generated symbols from *.ko kbuild: simplify use of genksyms kernel-doc: check for extra kernel-doc notations kbuild: add headerdep used to detect inclusion cycles in header files kbuild: fix string equality testing in tags.sh kbuild: fix make tags/cscope kbuild: fix make incompatibility kbuild: remove TAR_IGNORE setlocalversion: add git-svn support setlocalversion: print correct subversion revision scripts: improve the decodecode script scripts/package: allow custom options to rpm genksyms: allow to ignore symbol checksum changes genksyms: track symbol checksum changes tags and cscope support really belongs in a shell script kconfig: fix options to check-lxdialog.sh kbuild: gen_init_cpio expands shell variables in file names remove bashisms from scripts/extract-ikconfig kbuild: teach mkmakfile to be silent ...
2008-12-24Linux 2.6.28v2.6.28Linus Torvalds1-1/+1
Happy holidays..
2008-12-19allow stripping of generated symbols under CONFIG_KALLSYMS_ALLJan Beulich1-12/+35
Building upon parts of the module stripping patch, this patch introduces similar stripping for vmlinux when CONFIG_KALLSYMS_ALL=y. Using CONFIG_KALLSYMS_STRIP_GENERATED reduces the overhead of CONFIG_KALLSYMS_ALL from 245k/310k to 65k/80k for the (i386/x86-64) kernels I tested with. The patch also does away with the need to special case the kallsyms- internal symbols by making them available even in the first linking stage. While it is a generated file, the patch includes the changes to scripts/genksyms/keywords.c_shipped, as I'm unsure what the procedure here is. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-12-19kbuild: strip generated symbols from *.koJan Beulich1-8/+8
This patch changes the way __crc_ symbols are being resolved from using ld to do so to using the assembler, thus allowing these symbols to be marked local (the linker creates then as global ones) and hence allow stripping (for modules) or ignoring (for vmlinux) them. While at this, also strip other generated symbols during module installation. One potentially debatable point is the handling of the flags passeed to gcc when translating the intermediate assembly file into an object: passing $(c_flags) unchanged doesn't work as gcc passes --gdwarf2 to gas whenever is sees any -g* option, even for -g0, and despite the fact that the compiler would have already produced all necessary debug info in the C->assembly translation phase. I took the approach of just filtering out all -g* options, but an alternative to such negative filtering might be to have a positive filter which might, in the ideal case allow just all the -Wa,* options to pass through. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-12-18Linux 2.6.28-rc9v2.6.28-rc9Linus Torvalds1-1/+1
2008-12-18kbuild: add headerdep used to detect inclusion cycles in header filesVegard Nossum1-1/+6
Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-12-13kbuild: fix make incompatibilitySam Ravnborg1-2/+10
"Paul Smith" <psmith@gnu.org> reported that we would fail to build with a new check that may be enabled in an upcoming version of make. The error was: Makefile:442: *** mixed implicit and normal rules. Stop. The problem is that we did stuff like this: config %config: ... The solution was simple - the above was split into two with identical prerequisites and commands. With only three lines it was not worth to try to avoid the duplication. Cc: "Paul Smith" <psmith@gnu.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-12-10Linux 2.6.28-rc8v2.6.28-rc8Linus Torvalds1-1/+1
2008-12-04sparc,sparc64: unify MakefileSam Ravnborg1-4/+5
To unify Makefile for sparc and sparc64 a few other steps was needed: 1) separate defconfig files for sparc and sparc64 is required, so locate these in arch/sparc/configs 2) removoval of hack in toplevel Makefile to deal with that headers was in a separate directory compared to the rest The unification of the Makefile required usage of several foo-$(CONFIG_SPARCnn) += due to a few directories pending unification. This will be cleaned up when we unify the remaining directories. Included in this patch are the deletion of a few files in sparc64 as they are no longer needed: Makefile + Kconfig. arch/sparc64/ will after this patch is applied only have four directories (prom, lib, kernel, boot) Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-12-03tags and cscope support really belongs in a shell scriptSam Ravnborg1-114/+3
as they do not benefit from the make functionality. Moving the support to a shell script has several benefits: - The readability of the code has increased a lot - More people is able to extend the tags support - We see less changes to the top-level Makefile The shell script version includes improvements from: Alexey Dobriyan <adobriyan@gmail.com> (jump to kconfig symbols) Alexey Dobriyan <adobriyan@gmail.com> (drop ./ in paths) Ian Campbell <ijc@hellion.org.uk> (simplified find algorithms) This version has a few caveats: => It does not support ALLSOURCE_ARCHS - it is easy to add if it is really used => It assumes all archs have moved to arch/$ARCH/include - until that happens we have a few additional hits in the archs Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Alexey Dobriyan <adobriyan@gmail.com> Tested-by: Ian Campbell <ijc@hellion.org.uk>
2008-12-03kbuild: use KECHO convenience echoMike Frysinger1-4/+4
Convert a few echos in the build system to new $(kecho) so we get correct output according to build verbosity. Signed-off-by: Mike Frysinger <vapier@gentoo.org> [sam: added kecho in a few more places for O=... builds] Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-12-03kbuild: expand -I in KBUILD_CPPFLAGSSam Ravnborg1-2/+2
kbuild failed to expand include flags in KBUILD_CPPFLAGS resulting in code like this in arch Makefiles: ifeq ($(KBUILD_SRC),) KBUILD_CPPFLAGS += -Iinclude/foo else KBUILD_CPPFLAGS += -I$(srctree)/include/foo endif Move use of LINUXINCLUDE into Makefile.lib to allow us to expand -I directives of KBUILD_CPPFLAGS so we can avoid the above code. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-12-01Linux 2.6.28-rc7v2.6.28-rc7Linus Torvalds1-2/+2
2008-11-20Linux 2.6.28-rc6v2.6.28-rc6Linus Torvalds1-1/+1
2008-11-15Linux 2.6.28-rc5v2.6.28-rc5Linus Torvalds1-1/+1
2008-11-09Linux 2.6.28-rc4v2.6.28-rc4Linus Torvalds1-1/+1
2008-11-02Linux v2.6.28-rc3v2.6.28-rc3Linus Torvalds1-1/+1
2008-10-29kbuild: do not include arch/<ARCH>/include/asm in find-sources twice.Ian Campbell1-1/+2
Architectures which have moved their includes to arch/<ARCH>/include now list the headers twice in the source listing used by "make cscope" and friends, causing those tools to list symbols twice. Skipping these files in the ALLSOURCE_ARCHS pass rather than removing the ALLINCLUDE_ARCHS pass preserves the semantics of the later. Signed-off-by: Ian Campbell <ijc@hellion.org.uk> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-10-29kbuild: improve check-symlinkSam Ravnborg1-0/+5
o if include/asm point to a nonexisting directory remove the asm symlink o if include/asm is a directory error out This fixes a situation where one could be left with a symlink to asm-x86 but that directory no longer exist and thus the build would error out. include/asm may be a directory if the kernel tree has been copied Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-10-27Merge commit 'v2.6.28-rc2' into tracing/urgentIngo Molnar1-4/+4
2008-10-26Linux 2.6.28-rc2v2.6.28-rc2Linus Torvalds1-1/+1
.. fix all the worst problems in -rc1
2008-10-23Linux 2.6.28-rc1v2.6.28-rc1Linus Torvalds1-3/+3
2008-10-22x86, um: get rid of arch/um/Kconfig.archAl Viro1-1/+1
Teach scripts/kconfig/Makefile and top-level Makefile that arch/*/Makefile is allowed to say Kconfig := <whatever I want instead of arch/blah/Kconfig>. Rewrite arch/um/Kconfig and arch/um/Kconfig.<subarch> so that the latter would be top-level one (and include the pieces of the former). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-10-20ftrace: rename FTRACE to FUNCTION_TRACERSteven Rostedt1-1/+1
Due to confusion between the ftrace infrastructure and the gcc profiling tracer "ftrace", this patch renames the config options from FTRACE to FUNCTION_TRACER. The other two names that are offspring from FTRACE DYNAMIC_FTRACE and FTRACE_MCOUNT_RECORD will stay the same. This patch was generated mostly by script, and partially by hand. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-10-09Linux 2.6.27v2.6.27Linus Torvalds1-1/+1
2008-10-06Linux 2.6.27-rc9v2.6.27-rc9Linus Torvalds1-1/+1
2008-09-29Linux 2.6.27-rc8v2.6.27-rc8Linus Torvalds1-1/+1
2008-09-21Linux 2.6.27-rc7v2.6.27-rc7Linus Torvalds1-1/+1
2008-09-09Linux 2.6.27-rc6v2.6.27-rc6Linus Torvalds1-1/+1
2008-08-28Linux 2.6.27-rc5v2.6.27-rc5Linus Torvalds1-1/+1
2008-08-20Linux v2.6.27-rc4v2.6.27-rc4Linus Torvalds1-1/+1
2008-08-12Linux 2.6.27-rc3v2.6.27-rc3Linus Torvalds1-1/+1
2008-08-12docsrc: build Documentation/ sourcesRandy Dunlap1-1/+4
Currently source files in the Documentation/ sub-dir can easily bit-rot since they are not generally buildable, either because they are hidden in text files or because there are no Makefile rules for them. This needs to be fixed so that the source files remain usable and good examples of code instead of bad examples. Add the ability to build source files that are in the Documentation/ dir. Add to Kconfig as "BUILD_DOCSRC" config symbol. Use "CONFIG_BUILD_DOCSRC=1 make ..." to build objects from the Documentation/ sources. Or enable BUILD_DOCSRC in the *config system. However, this symbol depends on HEADERS_CHECK since the header files need to be installed (for userspace builds). Built (using cross-tools) for x86-64, i386, alpha, ia64, sparc32, sparc64, powerpc, sh, m68k, & mips. Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-08-06kbuild: a better way to generate cscope database changeDenis ChengRq1-1/+1
It's a problem about cscope target of kernel Makefile, and the cscope plugin of emacs: 1. `make cscope` will generate cscope.files cscope.{in,po,}.out; 2. the cscope plugin expect a cscope.out.{in,po,}; 3. the default `cscope -b` would generate cscope.{in,po,}.out; There are three approach to solve it: 1. modify the cscope C code; 2. modify the cscope emacs plugin lisp code; 3. modify the Makefile; I have tried to communicate with the cscope upstream, but later I realize the third approach is most meaningful. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-08-06kbuild: fix O=.. build with armSam Ravnborg1-3/+3
With a make O=... build kbuild would only create the include2/asm symlink for archs that not yet had moved headers to include/$ARCH/include There is no longer any reason to avoid the symlink for archs that has moved their headers so create it unconditionally. This fixes arm because kbuild checked for include/asm-$ARCH/errno.h and that file was not present for arm but the platform files are not yet moved. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Russell King <rmk@arm.linux.org.uk>
2008-08-05Linux 2.6.27-rc2v2.6.27-rc2Linus Torvalds1-1/+1
2008-07-30kbuild: fix O=... build of umSam Ravnborg1-1/+1
We used include/asm-$ARCH/system.h to check if we should create a symlink in include2 directory with make O=... builds. But um does not have such a file thus build filed. Let's try anohter filename: $ ls -d include/asm-* | wc -l 21 $ ls -d include/asm-*/errno.h | wc -l 21 Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Jeff Dike <jdike@addtoit.com>
2008-07-28Linux 2.6.27-rc1v2.6.27-rc1Linus Torvalds1-2/+2
2008-07-27sparc, sparc64: use arch/sparc/includeSam Ravnborg1-1/+5
The majority of this patch was created by the following script: *** ASM=arch/sparc/include/asm mkdir -p $ASM git mv include/asm-sparc64/ftrace.h $ASM git rm include/asm-sparc64/* git mv include/asm-sparc/* $ASM sed -ie 's/asm-sparc64/asm/g' $ASM/* sed -ie 's/asm-sparc/asm/g' $ASM/* *** The rest was an update of the top-level Makefile to use sparc for header files when sparc64 is being build. And a small fixlet to pick up the correct unistd.h from sparc64 code. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-07-27Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-nextLinus Torvalds1-45/+70
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (25 commits) setlocalversion: do not describe if there is nothing to describe kconfig: fix typos: "Suport" -> "Support" kconfig: make defconfig is no longer chatty kconfig: make oldconfig is now less chatty kconfig: speed up all*config + randconfig kconfig: set all new symbols automatically kconfig: add diffconfig utility kbuild: remove Module.markers during mrproper kbuild: sparse needs CF not CHECKFLAGS kernel-doc: handle/strip __init vmlinux.lds: move __attribute__((__cold__)) functions back into final .text section init: fix URL of "The GNU Accounting Utilities" kbuild: add arch/$ARCH/include to search path kbuild: asm symlink support for arch/$ARCH/include kbuild: support arch/$ARCH/include for tags, cscope kbuild: prepare headers_* for arch/$ARCH/include kbuild: install all headers when arch is changed kbuild: make clean removes *.o.* as well kbuild: optimize headers_* targets kbuild: only one call for include/ in make headers_* ...
2008-07-25kbuild: remove Module.markers during mrproperAlexey Dobriyan1-1/+1
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-07-25kbuild: add arch/$ARCH/include to search pathSam Ravnborg1-1/+2
This patch conclude the support for arch/$ARCH/include Note: The individual architectures will most likely require a few minor patches to support locating header files in arch/$ARCH/include Testing shows that it worked out-of-the-box for sparc. x86 required a few trivial changes in the arch specific Makefile and a few include paths had to be adjusted. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-07-25kbuild: asm symlink support for arch/$ARCH/includeSam Ravnborg1-14/+28
Adjust the asm symlink support so we do not create the symlink unless really needed. We check the precense of include/asm-$ARCH by checking for the system.h file. We may end up with a stale directory so it is not enough to check if the directory is present. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-07-25kbuild: support arch/$ARCH/include for tags, cscopeSam Ravnborg1-1/+5
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-07-25kbuild: prepare headers_* for arch/$ARCH/includeSam Ravnborg1-27/+22
Factor out the headers_*_all support to a seperate shell script and add support for arch specific header files can be located in either arch/$ARCH/include/asm or include/asm-$ARCH/ In "make help" always display the headers_* targets. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-07-25kbuild: make clean removes *.o.* as wellAlexey Dobriyan1-1/+1
Those are left presumably from aborted ccache(1) compilations: arch/x86/kernel/.tmp_io_apic_64.o.T5veul arch/x86/kvm/.tmp_x86.o.SZWn69 arch/x86/mm/.tmp_pgtable.o.sL1LTf drivers/ieee1394/.tmp_ieee1394_transactions.o.bUj6o1 drivers/infiniband/hw/mlx4/.tmp_main.o.vy0ep6 BTW, with git there is nice way to check for such nuisainces: make mrproper git-ls-files -o should give empty output. More precise wildcard spec from: Jan Engelhardt <jengelh@medozas.de> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Jan Engelhardt <jengelh@medozas.de>
2008-07-25kbuild: only one call for include/ in make headers_*Sam Ravnborg1-11/+13
Move it to the top-level file to decide if we install/check the generic headers or the arch specific headers. This revealed a long standing bug where "make headers_check_all" relied on the files in asm/ for the current architecture. So make headers_check_all is now broken by this commit. In addition: o add a simpler way to detect if an arch support exporting header files. o add 'set -e;' so we error out early if make headers_check_all fails. o add sparc64 and cris to arch we do not process in make headers_*_all because: sparc64 - use sparc to export headers cris - is know seriously broken Includes suggestions from: David Woodhouse <dwmw2@infradead.org>. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: David Woodhouse <dwmw2@infradead.org>
2008-07-25kbuild: error out early in make headers_installSam Ravnborg1-4/+6
Fix the a.out.h case by setting SRCARCH and error out early in case of an error. The a.out.h case failed with the *_all targets. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>