aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* kbuild: modules_install for external modules must not remove existing modulesAndreas Gruenbacher2006-04-061-1/+0
| | | | | | | | | | | | | | | When installing external modules with `make modules_install', the first thing that happens is a rm -rf of the target directory. This works only once, and breaks when installing more than one (set of) external module(s). With following fix we have the functionality: - for a in-kernel modules_install the $(MODLIB)/kernel directory will be deleted before module installation - for external modules the existing modules will be left as is assuming one may be building and installign several external modules Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* kbuild: fix make dir/Sam Ravnborg2006-04-061-1/+1
| | | | | | | kbuild added an extra '/' after the directory - resulting in all files being rebuild in a subdirectory. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* kbuild: fix building single targets with make O=.. single-targetSam Ravnborg2006-04-051-25/+28
| | | | | | | | | | | | | This fixes single targets build so it now works relaiably in following cases: - build with mixed kernel source and output files (make single-target) - build with separate output directory (make O=.. single-target) - external module with mixed kernel source and output files (make M='pwd' single-target) - external module with separate kernel source and output files (make O=.. M='pwd' single-target) Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* Linux v2.6.17-rc1Linus Torvalds2006-04-021-2/+2
| | | | Close of the merge window..
* [PATCH] x86_64: Don't define string functions to builtinAndi Kleen2006-03-251-2/+1
| | | | | | | | | | | | | | | | gcc should handle this anyways, and it causes problems when sprintf is turned into strcpy by gcc behind our backs and the C fallback version of strcpy is actually defining __builtin_strcpy Then drop -ffreestanding from the main Makefile because it isn't needed anymore and implies -fno-builtin, which is wrong now. (it was only added for x86-64, so dropping it should be safe) Noticed by Roman Zippel Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuildLinus Torvalds2006-03-251-98/+99
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild: (46 commits) kbuild: remove obsoleted scripts/reference_* files kbuild: fix make help & make *pkg kconfig: fix time ordering of writes to .kconfig.d and include/linux/autoconf.h Kconfig: remove the CONFIG_CC_ALIGN_* options kbuild: add -fverbose-asm to i386 Makefile kbuild: clean-up genksyms kbuild: Lindent genksyms.c kbuild: fix genksyms build error kbuild: in makefile.txt note that Makefile is preferred name for kbuild files kbuild: replace PHONY with FORCE kbuild: Fix bug in crc symbol generating of kernel and modules kbuild: change kbuild to not rely on incorrect GNU make behavior kbuild: when warning symbols exported twice now tell user this is the problem kbuild: fix make dir/file.xx when asm symlink is missing kbuild: in the section mismatch check try harder to find symbols kbuild: fix section mismatch check for unwind on IA64 kbuild: kill false positives from section mismatch warnings for powerpc kbuild: kill trailing whitespace in modpost & friends kbuild: small update of allnoconfig description kbuild: make namespace.pl CROSS_COMPILE happy ... Trivial conflict in arch/ppc/boot/Makefile manually fixed up
| * kbuild: remove obsoleted scripts/reference_* filesSam Ravnborg2006-03-211-6/+0
| | | | | | | | | | | | | | The checks performed by scripts/reference_* has been moved to modpost. Remove the files and their reference in top-level Makefile. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: fix make help & make *pkgSam Ravnborg2006-03-211-3/+3
| | | | | | | | | | | | | | | | FORCE was not defined => error. Use kbuild infrastructure to call down to the relevant Makefile. This enables us to use the FORCE definition from kbuild. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * Kconfig: remove the CONFIG_CC_ALIGN_* optionsAdrian Bunk2006-03-121-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I don't see any use case for the CONFIG_CC_ALIGN_* options: - they are only available if EMBEDDED - people using EMBEDDED will most likely also enable CC_OPTIMIZE_FOR_SIZE - the default for -Os is to disable alignment In case someone is doing performance comparisons and discovers that the default settings gcc chooses aren't good, the only sane thing is to discuss whether it makes sense to change this, not through offering options to change this locally. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: replace PHONY with FORCESam Ravnborg2006-03-081-2/+0
| | | | | | | | | | | | | | .PHONY: does not take patterns so use FORCE to achive same effect. Thanks to "Paul D. Smith" <psmith@gnu.org> for noticing this. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: change kbuild to not rely on incorrect GNU make behaviorPaul Smith2006-03-061-29/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The kbuild system takes advantage of an incorrect behavior in GNU make. Once this behavior is fixed, all files in the kernel rebuild every time, even if nothing has changed. This patch ensures kbuild works with both the incorrect and correct behaviors of GNU make. For more details on the incorrect behavior, see: http://lists.gnu.org/archive/html/bug-make/2006-03/msg00003.html Changes in this patch: - Keep all targets that are to be marked .PHONY in a variable, PHONY. - Add .PHONY: $(PHONY) to mark them properly. - Remove any $(PHONY) files from the $? list when determining whether targets are up-to-date or not. Signed-off-by: Paul Smith <psmith@gnu.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: fix make dir/file.xx when asm symlink is missingSam Ravnborg2006-03-051-6/+6
| | | | | | | | | | | | | | | | | | | | Added a dependency so we do full preparation before trying to build single file targets. This fixes a case where Andrew Morton did: make kernel/sched.o rm include/asm make kernel/sched.o -> splat Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: version.h should depend on .kernelreleaseJan Beulich2006-02-221-1/+1
| | | | | | | | | | | | | | | | | | | | Rebuilding a previously built tree while using make's -j options from time to time results in the version.h check running at the same time as the updating of .kernelrelease, resulting in UTS_RELEASE remaining an empty string (and as a side effect causing the entire kernel to be rebuilt). Signed-Off-By: Jan Beulich <jbeulich@novell.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: fix a cscope bug (make cscope segfaults)Mattia Dongili2006-02-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | Workaround a cscope bug where a trailing ':' in VPATH makes it segfault and let it build the cross-reference succesfully. VPATH=/home/mattia/devel/kernel/git/linux-2.6: cscope -b [1] 17555 segmentation fault VPATH=/home/mattia/devel/kernel/git/linux-2.6: cscope -b Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: remove a tab from an empty lineAdrian Bunk2006-02-191-1/+1
| | | | | | | | | | | | | | Emacs warns if an otherwise empty line starts with a tab. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: make cc-version available in kbuild filesSam Ravnborg2006-02-191-32/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move $(CC) support functions to Kbuild.include so they are available in the kbuild files. In addition the following was done: o as-option documented in Documentation/kbuild/makefiles.txt o Moved documentation to new section to match new scope of functions o added cc-ifversion used to conditionally select a text string dependent on actual $(CC) version o documented cc-ifversion o change so Kbuild.include is read before the kbuild file Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: run depmod when installing external modulesSam Ravnborg2006-02-191-1/+20
| | | | | | | | | | | | Following patch enables depmod support when installing external modules. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: avoid stale modules in $(MODVERDIR) for external modulesSam Ravnborg2006-02-191-0/+1
| | | | | | | | | | | | | | To avoid stale modules located in $(MODVERDIR) aka .tmp_versions/ always delete the directory when building an external module. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: Accept various mips sub-types in SUBARCHMartin Michlmayr2006-02-191-1/+1
| | | | | | | | | | | | | | | | | | uname -m on MIPS can give a number of results, such as mips64. We need to add another substitution to the sed call for SUBARCH in the main Makefile. Signed-off-by: Martin Michlmayr <tbm@cyrius.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: support building individual files for external modulesSam Ravnborg2006-02-191-22/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support building individual files when dealing with separate modules. So say you have a module named "foo" which consist of two .o files bar.o and fun.o. You can then do: make -C $KERNELSRC M=`pwd` bar.o make -C $KERNELSRC M=`pwd` bar.lst make -C $KERNELSRC M=`pwd` bar.i make -C $KERNELSRC M=`pwd` / <= will build all .o files and link foo.o make -C $KERNELSRC M=`pwd` foo.ko <= will build the module and do the modpost step to create foo.ko The above will also work if the external module is placed in a subdirectory using a hirachy of kbuild files. Thanks to Andreas Gruenbacher <agruen@suse.de> for initial feature request / bug report. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* | [PATCH] CONFIG_UNWIND_INFOJan Beulich2006-03-241-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a foundation for reliable stack unwinding, this adds a config option (available to all architectures except IA64 and those where the module loader might have problems with the resulting relocations) to enable the generation of frame unwind information. Signed-off-by: Jan Beulich <jbeulich@novell.com> Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: "David S. Miller" <davem@davemloft.net> Cc: Paul Mundt <lethal@linux-sh.org>, Cc: Andi Kleen <ak@muc.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Linux 2.6.16Linus Torvalds2006-03-191-1/+1
| |
* | Linux 2.6.16-rc6Linus Torvalds2006-03-111-1/+1
| | | | | | | | Gaah. Delayed. But all the better for it!
* | [PATCH] kbuild: version.h should depend on .kernelreleaseJan Beulich2006-03-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Rebuilding a previously built tree while using make's -j option from time to time results in the version.h check running at the same time as the updating of .kernelrelease, resulting in UTS_RELEASE remaining an empty string (and as a side effect causing the entire kernel to be rebuilt). Signed-Off-By: Jan Beulich <jbeulich@novell.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Linux v2.6.16-rc5Linus Torvalds2006-02-261-1/+1
|/
* Linux v2.6.16-rc4Linus Torvalds2006-02-171-1/+1
|
* [PATCH] kbuild: revert "fix make -jN with multiple targets with O=..."Benjamin LaHaise2006-02-151-4/+3
| | | | | | | | | | | | | Commit 296e0855b0f9a4ec9be17106ac541745a55b2ce1: "kbuild: fix make -jN with multiple targets with O=..." causes a ~95% increase in build time for the kernel. Before: 4m21s after: 8m1.403s. Can we revert this until another approach is found? Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Linux v2.6.16-rc3Linus Torvalds2006-02-121-1/+1
|
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-bugfixLinus Torvalds2006-02-071-1/+1
|\
| * kbuild: fix build with O=..Sam Ravnborg2006-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | .kernelrelease was saved in same directory as kernel source also with make O=... Make sure we kick in the normal logic to shift to the output directory when we build .kernelrelease after executing *config. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> ---
* | Linux v2.6.16-rc2Linus Torvalds2006-02-021-1/+1
|/
* Linux v2.6.16-rc1Linus Torvalds2006-01-161-2/+2
|
* [PATCH] sh: Move CPU subtype configuration to its own KconfigPaul Mundt2006-01-161-0/+7
| | | | | | | | | | | | | | Currently the CPU subtype options are cluttering up arch/sh/Kconfig somewhat. Given that, this moves all of that in to its own arch/sh/mm/Kconfig. Things like cache configuration are also moved to this new location. This also adds support for strict CPU tuning on newer cores, which requires the addition of as-option. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuildLinus Torvalds2006-01-161-13/+15
|\
| * kbuild: fix 'make all install_modules install'Sam Ravnborg2006-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The command 'make all modules_install install' would fail in a virgin tree - pointing at a non-existing directory under /lib/modules/xxx KERNELRELEASE is part of MODLIB and we need to create .kernelrelease before we can properly evaluate KERNELRELEASE, Changing MODLIB to the recursively expanded flavor let it pick up the correct KERNELRELEASE value. Reported by: "Hemmann, Volker Armin" <volker.armin.hemmann@tu-clausthal.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: create .kernelrelease at *config stepSam Ravnborg2006-01-161-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | To enable 'make kernelrelease' earlier now create .kernelrelease when one of the *config targets are used. Also introduce KERNELVERSION - only user is kconfig. KERNELVERSION was needed to display kernel version in menuconfig - KERNELRELEASE is not valid until configuration has completed. kconfig files modified to use KERNELVERSION. Bug reported by: Rene Rebe <rene@exactcode.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: fix make -jN with multiple targets with O=...Sam Ravnborg2006-01-151-3/+4
| | | | | | | | | | | | | | | | | | The way multiple targets was handled with make O=... broke because for each high-level target make spawned a parallel make resulting in a broken build. Reported by Keith Owens <kaos@ocs.com.au> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* | powerpc: Make ARCH=powerpc the default for 32-bit ppcPaul Mackerras2006-01-151-1/+1
|/ | | | | | | | | | | | This makes ARCH=powerpc the default on 32-bit powerpc machines, where uname -m returns ppc, as well as on 64-bit powerpc machines. Most people who would be likely to build their own kernels on 32-bit powerpc machines would be using powermacs or CHRP machines, both of which are supported with ARCH=powerpc now. Embedded ppc developers whose ports haven't been moved over to arch/powerpc yet will have to explicitly set ARCH=ppc now. Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/sam/kbuildLinus Torvalds2006-01-101-43/+54
|\ | | | | | | Fix up some trivial conflicts in {i386|ia64}/Makefile
| * kbuild: re-export VERSION, PATCHLEVEL, SUBLEVELSam Ravnborg2006-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | Eric Sandeen <sandeen@sgi.com> pointed out that it is usefull to have access to VERSION, PATCHLEVEL, SUBLEVEL in external modules, and gooling a litte confirmed this. So re-export them. Usage within the kernel is still discouraged but possible. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: KERNELRELEASE is only re-defined when buiding the kernelSam Ravnborg2006-01-091-42/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To avoid running setlocalversion as root no longer (re-)define KERNELRELEASE for each run. With this patch KERNELRELEASE is only re-read when we do an actual kernel build. Rationale behind this is "do as little as possible" when executing make install - as root! A new file named .kernelrelease is strored in the root of the kernel tree containing the actual version string. So when we use do a kernel build the .kernelrelease file will be updated. But in all other situations it is left as-is. To make it more visible the kernel now prints out the version being build. Sample: Building kernel 2.6.15-g63b794bf-dirty ... ... The patch also un-exports VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION LOCALVERSION since all users of these are anyway broken - and none is left in the tree. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: ensure mrproper removes .old_versionTore Anderson2006-01-081-1/+1
| | | | | | | | | | | | | | | | | | If the final linking of vmlinux fails, the file .old_version are left behind. This patch ensures the mrproper target will remove it if present. Signed-off-by: Tore Anderson <tore@fud.no> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* | spelling: s/usefull/useful/Adrian Bunk2006-01-101-1/+1
|/ | | | Signed-off-by: Adrian Bunk <bunk@stusta.de>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuildLinus Torvalds2006-01-041-13/+17
|\
| * kbuild: always run 'make silentoldconfig' when tree is cleanedSam Ravnborg2005-12-261-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | If the file .kconfig.d is missing then make sure to run 'make silentoldconfig', since we have no way to detect if a Kconfig file has been updated. -kconfig.d is created by kconfig and is removed as part of 'make clean' so the situation is likely to occur in reality. Jan Beulich <JBeulich@novell.com> reported this bug. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: tags file generation fixupSamuel Thibault2005-12-261-6/+8
| | | | | | | | | | | | | | | | Here is a fixup for tags file generation, for proper tags of __releases/__acquires functions. Signed-off-by: samuel.thibault@ens-lyon.org Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: Add ctags support for function prototypes and external variable ↵John Kacur2005-12-251-4/+8
| | | | | | | | | | | | | | | | | | | | | | declarations This patch adds function prototypes and external variable declarations to the set of tag kinds when running ctags. I find this useful when perusing the kernel. Please apply. Signed-off-by: John Kacur <jkacur@rogers.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: document INSTALL_MOD_PATH in 'make help'Bodo Eggert2005-12-161-1/+1
| | | | | | | | | | Signed-Off-By: Bodo Eggert <7eggert@gmx.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * [PATCH] kbuild: remove the deprecated check_gccAdrian Bunk2005-12-161-4/+0
| | | | | | | | | | | | | | check_gcc has been deprecated for quite some time. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* | Linux v2.6.15Linus Torvalds2006-01-021-1/+1
| | | | | | | | | | Hey, it's fifteen years today since I bought the machine that got Linux started. January 2nd is a good date.