Makefile
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:4k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. # BK Id: SCCS/s.Makefile 1.9 10/15/01 10:53:29 trini
  2. #
  3. #
  4. # arch/ppc/mbxboot/Makefile
  5. #
  6. # This file is subject to the terms and conditions of the GNU General Public
  7. # License.  See the file "COPYING" in the main directory of this archive
  8. # for more details.
  9. #
  10. # Copyright (C) 1994 by Linus Torvalds
  11. # Adapted for PowerPC by Gary Thomas
  12. # modified by Cort (cort@cs.nmt.edu)
  13. #
  14. .c.s:
  15. $(CC) $(CFLAGS) -S -o $*.s $<
  16. .s.o:
  17. $(AS) -o $*.o $<
  18. .c.o:
  19. $(CC) $(CFLAGS) -c -o $*.o $<
  20. .S.s:
  21. $(CPP) $(AFLAGS) -traditional -o $*.o $<
  22. .S.o:
  23. $(CC) $(AFLAGS) -traditional -c -o $*.o $<
  24. TFTPIMAGE := /tftpboot/zImage.embedded
  25. OFFSET := ../utils/offset
  26. SIZE := ../utils/size
  27. LIBS := ../lib/zlib.a
  28. OBJCOPY_ARGS := -O elf32-powerpc
  29. ifdef CONFIG_8xx
  30. ZLINKFLAGS := -T $(TOPDIR)/arch/$(ARCH)/vmlinux.lds -Ttext 0x00180000
  31. OBJECTS := head.o m8xx_tty.o
  32. CFLAGS += -DCONFIG_8xx
  33. endif
  34. ifdef CONFIG_8260
  35. ZLINKFLAGS := -T $(TOPDIR)/arch/$(ARCH)/vmlinux.lds -Ttext 0x00400000
  36. OBJECTS := head_8260.o m8260_tty.o embed_config.o
  37. CFLAGS += -DCONFIG_8260
  38. endif
  39. OBJECTS += ../common/misc-common.o misc.o ../common/string.o
  40. OBJCOPY_ARGS = -O elf32-powerpc
  41. ifeq ($(CONFIG_MBX),y)
  42. OBJECTS += iic.o embed_config.o pci.o qspan_pci.o
  43. CFLAGS += -DCONFIG_MBX
  44. endif
  45. ifeq ($(CONFIG_RPXLITE),y)
  46. CFLAGS += -DCONFIG_RPXLITE
  47. OBJECTS += iic.o embed_config.o
  48. endif
  49. ifeq ($(CONFIG_RPXCLASSIC),y)
  50. CFLAGS += -DCONFIG_RPXCLASSIC
  51. OBJECTS += iic.o embed_config.o pci.o qspan_pci.o
  52. endif
  53. ifeq ($(CONFIG_BSEIP),y)
  54. CFLAGS += -DCONFIG_BSEIP
  55. OBJECTS += iic.o embed_config.o
  56. endif
  57. ifeq ($(CONFIG_FADS),y)
  58. CFLAGS += -DCONFIG_FADS
  59. OBJECTS += embed_config.o
  60. endif
  61. all: zImage
  62. misc.o: misc.c
  63. $(CC) $(CFLAGS) -DINITRD_OFFSET=0 -DINITRD_SIZE=0 -DZIMAGE_OFFSET=0 
  64. -DZIMAGE_SIZE=0 -c -o $@ $*.c
  65. zvmlinux.initrd: $(OBJECTS) $(LIBS) ../images/vmlinux.gz
  66. #
  67. # Recompile misc.o again with more 'correct' bogus offsets
  68. #
  69. $(CC) $(CFLAGS) -DINITRD_OFFSET=0x0008c8e3 -DINITRD_SIZE=0x0000111a 
  70. -DZIMAGE_OFFSET=0x00018000 -DZIMAGE_SIZE=0x000748e2 
  71. -c -o misc.o misc.c
  72. $(LD) $(ZLINKFLAGS) -o $@.tmp $(OBJECTS) $(LIBS)
  73. $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment 
  74. --add-section=initrd=../images/ramdisk.image.gz 
  75. --add-section=image=../images/vmlinux.gz 
  76. $@.tmp $@
  77. $(CC) $(CFLAGS) -DINITRD_OFFSET=`sh $(OFFSET) $(OBJDUMP) $@ initrd` 
  78. -DINITRD_SIZE=`sh $(SIZE) $(OBJDUMP) $@ initrd` 
  79. -DZIMAGE_OFFSET=`sh $(OFFSET) $(OBJDUMP) $@ image` 
  80. -DZIMAGE_SIZE=`sh $(SIZE) $(OBJDUMP) $@ image` 
  81. -c -o misc.o misc.c
  82. $(LD) $(ZLINKFLAGS) -o $@.tmp $(OBJECTS) $(LIBS)
  83. $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment 
  84. --add-section=initrd=../images/ramdisk.image.gz 
  85. --add-section=image=../images/vmlinux.gz 
  86. $@.tmp ../images/$@.embedded
  87. # Remove zvmlinux and zvmlinux.temp, we have ../images/zvmlinux.embedded
  88. rm -f $@.tmp $@
  89. zImage: zvmlinux
  90. ifeq ($(CONFIG_RPXCLASSIC),y)
  91. dd if=../images/zvmlinux.embedded of=../images/zImage.embedded bs=65536 skip=1
  92. else
  93. ln -sf ../images/zvmlinux.embedded ../images/zImage.embedded
  94. endif
  95. zImage.initrd: zvmlinux.initrd
  96. ifeq ($(CONFIG_RPXCLASSIC),y)
  97. dd if=../images/zvmlinux.initrd.embedded of=../images/zImage.initrd.embedded bs=65536 skip=1
  98. else
  99. ln -sf ../images/zvmlinux.initrd.embedded ../images/zImage.initrd.embedded
  100. endif
  101. zvmlinux: $(OBJECTS) $(LIBS) ../images/vmlinux.gz
  102. #
  103. # Recompile misc.o again with more 'correct' bogus offsets
  104. #
  105. $(CC) $(CFLAGS) -DINITRD_OFFSET=0 -DINITRD_SIZE=0 
  106. -DZIMAGE_OFFSET=0x00018000 -DZIMAGE_SIZE=0x000748e2 
  107. -c -o misc.o misc.c
  108. #
  109. # build the boot loader image and then compute the offset into it
  110. # for the kernel image
  111. #
  112. $(LD) $(ZLINKFLAGS) -o $@.tmp $(OBJECTS) $(LIBS)
  113. $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment 
  114. --add-section=image=../images/vmlinux.gz 
  115. $@.tmp $@
  116. #
  117. # then with the offset rebuild the bootloader so we know where the kernel is
  118. #
  119. $(CC) $(CFLAGS) -DINITRD_OFFSET=0 -DINITRD_SIZE=0 
  120. -DZIMAGE_OFFSET=`sh $(OFFSET) $(OBJDUMP) $@ image` 
  121. -DZIMAGE_SIZE=`sh $(SIZE) $(OBJDUMP) $@ image` 
  122. -c -o misc.o misc.c
  123. $(LD) $(ZLINKFLAGS) -o $@.tmp $(OBJECTS) $(LIBS)
  124. $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment 
  125. --add-section=image=../images/vmlinux.gz 
  126. $@.tmp ../images/$@.embedded
  127. # Remove zvmlinux and zvmlinux.temp, we have ../images/zvmlinux.embedded
  128. rm -f $@.tmp $@
  129. znetboot : zImage
  130. cp ../images/zImage.embedded $(TFTPIMAGE)
  131. znetboot.initrd : zImage.initrd
  132. cp ../images/zImage.initrd.embedded $(TFTPIMAGE)
  133. include $(TOPDIR)/Rules.make