Makefile
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:3k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  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" and "archdep" for cleaning up and making dependencies for
  7. # this architecture
  8. #
  9. # This file is subject to the terms and conditions of the GNU General Public
  10. # License.  See the file "COPYING" in the main directory of this archive
  11. # for more details.
  12. #
  13. # Copyright (C) 1994 by Linus Torvalds
  14. #
  15. # 19990713  Artur Skawina <skawina@geocities.com>
  16. #           Added '-march' and '-mpreferred-stack-boundary' support
  17. #
  18. LD=$(CROSS_COMPILE)ld -m elf_i386
  19. OBJCOPY=$(CROSS_COMPILE)objcopy -O binary -R .note -R .comment -S
  20. LDFLAGS=-e stext
  21. LINKFLAGS =-T $(TOPDIR)/arch/i386/vmlinux.lds $(LDFLAGS)
  22. CFLAGS += -pipe
  23. # prevent gcc from keeping the stack 16 byte aligned
  24. CFLAGS += $(shell if $(CC) -mpreferred-stack-boundary=2 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-mpreferred-stack-boundary=2"; fi)
  25. ifdef CONFIG_M386
  26. CFLAGS += -march=i386
  27. endif
  28. ifdef CONFIG_M486
  29. CFLAGS += -march=i486
  30. endif
  31. ifdef CONFIG_M586
  32. CFLAGS += -march=i586
  33. endif
  34. ifdef CONFIG_M586TSC
  35. CFLAGS += -march=i586
  36. endif
  37. ifdef CONFIG_M586MMX
  38. CFLAGS += -march=i586
  39. endif
  40. ifdef CONFIG_M686
  41. CFLAGS += -march=i686
  42. endif
  43. ifdef CONFIG_MPENTIUMIII
  44. CFLAGS += -march=i686
  45. endif
  46. ifdef CONFIG_MPENTIUM4
  47. CFLAGS += -march=i686
  48. endif
  49. ifdef CONFIG_MK6
  50. CFLAGS += $(shell if $(CC) -march=k6 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=k6"; else echo "-march=i586"; fi)
  51. endif
  52. ifdef CONFIG_MK7
  53. CFLAGS += $(shell if $(CC) -march=athlon -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=athlon"; else echo "-march=i686 -malign-functions=4"; fi) 
  54. endif
  55. ifdef CONFIG_MCRUSOE
  56. CFLAGS += -march=i686 -malign-functions=0 -malign-jumps=0 -malign-loops=0
  57. endif
  58. ifdef CONFIG_MWINCHIPC6
  59. CFLAGS += -march=i586
  60. endif
  61. ifdef CONFIG_MWINCHIP2
  62. CFLAGS += -march=i586
  63. endif
  64. ifdef CONFIG_MWINCHIP3D
  65. CFLAGS += -march=i586
  66. endif
  67. ifdef CONFIG_MCYRIXIII
  68. CFLAGS += -march=i486 -malign-functions=0 -malign-jumps=0 -malign-loops=0
  69. endif
  70. HEAD := arch/i386/kernel/head.o arch/i386/kernel/init_task.o
  71. SUBDIRS += arch/i386/kernel arch/i386/mm arch/i386/lib
  72. CORE_FILES := arch/i386/kernel/kernel.o arch/i386/mm/mm.o $(CORE_FILES)
  73. LIBS := $(TOPDIR)/arch/i386/lib/lib.a $(LIBS) $(TOPDIR)/arch/i386/lib/lib.a
  74. ifdef CONFIG_MATH_EMULATION
  75. SUBDIRS += arch/i386/math-emu
  76. DRIVERS += arch/i386/math-emu/math.o
  77. endif
  78. arch/i386/kernel: dummy
  79. $(MAKE) linuxsubdirs SUBDIRS=arch/i386/kernel
  80. arch/i386/mm: dummy
  81. $(MAKE) linuxsubdirs SUBDIRS=arch/i386/mm
  82. MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
  83. vmlinux: arch/i386/vmlinux.lds
  84. FORCE: ;
  85. .PHONY: zImage bzImage compressed zlilo bzlilo zdisk bzdisk install 
  86. clean archclean archmrproper archdep
  87. zImage: vmlinux
  88. @$(MAKEBOOT) zImage
  89. bzImage: vmlinux
  90. @$(MAKEBOOT) bzImage
  91. compressed: zImage
  92. zlilo: vmlinux
  93. @$(MAKEBOOT) BOOTIMAGE=zImage zlilo
  94. tmp:
  95. @$(MAKEBOOT) BOOTIMAGE=bzImage zlilo
  96. bzlilo: vmlinux
  97. @$(MAKEBOOT) BOOTIMAGE=bzImage zlilo
  98. zdisk: vmlinux
  99. @$(MAKEBOOT) BOOTIMAGE=zImage zdisk
  100. bzdisk: vmlinux
  101. @$(MAKEBOOT) BOOTIMAGE=bzImage zdisk
  102. install: vmlinux
  103. @$(MAKEBOOT) BOOTIMAGE=bzImage install
  104. archclean:
  105. @$(MAKEBOOT) clean
  106. archmrproper:
  107. archdep:
  108. @$(MAKEBOOT) dep