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

嵌入式Linux

开发平台:

Unix_Linux

  1. # BK Id: SCCS/s.Makefile 1.28 10/21/01 20:47:58 trini
  2. #
  3. # arch/ppc/boot/Makefile
  4. #
  5. # This file is subject to the terms and conditions of the GNU General Public
  6. # License.  See the file "COPYING" in the main directory of this archive
  7. # for more details.
  8. #
  9. # Tom Rini January 2001
  10. #
  11. # Originally:
  12. # arch/ppc/boot/Makefile
  13. # Copyright (C) 1994 by Linus Torvalds
  14. # Adapted for PowerPC by Gary Thomas
  15. # modified by Cort (cort@cs.nmt.edu)
  16. #
  17. USE_STANDARD_AS_RULE := true
  18. ifeq ($(CONFIG_SMP),y)
  19. TFTPIMAGE = /tftpboot/zImage.prep.smp
  20. else
  21. TFTPIMAGE = /tftpboot/zImage.prep
  22. endif
  23. ZLINKFLAGS = -T $(TOPDIR)/arch/$(ARCH)/vmlinux.lds 
  24. -Ttext 0x00800000
  25. obj-y := head.o misc.o ../common/misc-common.o 
  26. ../common/string.o of1275.o
  27. OBJCOPY_ARGS = -O elf32-powerpc
  28. LIBS  = ../lib/zlib.a
  29. obj-$(CONFIG_SERIAL_CONSOLE) += ../common/ns16550.o
  30. obj-$(CONFIG_VGA_CONSOLE) += vreset.o kbd.o
  31. # Tools
  32. MKPREP := ../utils/mkprep
  33. SIZE := ../utils/size
  34. OFFSET := ../utils/offset
  35. all: zImage
  36. misc.o: misc.c
  37. $(CC) $(CFLAGS) -DINITRD_OFFSET=0 -DINITRD_SIZE=0 -DZIMAGE_OFFSET=0 
  38. -DZIMAGE_SIZE=0 -c -o $@ $*.c
  39. zvmlinux.initrd: $(obj-y) $(LIBS) ../images/vmlinux.gz
  40. #
  41. # Recompile misc.oagain with more 'correct' bogus offsets
  42. #
  43. $(CC) $(CFLAGS) -DINITRD_OFFSET=0x00138466 -DINITRD_SIZE=0x0000111a 
  44. -DZIMAGE_OFFSET=0x0001b000 -DZIMAGE_SIZE=0x0011d460 
  45. -c -o misc.o misc.c
  46. $(LD) $(ZLINKFLAGS) -o $@.tmp $(obj-y) $(LIBS)
  47. $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment 
  48. --add-section=initrd=../images/ramdisk.image.gz 
  49. --add-section=image=../images/vmlinux.gz 
  50. $@.tmp $@
  51. $(CC) $(CFLAGS) -DINITRD_OFFSET=`sh $(OFFSET) $(OBJDUMP) $@ initrd` 
  52. -DINITRD_SIZE=`sh $(SIZE) $(OBJDUMP) $@ initrd` 
  53. -DZIMAGE_OFFSET=`sh $(OFFSET) $(OBJDUMP) $@ image` 
  54. -DZIMAGE_SIZE=`sh $(SIZE) $(OBJDUMP) $@ image` 
  55. -c -o misc.o misc.c
  56. $(LD) $(ZLINKFLAGS) -o $@.tmp $(obj-y) $(LIBS)
  57. $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment 
  58. --add-section=initrd=../images/ramdisk.image.gz 
  59. --add-section=image=../images/vmlinux.gz 
  60. $@.tmp $@
  61. rm -f $@.tmp
  62. zImage: zvmlinux $(MKPREP)
  63. $(MKPREP) -pbp zvmlinux ../images/$@.prep
  64. rm -f zvmlinux
  65. zImage.initrd: zvmlinux.initrd $(MKPREP)
  66. $(MKPREP) -pbp zvmlinux.initrd ../images/$@.prep
  67. rm -f zvmlinux.initrd
  68. zvmlinux: $(obj-y) $(LIBS) ../images/vmlinux.gz
  69. #
  70. # Recompile misc.oagain with more 'correct' bogus offsets
  71. #
  72. $(CC) $(CFLAGS) -DINITRD_OFFSET=0 -DINITRD_SIZE=0 
  73. -DZIMAGE_OFFSET=0x0001b000 -DZIMAGE_SIZE=0x0011d460 
  74. -c -o misc.o misc.c
  75. #
  76. # build the boot loader image and then compute the offset into it
  77. # for the kernel image
  78. #
  79. $(LD) $(ZLINKFLAGS) -o zvmlinux.tmp $(obj-y) $(LIBS)
  80. $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment 
  81. --add-section=image=../images/vmlinux.gz zvmlinux.tmp $@
  82. #
  83. # then with the offset rebuild the bootloader so we know where the kernel is
  84. #
  85. $(CC) $(CFLAGS) -DINITRD_OFFSET=0 -DINITRD_SIZE=0 
  86. -DZIMAGE_OFFSET=`sh $(OFFSET) $(OBJDUMP) zvmlinux image` 
  87. -DZIMAGE_SIZE=`sh $(SIZE) $(OBJDUMP) zvmlinux image` 
  88. -c -o misc.o misc.c
  89. $(LD) $(ZLINKFLAGS) -o zvmlinux.tmp $(obj-y) $(LIBS)
  90. $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment 
  91. --add-section=image=../images/vmlinux.gz $@.tmp $@
  92. rm -f $@.tmp
  93. floppy: zImage
  94. dd if=../images/zImage.prep of=/dev/fd0H1440 bs=64b
  95. znetboot : zImage
  96. cp ../images/zImage.prep $(TFTPIMAGE)
  97. znetboot.initrd : zImage.initrd
  98. cp ../images/zImage.initrd.prep $(TFTPIMAGE)
  99. include $(TOPDIR)/Rules.make