summaryrefslogtreecommitdiff
path: root/init/Makefile
AgeCommit message (Collapse)Author
2009-12-12kbuild: move compile.h to include/generatedSam Ravnborg
Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
2008-02-11kbuild: fix make V=1Sam Ravnborg
When make -s support were added to filechk to combination created with make V=1 were not covered. Fix it by explicitly cover this case too. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Mike Frysinger <vapier@gentoo.org>
2008-02-09kbuild: silence CHK/UPD messages according to $(quiet)Mike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2007-10-14kbuild: enable 'make CFLAGS=...' to add additional options to CCSam Ravnborg
The variable CFLAGS is a wellknown variable and the usage by kbuild may result in unexpected behaviour. On top of that several people over time has asked for a way to pass in additional flags to gcc. This patch replace use of CFLAGS with KBUILD_CFLAGS all over the tree and enabling one to use: make CFLAGS=... to specify additional gcc commandline options. One usecase is when trying to find gcc bugs but other use cases has been requested too. Patch was tested on following architectures: alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k Test was simple to do a defconfig build, apply the patch and check that nothing got rebuild. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2007-02-11[PATCH] disable init/initramfs.cJean-Paul Saman
The file init/initramfs.c is always compiled and linked in the kernel vmlinux even when BLK_DEV_RAM and BLK_DEV_INITRD are disabled and the system isn't using any form of an initramfs or initrd. In this situation the code is only used to unpack a (static) default initial rootfilesystem. The current init/initramfs.c code. usr/initramfs_data.o compiles to a size of ~15 kbytes. Disabling BLK_DEV_RAM and BLK_DEV_INTRD shrinks the kernel code size with ~60 Kbytes. This patch avoids compiling in the code and data for initramfs support if CONFIG_BLK_DEV_INITRD is not defined. Instead of the initramfs code and data it uses a small routine in init/noinitramfs.c to setup an initial static default environment for mounting a rootfilesystem later on in the kernel initialisation process. The new code is: 164 bytes of size. The patch is separated in two parts: 1) doesn't compile initramfs code when CONFIG_BLK_DEV_INITRD is not set 2) changing all plaforms vmlinux.lds.S files to not reserve an area of PAGE_SIZE when CONFIG_BLK_DEV_INITRD is not set. [deweerdt@free.fr: warning fix] Signed-off-by: Jean-Paul Saman <jean-paul.saman@nxp.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-01-10[PATCH] fix linux banner format stringRoman Zippel
Revert previous attempts at messing with the linux banner string and simply use a separate format string for proc. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Acked-by: Olaf Hering <olaf@aepfle.de> Acked-by: Jean Delvare <khali@linux-fr.org> Cc: Andrey Borzenkov <arvidjaar@mail.ru> Cc: Andrew Morton <akpm@osdl.org> Cc: Andy Whitcroft <apw@shadowen.org> Cc: Herbert Poetzl <herbert@13thfloor.at> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-22[PATCH] build compile.h earlierAndrew Morton
compile.h is created super-late in the build. But proc_misc.c want to include it, and it's generally not sane to have a header file in include/linux be created at the end of the build: it's either not present or, worse, wrong for most of the build. So the patch arranges for compile.h to be built at the start of the build process. It also consolidates the compile.h rules with those for version.h and utsname.h, so they all get built together. I hope. My chances of having got this right are about 2%. Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-08[PATCH] Fix linux banner utsname informationHerbert Poetzl
utsname information is shown in the linux banner, which also is used for /proc/version (which can have different utsname values inside a uts namespaces). this patch makes the varying data arguments and changes the string to a format string, using those arguments. Signed-off-by: Herbert Poetzl <herbert@13thfloor.at> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-26[PATCH] devfs: Remove devfs from the init codeGreg Kroah-Hartman
This patch removes the devfs code from the init/ directory. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-07-14kbuild: "PREEMPT" in UTS_VERSIONSam Ravnborg
From: Matt Mackall <mpm@selenic.com> Add PREEMPT to UTS_VERSION where enabled as is done for SMP to make preempt kernels easily identifiable. Added SMP PREEMPT as comment in compile.h to force it to be updated when they change (sam). Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2005-01-04[PATCH] FRV: Make calibrate_delay() optionalDavid Howells
The attached patch makes calibrate_delay() optional. In this architecture, it's a waste of time since we can predict exactly what it's going to come up with just by looking at the CPU's hardware clock registers. Thus far, we haven't seen a board with any clock not dependent on the CPU's clock. Signed-Off-By: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-02-18[PATCH] Minor cross-compile issuesAndrew Morton
From: Pratik Solanki <pratik.solanki@timesys.com> - Fix include path for build.c so that it finds asm/boot.h. /usr/include/asm/boot.h may not be present when cross-compiling on a non-Linux machine. - $(CONFIG_SHELL) instead of sh.
2003-04-25Fix up some mixing of ramdisk/initrd. They have nothing in common,Linus Torvalds
but the build was confused by the fact that they did share some files. Move INITRD code from do_mounts_rd.c to new file do_mounts_initrd.c.
2003-03-07kbuild: Do not clutter output with make -jNSam Ravnborg
Added a new rule filechk used to check when a generated file actually is changed. If there is no actual changes the file is left without updating the timestamp. When building a kernel from scratch two printouts occurs: CHK file-to-generate UPD file-to-generate The first line tell that kbuild checks the file, second line tell that the file is being updated (or created). On successive runs only the first line is printed. Output is the same in verbose and non-verbose mode. This replaces the former update-if-changed which has been deleted. generate-asm-offsets.h has been renamed as well. All users are updated in next patch. Output when generating compile.h follow above style
2003-03-02do_mounts: Fix CONFIG_BLK_DEV_MD=m caseKai Germaschewski
We don't really have a nice way to say "compile this when CONFIG_FOO is y, don't otherwise". Alternatives are: obj-$(subst m,,$(CONFIG_FOO)) := foo.o or obj-$(CONFIG_FOO) := foo.o obj-m := or obj-y := do_foo.o do_foo-$(CONFIG_FOO) := foo.o I chose the last one, though I'm not particularly happy with either.
2003-02-28Merge http://linux-isdn.bkbits.net/linux-2.5.makeLinus Torvalds
into home.transmeta.com:/home/torvalds/v2.5/linux
2003-03-01kbuild: Silence some warnings when building vmlinuxKai Germaschewski
For some people (though not me), the '+' indicating that a command will invoke a sub-make didn't propagated properly, and caused a warning. Putting the command all into one line should fix that. Plus some cosmetics and clean up the per_cpu check.
2003-02-21do_mounts: Move CONFIG_BLK_DEV_RAM stuff into own fileKai Germaschewski
There's still an #ifdef in there for CONFIG_BLK_DEV_INITRD, but at some point it just gets too many files, so accept that for now. There's also a #define BUILD_CRAMDISK in there, which should be either made a config option or removed...
2003-02-21do_mounts: move early MD setup into own fileKai Germaschewski
Again, just get rid of some #ifdefs by moving MD setup into its own file which is only compiled when CONFIG_BLK_DEV_MD is set.
2003-02-21do_mounts: Move devfs into own file.Kai Germaschewski
Get rid of a couple scattered #ifdef CONFIG_DEVFS_FS in init/do_mounts.c by moving the devfs code into its own file and using stubs when it's not selected.
2003-02-14kbuild: Move the version magic generation into module postprocessingKai Germaschewski
Since we'll have to always do module postprocessing shortly, we can as well get rid of the special cased init/vermagic.o which needed to be compiled before descending, and instead include the current version magic string during post processing. For that purpose, the generation of the string is moved from init/vermagic.c to include/linux/vermagic.h. People who externally maintain modules will also be happy about that.
2003-01-14Module Sanity CheckKai Germaschewski
This patch, based on Rusty's implementation, adds a special section to vmlinux and all modules, which contain the kernel version string, values of some particularly important config options (SMP,preempt,proc family) and the gcc version. When inserting a module, the version string is checked against the kernel version string and loading is rejected if they don't match. The version string is actually added to the modules during the final .ko generation, so that a changed version string does only cause relinking, not recompilation, which is a major performance improvement over the old 2.4 way of doing things.
2002-12-14[PATCH] Remove Rules.make from Makefiles (3/3)Brian Gerst
Makefiles no longer need to include Rules.make, which is currently an empty file. This patch removes it from the remaining Makefiles, and removes the empty Rules.make file.
2002-11-01Minimal initramfs support (based on Al Viro's work).Jeff Garzik
2002-10-28kbuild: Allow UTS_MACHINE to be different from $(ARCH)Kai Germaschewski
parisc builds parisc / parisc64 from arch/parisc, but wants different strings for uname -m, which it can now provide by overwriting UTS_MACHINE in arch/parisc/Makefile. (Matthew Wilcox)
2002-10-23kbuild: Convert build and modversion phasesKai Germaschewski
Alright, so now actually all four phases are converted to new-style, i.e. we call make -f scripts/Makefile.<phase> which includes the actual subdir Makefile. The obvious drawback is some code duplication between the four scripts/Makefile.<phase>, which could easily be overcome including shared parts, but since I'm going for maximum performance, I did not for now. Rules.make is empty now ;) (Well, not quite, since if it was 0 bytes, make mrproper would remove it...)
2002-10-23kbuild: Remove some compatibility code, $(echo_target)Kai Germaschewski
Including Rules.make after make -C stopped working with the fixdep changes, so the other code trying to salvage backward compatibility should go as well.
2002-10-13Hand merged.Kai Germaschewski
2002-10-11kbuild: Distributed clean, misc.Sam Ravnborg
o Move sound/oss file list to sound/oss/Makefile o Remove files non-existing in the tree (khttp,net/802/submenu) o scripts/* are handled by scripts makefile o Do not delete .config*, be more explicit o Add MC* - files generated by Menuconfig in toplevel dir
2002-10-07kbuild: Call scripts explicitly via shKai Germaschewski
Instead of recurring problems with non-executable permissions on files in scripts/, just call them as "sh <script>".
2002-09-18kbuild: Remove O_TARGET from {kernel,mm,fs,...}/MakefileKai Germaschewski
It's gone almost everywhere else already, and will eventually make for a nicer top-level Makefile.
2002-08-16kbuild: Remove HPATH, general cleanupKai Germaschewski
HPATH won't work with separate obj/src dirs, since it doesn't specify if we want to look at source or generated files. Fortunately, most uses in arch/*/Makefile were superfluous anyway, the others were converted to explicitly $(srctree) or $(objtree). Additionally, a bit more of srctree / objtree related cleanup.
2002-06-17kbuild: Introduce $(obj), $(src)Kai Germaschewski
For separate source and object directories, Rules.make needs to know where the files live. For all the normal variables, $(obj-[ymn]) etc, it can figure that out by itself, but for explicit rules to generate files it needs help. So there $(obj)/target.o indicates that this file lives in the object directory, as opposed to $(src)/target.c, which lives in the source dir. For now $(obj) = $(src) = ., but convert some Makefiles to it already.
2002-06-09kbuild: Improve output alignmentKai Germaschewski
by Sam Ravnborg
2002-06-06kbuild: Enforce UTS limit, use LANG=C for date/timeKai Germaschewski
Patch by Keith Owens, ported to 2.5. If the length of $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) exceeds 64 characters it silently corrupts the utsname data, resulting in garbage for uname -r and problems running the kernel and modules. Abort if KERNELRELEASE is too long. Truncation is not good enough, it results in ambiguous /lib/modules/`uname -r` contents. Ensure that the date/time in uname are always in LANG=C. Users with other languages report that 8 bit values cause the boot messages to go haywire.
2002-06-05kbuild: Fix calling of scriptsKai Germaschewski
We source some scripts, but still pass parameters to them, e.g. . mk_version_h $@ $(KERNELRELEASE) $(VERSION) ... This does not work for all kinds of /bin/sh (it does for bash, that's why I did not notice). The fix is easy: Just mark the scripts executable and call instead of source them. Unfortunately, patch(1) doesn't understand about propagating chmod. bk does, so changing the tree isn't hard, and we introduce an explicit chmod a+x executed during the build for propagating this change into those trees which get "traditionally" patched up.
2002-06-05kbuild: Fix make -s (silent) and add a quiet modeKai Germaschewski
Suppress echoing of commands when using "make -s", so that make -s does indeed have the effect one would expect. Add a quiet mode, which will print not the entire command but only one line per rule. To turn it on, use make KBUILD_VERBOSE=0 vmlinux/whatever or set KBUILD_VERBOSE=0 in your environment. For now, the verbose mode is default, which gives you the old behavior of printing all commands. The output in quiet mode is based on what Keith Owens' kbuild-2.5 does, I like, I did not want to invent yet another output format.
2002-05-28kbuild: Normal sources should not include <linux/compile.h>Kai Germaschewski
include/linux/compile.h is a generated file, only init/Makefile knows about it - including it outside of init/* will cause trouble on parallel builds. Also, when compile.h already exists when 'make dep' is run, that'll pick up a dependency on $(TOPDIR)/include/linux/compile.h. So init/Makefile needs to tell make that this is actually the same file as ../include/linux.compile.h
2002-05-24kbuild: Use consistently FORCE instead of dummyKai Germaschewski
FORCE is the de-facto standard name for a prequisite to force recompilation, so instead of using a mix of 'dummy','FORCE' and 'FORCE_RECOMPILE' use 'FORCE' everywhere. Also, move figuring out the path relative to the top level dir into Rules.make, instead of calling an external script.
2002-05-20kbuild: Standardize building of init/*Kai Germaschewski
There's no good reason to build the objects in init/ explicitly from the top-level Makefile. Instead, handle init/ like every other subdir, which also provides the automatic checks for a changed command line etc.