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

Linux/Unix编程

开发平台:

Unix_Linux

  1. # BK Id: %F% %I% %G% %U% %#%
  2. #
  3. # This file is included by the global makefile so that you can add your own
  4. # architecture-specific flags and dependencies. Remember to do have actions
  5. # for "archclean" and "archdep" for cleaning up and making dependencies for
  6. # 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. # Changes for PPC by Gary Thomas
  14. # Rewritten by Cort Dougan and Paul Mackerras
  15. #
  16. # Be sure to change PAGE_OFFSET in include/asm-ppc/page.h to match
  17. KERNELLOAD =0xc0000000
  18. ifeq ($(shell uname -m),ppc)
  19. CHECKS = checks
  20. endif
  21. LINKFLAGS = -T arch/ppc/vmlinux.lds -Ttext $(KERNELLOAD) -Bstatic
  22. CPPFLAGS := $(CPPFLAGS) -I$(TOPDIR)/arch/$(ARCH)
  23. AFLAGS := $(AFLAGS) -I$(TOPDIR)/arch/$(ARCH)
  24. CFLAGS := $(CFLAGS) -I$(TOPDIR)/arch/$(ARCH) -fsigned-char 
  25. -msoft-float -pipe -ffixed-r2 -Wno-uninitialized 
  26. -mmultiple -mstring
  27. HOSTCFLAGS += -I$(TOPDIR)/arch/$(ARCH)
  28. CPP = $(CC) -E $(CFLAGS)
  29. ifdef CONFIG_4xx
  30. CFLAGS := $(CFLAGS) -Wa,-m405
  31. endif
  32. ifdef CONFIG_8xx
  33. CFLAGS := $(CFLAGS) -mcpu=860
  34. endif
  35. ifdef CONFIG_PPC64BRIDGE
  36. CFLAGS := $(CFLAGS) -Wa,-mppc64bridge
  37. endif
  38. ifdef CONFIG_MORE_COMPILE_OPTIONS
  39. # Use sed to remove the quotes.
  40.   CFLAGS += $(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g')
  41. endif
  42. ifdef CONFIG_4xx
  43.   HEAD := arch/ppc/kernel/head_4xx.o
  44. else
  45.   ifdef CONFIG_8xx
  46.     HEAD := arch/ppc/kernel/head_8xx.o
  47.   else
  48.     HEAD := arch/ppc/kernel/head.o
  49.     ifdef CONFIG_6xx
  50. HEAD += arch/ppc/kernel/idle_6xx.o
  51.     endif
  52.   endif
  53. endif
  54. ARCH_SUBDIRS = arch/ppc/kernel arch/ppc/platforms arch/ppc/mm arch/ppc/lib
  55. SUBDIRS := $(SUBDIRS) $(ARCH_SUBDIRS)
  56. CORE_FILES := arch/ppc/kernel/kernel.o arch/ppc/platforms/platform.o 
  57. arch/ppc/mm/mm.o arch/ppc/lib/lib.o $(CORE_FILES)
  58. ifdef CONFIG_MATH_EMULATION
  59. SUBDIRS += arch/ppc/math-emu
  60. CORE_FILES += arch/ppc/math-emu/math-emu.o
  61. endif
  62. ifdef CONFIG_XMON
  63. SUBDIRS += arch/ppc/xmon
  64. CORE_FILES += arch/ppc/xmon/x.o
  65. endif
  66. MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
  67. ifdef CONFIG_8xx
  68. SUBDIRS += arch/ppc/8xx_io
  69. DRIVERS += arch/ppc/8xx_io/8xx_io.o
  70. endif
  71. ifdef CONFIG_8260
  72. SUBDIRS += arch/ppc/8260_io
  73. DRIVERS += arch/ppc/8260_io/8260_io.o
  74. endif
  75. ifdef CONFIG_APUS
  76. SUBDIRS += arch/ppc/amiga
  77. CORE_FILES += arch/ppc/amiga/amiga.o
  78. endif
  79. checks:
  80. @$(MAKE) -C arch/$(ARCH)/kernel checks
  81. BOOT_TARGETS = zImage zImage.initrd znetboot znetboot.initrd
  82. # All the instructions talk about "make bzImage".
  83. bzImage: zImage
  84. $(BOOT_TARGETS): $(CHECKS) vmlinux
  85. @$(MAKEBOOT) $@
  86. %_config: arch/ppc/configs/%_defconfig
  87. rm -f .config arch/ppc/defconfig
  88. cp -f arch/ppc/configs/$(@:config=defconfig) arch/ppc/defconfig
  89. archclean:
  90. rm -f arch/ppc/kernel/{mk_defs,ppc_defs.h,find_name,checks}
  91. @$(MAKEBOOT) clean
  92. archmrproper:
  93. archdep: scripts/mkdep
  94. $(MAKEBOOT) fastdep