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

Linux/Unix编程

开发平台:

Unix_Linux

  1. # =============================================================
  2. #
  3. # linux/arch/mips/galileo/compressed/Makefile
  4. #
  5. # By RidgeRun Inc.
  6. #
  7. # Description:
  8. #   Create a system containing a copy of the compressed vmlinux kernel.
  9. #   The system knows how to decompress the contained kernel and then
  10. #   jump to it resulting in a linux kernel boot.
  11. #
  12. #   The system comes in three forms:
  13. #
  14. #       1. - ramsys -
  15. #          to be loaded into ram then run. When run
  16. #          it decompresses the kernel housed in its internal
  17. #          data structures and then jumps to the image which
  18. #          results in a linux kernel boot.
  19. #
  20. #       2. - flashsys -
  21. #          to be loaded into ram so that it can be
  22. #          burned into the onboard flash. Then the board jumpers
  23. #          can be switched so that the next power cycle caused
  24. #          the system in flash to run which then proceeds as
  25. #          described by #1 above.
  26. #          Note: burner.srec is the utility that will allow
  27. #          the user to get this image into flash.
  28. #
  29. #       3. - flashsys2 -
  30. #          to be loaded into ram so that it can be
  31. #          burned into the onboard flash. Then on each power
  32. #          cycle when the standard PMON prompt is presented
  33. #          the user can type `call 0xbf000000` to invoke
  34. #          the system in flash which then proceeds as
  35. #          described by #1 above.
  36. #          Note: burner.srec is the utility that will allow
  37. #          the user to get this image into flash.
  38. #
  39. #       4. - burner.srec -
  40. #          related to #2 and #3 above.
  41. #
  42. # =============================================================
  43. USE_STANDARD_AS_RULE := true
  44. all: ramsys.srec 
  45.      flashsys.srec 
  46.      flashsys2.srec 
  47.      burner.srec
  48. SYSTEM = $(TOPDIR)/vmlinux
  49. CFLAGS_2 = -DCONSOLE_SERIAL -DDELIMITERLINES -DGALILEO_PORT 
  50.            -DANSIESC -DELF_IMAGE -DELF_IMAGE -DDOWNLOAD_PROTO_TFTP 
  51.            -DEVB64120A -D__MIPSEB__ -DINCLUDE_EEPRO100 
  52.            -DINCLUDE_GETH0 -DNOPRINTK -DPROM -DCOMPRESSEDVMLINUX
  53. sbdreset_evb64120A.o:
  54. $(CC) $(CFLAGS) $(CFLAGS_2) -c sbdreset_evb64120A.S -o $*.o
  55. memory.o:
  56. $(CC) $(CFLAGS) $(CFLAGS_2) -c memory.c -o $*.o
  57. pci.o:
  58. $(CC) $(CFLAGS) $(CFLAGS_2) -c pci.c -o $*.o
  59. pci_etherboot.o:
  60. $(CC) $(CFLAGS) $(CFLAGS_2) -c pci_etherboot.c -o $*.o
  61. load.o:
  62. $(CC) $(CFLAGS) $(CFLAGS_2) -c load.c -o $*.o
  63. flashdrv.o:
  64. $(CC) $(CFLAGS) $(CFLAGS_2) -c flashdrv.c -o $*.o
  65. gz2asm: gz2asm.c
  66. g++ -o gz2asm gz2asm.c
  67. doit: doit.c
  68. gcc -o doit doit.c
  69. piggy.gz: $(SYSTEM)
  70. rm -f piggy piggy.gz
  71. $(OBJCOPY) -S -O binary $(SYSTEM) piggy
  72. gzip -f -9 < piggy > piggy.gz
  73. piggy.S: doit fixit piggy.gz
  74. ./doit < piggy.gz > piggy.S; . ./fixit piggy.S
  75. OBJECTS_ramsys    = head.o misc.o piggy.o ../serialGT.o
  76. OBJECTS_flashsys  = sbdreset_evb64120A.o evb64120A_Setup.o pci_etherboot.o memory.o pci.o head.o misc.o piggy.o ../serialGT.o
  77. OBJECTS_flashsys2 = xfer.o head.o misc.o piggy.o ../serialGT.o
  78. OBJECTS_burner    = burner.o load.o flashdrv.o
  79. ramsys.srec : $(OBJECTS_ramsys) ld.script.gal
  80. @# Note: this image is intended to run out of ram. No flash involved.
  81. $(LD) -T ld.script.gal -o ramsys $(OBJECTS_ramsys)
  82. $(NM) ramsys | grep -v '(compiled)|(.o$$)|( [aU] )|(..ng$$)|(LASH[RL]DI)' | sort > System_ramsys.map
  83. $(OBJCOPY) -O srec ramsys ramsys.srec
  84. cp ramsys.srec $(TOPDIR)/.
  85. flashsys.srec : $(OBJECTS_flashsys) ld.sys.big.Flash
  86. @# Note1: Use the burn utility to get this image into flash.
  87. @# Note2: This image is intended to run out of flash as invoked
  88. @# directly at powerup when EVB64120A jumpers are configured to
  89. @# bypass the onboard eprom.
  90. @# Assumes that 0xBFC00000 is the bootup run address (normal MIPS).
  91. @# And assumes that EVB64120A jumber J11 is added to the board and jumber
  92. @# J20 is moved from the 2&3 position to the 1&2 position instead. Without
  93. @# the jumper settings the system will execute at address 0xBFC00000,
  94. @# as normal, yet that address will map to the onboard eeprom instead
  95. @# of the onboard flash.
  96. @#
  97. $(LD) -T ld.sys.big.Flash -o flashsys $(OBJECTS_flashsys)
  98. $(NM) flashsys | grep -v '(compiled)|(.o$$)|( a )' | sort > System_flashsys.map
  99. @#
  100. @# Next, Create the image that we want to place in the flash part.
  101. $(OBJCOPY)  -S -g --strip-unneeded 
  102.       --adjust-section-vma=.text+0x3f820000 
  103.       --adjust-section-vma=.rodata+0x3f820000 
  104.       --adjust-section-vma=.reginfo+0x3f820000 
  105.       --adjust-section-vma=.data+0x3f820000  
  106.       --remove-section=.bss 
  107.       --remove-section=.scommon 
  108.       --remove-section=.note 
  109.       --remove-section=.comment 
  110.       flashsys flashsys.temp
  111. @#
  112. @# Next, change the addresses so that when we download to
  113. @# to the board's ram it will land starting at address 0xA0300000
  114. @# because this is where we have choosen to have the image temporarily sit
  115. @# while we subsequently burn it (using some method not revealed here) into
  116. @# the board's flash. After the burn the system can be setup (via jumpers)
  117. @# to boot this image directory from the flash part.
  118. $(OBJCOPY) -O srec --adjust-vma=0xe0700000 flashsys.temp flashsys.srec
  119. cp flashsys.srec $(TOPDIR)/.
  120. flashsys2.srec : $(OBJECTS_flashsys2) ld.sys.big.Flash2
  121. @# Note1: Use the burn utility to get this image into flash.
  122. @# Note2: This image is intended to be run out of flash as invoked
  123. @# manually from the standard PMON running in eprom. This means that
  124. @# the image will be set to run from location 0xBF000000 which is the
  125. @# location the flash is mapped to when the board jumpers are set to
  126. @# the standard location such that the board boots out of onboard
  127. @# eprom. From the PMON prompt the user can type `call 0xbf000000`
  128. @# to transfer control to the image we are constructing here.
  129. @#
  130. $(LD) -T ld.sys.big.Flash2 -o flashsys2 $(OBJECTS_flashsys2)
  131. $(NM) flashsys2 | grep -v '(compiled)|(.o$$)|( a )' | sort > System_flashsys2.map
  132. @#
  133. @# Next, Create the image that we want to place in the flash part.
  134. $(OBJCOPY)  -S -g --strip-unneeded 
  135.       --adjust-section-vma=.text+0x3ec20000 
  136.       --adjust-section-vma=.rodata+0x3ec20000 
  137.       --adjust-section-vma=.reginfo+0x3ec20000 
  138.       --adjust-section-vma=.data+0x3ec20000  
  139.       --remove-section=.bss 
  140.       --remove-section=.scommon 
  141.       --remove-section=.note 
  142.       --remove-section=.comment 
  143.       flashsys2 flashsys2.temp
  144. @#
  145. @# Next, change the addresses so that when we download to
  146. @# to the board's ram it will land starting at address 0xA0300000
  147. @# because this is where we have choosen to have the image temporarily sit
  148. @# while we subsequently burn it (using some method not revealed here) into
  149. @# the board's flash. After the burn a user will then be able to type
  150. @# `call 0xbf000000` at the PMON prompt (following a power cycle) to invoke
  151. @# the linux kernel.
  152. $(OBJCOPY) -O srec --adjust-vma=0xe1300000 flashsys2.temp flashsys2.srec
  153. cp flashsys2.srec $(TOPDIR)/.
  154. burner.srec : $(OBJECTS_burner) ld.sys.big.burner
  155. @# This utility can be used to burn the flashsys.srec or flashsys2.srec
  156. @# into the EVB64120A's on board flash part (1Meg minimum).
  157. $(LD) -T ld.sys.big.burner -o burner $(OBJECTS_burner)
  158. $(NM) burner | grep -v '(compiled)|(.o$$)|( [aU] )|(..ng$$)|(LASH[RL]DI)' | sort > System_burner.map
  159. $(OBJCOPY) -O srec burner burner.srec
  160. cp burner.srec $(TOPDIR)/.
  161. clean:
  162. rm -f doit piggy.S piggy.gz piggy burner *.o ramsys* flashsys* System*.map *.srec