home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / arch / i386 / Makefile < prev   
Encoding:
Makefile  |  2006-08-11  |  4.5 KB  |  148 lines

  1. #
  2. # i386/Makefile
  3. #
  4. # This file is included by the global makefile so that you can add your own
  5. # architecture-specific flags and dependencies. Remember to do have actions
  6. # for "archclean" cleaning up for this architecture.
  7. #
  8. # This file is subject to the terms and conditions of the GNU General Public
  9. # License.  See the file "COPYING" in the main directory of this archive
  10. # for more details.
  11. #
  12. # Copyright (C) 1994 by Linus Torvalds
  13. #
  14. # 19990713  Artur Skawina <skawina@geocities.com>
  15. #           Added '-march' and '-mpreferred-stack-boundary' support
  16. #
  17. # 20050320  Kianusch Sayah Karadji <kianusch@sk-tech.net>
  18. #           Added support for GEODE CPU
  19.  
  20. HAS_BIARCH      := $(call cc-option-yn, -m32)
  21. ifeq ($(HAS_BIARCH),y)
  22. AS              := $(AS) --32
  23. LD              := $(LD) -m elf_i386
  24. CC              := $(CC) -m32
  25. endif
  26.  
  27. LDFLAGS        := -m elf_i386
  28. OBJCOPYFLAGS    := -O binary -R .note -R .comment -S
  29. LDFLAGS_vmlinux :=
  30. CHECKFLAGS    += -D__i386__
  31.  
  32. CFLAGS += -pipe -msoft-float
  33.  
  34. # prevent gcc from keeping the stack 16 byte aligned
  35. CFLAGS += $(call cc-option,-mpreferred-stack-boundary=2)
  36.  
  37. # CPU-specific tuning. Anything which can be shared with UML should go here.
  38. include $(srctree)/arch/i386/Makefile.cpu
  39.  
  40. cflags-$(CONFIG_REGPARM) += -mregparm=3
  41.  
  42. # temporary until string.h is fixed
  43. cflags-y += -ffreestanding
  44.  
  45. # Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
  46. # a lot more stack due to the lack of sharing of stacklots:
  47. CFLAGS                += $(shell if [ $(call cc-version) -lt 0400 ] ; then echo $(call cc-option,-fno-unit-at-a-time); fi ;)
  48.  
  49. CFLAGS += $(cflags-y)
  50.  
  51. # Default subarch .c files
  52. mcore-y  := mach-default
  53.  
  54. # Voyager subarch support
  55. mflags-$(CONFIG_X86_VOYAGER)    := -Iinclude/asm-i386/mach-voyager
  56. mcore-$(CONFIG_X86_VOYAGER)    := mach-voyager
  57.  
  58. # VISWS subarch support
  59. mflags-$(CONFIG_X86_VISWS)    := -Iinclude/asm-i386/mach-visws
  60. mcore-$(CONFIG_X86_VISWS)    := mach-visws
  61.  
  62. # NUMAQ subarch support
  63. mflags-$(CONFIG_X86_NUMAQ)    := -Iinclude/asm-i386/mach-numaq
  64. mcore-$(CONFIG_X86_NUMAQ)    := mach-default
  65.  
  66. # BIGSMP subarch support
  67. mflags-$(CONFIG_X86_BIGSMP)    := -Iinclude/asm-i386/mach-bigsmp
  68. mcore-$(CONFIG_X86_BIGSMP)    := mach-default
  69.  
  70. #Summit subarch support
  71. mflags-$(CONFIG_X86_SUMMIT) := -Iinclude/asm-i386/mach-summit
  72. mcore-$(CONFIG_X86_SUMMIT)  := mach-default
  73.  
  74. # generic subarchitecture
  75. mflags-$(CONFIG_X86_GENERICARCH) := -Iinclude/asm-i386/mach-generic
  76. mcore-$(CONFIG_X86_GENERICARCH) := mach-default
  77. core-$(CONFIG_X86_GENERICARCH) += arch/i386/mach-generic/
  78.  
  79. # ES7000 subarch support
  80. mflags-$(CONFIG_X86_ES7000)    := -Iinclude/asm-i386/mach-es7000
  81. mcore-$(CONFIG_X86_ES7000)    := mach-default
  82. core-$(CONFIG_X86_ES7000)    := arch/i386/mach-es7000/
  83.  
  84. # default subarch .h files
  85. mflags-y += -Iinclude/asm-i386/mach-default
  86.  
  87. head-y := arch/i386/kernel/head.o arch/i386/kernel/init_task.o
  88.  
  89. libs-y                     += arch/i386/lib/
  90. core-y                    += arch/i386/kernel/ \
  91.                        arch/i386/mm/ \
  92.                        arch/i386/$(mcore-y)/ \
  93.                        arch/i386/crypto/
  94. drivers-$(CONFIG_MATH_EMULATION)    += arch/i386/math-emu/
  95. drivers-$(CONFIG_PCI)            += arch/i386/pci/
  96. # must be linked after kernel/
  97. drivers-$(CONFIG_OPROFILE)        += arch/i386/oprofile/
  98. drivers-$(CONFIG_PM)            += arch/i386/power/
  99.  
  100. CFLAGS += $(mflags-y)
  101. AFLAGS += $(mflags-y)
  102.  
  103. boot := arch/i386/boot
  104.  
  105. PHONY += zImage bzImage compressed zlilo bzlilo \
  106.          zdisk bzdisk fdimage fdimage144 fdimage288 isoimage install
  107.  
  108. all: bzImage
  109.  
  110. # KBUILD_IMAGE specify target image being built
  111.                     KBUILD_IMAGE := $(boot)/bzImage
  112. zImage zlilo zdisk: KBUILD_IMAGE := arch/i386/boot/zImage
  113.  
  114. zImage bzImage: vmlinux
  115.     $(Q)$(MAKE) $(build)=$(boot) $(KBUILD_IMAGE)
  116.  
  117. compressed: zImage
  118.  
  119. zlilo bzlilo: vmlinux
  120.     $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) zlilo
  121.  
  122. zdisk bzdisk: vmlinux
  123.     $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) zdisk
  124.  
  125. fdimage fdimage144 fdimage288 isoimage: vmlinux
  126.     $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) $@
  127.  
  128. install:
  129.     $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install
  130.  
  131. archclean:
  132.     $(Q)$(MAKE) $(clean)=arch/i386/boot
  133.  
  134. define archhelp
  135.   echo  '* bzImage    - Compressed kernel image (arch/$(ARCH)/boot/bzImage)'
  136.   echo  '  install    - Install kernel using'
  137.   echo  '           (your) ~/bin/installkernel or'
  138.   echo  '           (distribution) /sbin/installkernel or'
  139.   echo  '           install to $$(INSTALL_PATH) and run lilo'
  140.   echo  '  bzdisk       - Create a boot floppy in /dev/fd0'
  141.   echo  '  fdimage      - Create a boot floppy image'
  142.   echo  '  isoimage     - Create a boot CD-ROM image'
  143. endef
  144.  
  145. CLEAN_FILES += arch/$(ARCH)/boot/fdimage \
  146.            arch/$(ARCH)/boot/image.iso \
  147.            arch/$(ARCH)/boot/mtools.conf
  148.