linux-imx/arch/i386/Makefile
H. Peter Anvin 841b8a46bf [PATCH] x86: "make isoimage" support; FDINITRD= support; minor cleanups
Add a "make isoimage" to i386 and x86-64, which allows the automatic
creation of a bootable CD image.  It also adds an option FDINITRD= to
include an initrd of the user's choice in generated floppy- or CD boot
images.  Finally, some minor cleanups of the image generation code.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Andi Kleen <ak@muc.de>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-26 08:56:53 -08:00

4.5 KiB

i386/Makefile

This file is included by the global makefile so that you can add your own

architecture-specific flags and dependencies. Remember to do have actions

for "archclean" cleaning up for this architecture.

This file is subject to the terms and conditions of the GNU General Public

License. See the file "COPYING" in the main directory of this archive

for more details.

Copyright (C) 1994 by Linus Torvalds

19990713 Artur Skawina skawina@geocities.com

Added '-march' and '-mpreferred-stack-boundary' support

20050320 Kianusch Sayah Karadji kianusch@sk-tech.net

Added support for GEODE CPU

HAS_BIARCH := $(call cc-option-yn, -m32) ifeq ($(HAS_BIARCH),y) AS := $(AS) --32 LD := $(LD) -m elf_i386 CC := $(CC) -m32 endif

LDFLAGS := -m elf_i386 OBJCOPYFLAGS := -O binary -R .note -R .comment -S LDFLAGS_vmlinux := CHECKFLAGS += -D__i386__

CFLAGS += -pipe -msoft-float

prevent gcc from keeping the stack 16 byte aligned

CFLAGS += $(call cc-option,-mpreferred-stack-boundary=2)

CPU-specific tuning. Anything which can be shared with UML should go here.

include $(srctree)/arch/i386/Makefile.cpu

cflags-$(CONFIG_REGPARM) += -mregparm=3

temporary until string.h is fixed

cflags-y += -ffreestanding

Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use

a lot more stack due to the lack of sharing of stacklots:

CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then echo $(call cc-option,-fno-unit-at-a-time); fi ;)

CFLAGS += $(cflags-y)

Default subarch .c files

mcore-y := mach-default

Voyager subarch support

mflags-$(CONFIG_X86_VOYAGER) := -Iinclude/asm-i386/mach-voyager mcore-$(CONFIG_X86_VOYAGER) := mach-voyager

VISWS subarch support

mflags-$(CONFIG_X86_VISWS) := -Iinclude/asm-i386/mach-visws mcore-$(CONFIG_X86_VISWS) := mach-visws

NUMAQ subarch support

mflags-$(CONFIG_X86_NUMAQ) := -Iinclude/asm-i386/mach-numaq mcore-$(CONFIG_X86_NUMAQ) := mach-default

BIGSMP subarch support

mflags-$(CONFIG_X86_BIGSMP) := -Iinclude/asm-i386/mach-bigsmp mcore-$(CONFIG_X86_BIGSMP) := mach-default

#Summit subarch support mflags-$(CONFIG_X86_SUMMIT) := -Iinclude/asm-i386/mach-summit mcore-$(CONFIG_X86_SUMMIT) := mach-default

generic subarchitecture

mflags-$(CONFIG_X86_GENERICARCH) := -Iinclude/asm-i386/mach-generic mcore-$(CONFIG_X86_GENERICARCH) := mach-default core-$(CONFIG_X86_GENERICARCH) += arch/i386/mach-generic/

ES7000 subarch support

mflags-$(CONFIG_X86_ES7000) := -Iinclude/asm-i386/mach-es7000 mcore-$(CONFIG_X86_ES7000) := mach-default core-$(CONFIG_X86_ES7000) := arch/i386/mach-es7000/

default subarch .h files

mflags-y += -Iinclude/asm-i386/mach-default

head-y := arch/i386/kernel/head.o arch/i386/kernel/init_task.o

libs-y += arch/i386/lib/ core-y += arch/i386/kernel/
arch/i386/mm/
arch/i386/$(mcore-y)/
arch/i386/crypto/ drivers-$(CONFIG_MATH_EMULATION) += arch/i386/math-emu/ drivers-$(CONFIG_PCI) += arch/i386/pci/

must be linked after kernel/

drivers-$(CONFIG_OPROFILE) += arch/i386/oprofile/ drivers-$(CONFIG_PM) += arch/i386/power/

CFLAGS += $(mflags-y) AFLAGS += $(mflags-y)

boot := arch/i386/boot

PHONY += zImage bzImage compressed zlilo bzlilo
zdisk bzdisk fdimage fdimage144 fdimage288 isoimage install

all: bzImage

KBUILD_IMAGE specify target image being built

                KBUILD_IMAGE := $(boot)/bzImage

zImage zlilo zdisk: KBUILD_IMAGE := arch/i386/boot/zImage

zImage bzImage: vmlinux $(Q)$(MAKE) $(build)=$(boot) $(KBUILD_IMAGE)

compressed: zImage

zlilo bzlilo: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) zlilo

zdisk bzdisk: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) zdisk

fdimage fdimage144 fdimage288 isoimage: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) $@

install: $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install

archclean: $(Q)$(MAKE) $(clean)=arch/i386/boot

define archhelp echo '* bzImage - Compressed kernel image (arch/$(ARCH)/boot/bzImage)' echo ' install - Install kernel using' echo ' (your) ~/bin/installkernel or' echo ' (distribution) /sbin/installkernel or' echo ' install to $$(INSTALL_PATH) and run lilo' echo ' bzdisk - Create a boot floppy in /dev/fd0' echo ' fdimage - Create a boot floppy image' echo ' isoimage - Create a boot CD-ROM image' endef

CLEAN_FILES += arch/$(ARCH)/boot/fdimage
arch/$(ARCH)/boot/image.iso
arch/$(ARCH)/boot/mtools.conf