Makefile
上传用户:caisangzi8
上传日期:2013-10-25
资源大小:15756k
文件大小:9k
源码类别:

DVD

开发平台:

C/C++

  1. #
  2. # Makefile
  3. #
  4. # DVD
  5. #
  6. PATH := $(PATH) .
  7. VPATH = DSP3 MIPS IR_VFD IOP SETUP
  8. .SUFFIXES:
  9. .PHONY: force 
  10. sinclude Makefile.utl
  11. LIBDIR = mipsel-elf
  12. LIBPPCMDIR  = mipsel-elf-ppcm
  13. LIBAACDIR   = mipsel-elf-aac
  14. LIBWMADIR   = mipsel-elf-wma
  15. LIBDTSDIR   = mipsel-elf-dts
  16. LIBSRVDIR = srv-elf
  17. GOAL   = romL.obj
  18. LDSCRIPT = dvdL.ld
  19. CFLAGS_ENDIAN = -DLITTLE_ENDIAN
  20. INIT0 = MIPS/init0.o
  21. ROMINIT0 = MIPS/rominit.o
  22. ROMFINIT0 = MIPS/romfinit.o
  23. CRT0 = MIPS/crt0.o
  24. BOOT_FLASH  = MIPS/boot_flashs.o
  25. INCLUDE_DIR = -I. -Ih/ -Isetup/  -Iemu/ -Inav/ -Iauth/ -Iservo/ -Ichinese/ -Iir_vfd/ -Ipeif/ -Igame/ -Isystem/ -Iauddrv/
  26. #
  27. # generic flags
  28. #
  29. #
  30. # CFLAGS_COMPILE
  31. #
  32. #
  33. #  __EMU__ / __BORLANDC__
  34. #  used to define atapi interface
  35. #
  36. #  VIDEO_ONLY
  37. #  disable audio functionality
  38. #
  39. #  SIMULATION/EMULATION/FINALSYS
  40. #  setup environment according to debugging configuration
  41. #
  42. #  SIMULATION_FAST
  43. #  accelerate some parameter during SIMULATION (or testing)
  44. #
  45. CFLAGS_SUPPORT = -D__EMU__ -DFINALSYS
  46. CFLAGS_SIM = 
  47. CFLAGS_COMPILE = $(CFLAGS_SUPPORT) $(CFLAGS_SIM)
  48. #
  49. # CFLAGS_CPPX
  50. # for dvdL.ldp parsing
  51. #
  52. CFLAGS_CPPX = $(CFLAGS_COMPILE) -I. -Ih -x c++
  53. #
  54. # ld related flags (LDFLAGS)
  55. #
  56. LIBRARIES =
  57. LDFLAGS_LIB = 
  58. LDFLAGS = -nostartfiles -T $(LDSCRIPT) -L$(LIBDIR) -L$(LIBPPCMDIR) -L$(LIBAACDIR) -L$(LIBWMADIR) -L$(LIBDTSDIR) -L$(LIBSRVDIR) $(LDFLAGS_LIB) 
  59.     --cref -Wl,-Map,$*.map
  60. #     --cref -Wl,--gc-sections,-Map,$*.map
  61. # -Wl,--sort-common
  62. #
  63. # Sources
  64. #
  65. SOURCES_AUD = 
  66. dsp3_config.c
  67. audif.c
  68. dsp3_if.c
  69. dsp3_intr.c 
  70. SOURCES_TV = 
  71. SOURCES_IOP = 
  72. iop.c 
  73. ioprom.c 
  74. SOURCES_KERN = 
  75. kinf.c 
  76. kfptr.c 
  77. kernel.c
  78. SOURCES_NAV = 
  79. ninf.c
  80. SOURCES_CUST = 
  81. cust_nav.c
  82. SOURCES = 
  83. sysmain2.c license.c 
  84. zoomfact.c 
  85. membuf.c 
  86. membufv.c 
  87. emuio.c 
  88. sound.c 
  89. title.c 
  90. databuf.c 
  91. osd1.c 
  92. osd_BmpUI.c
  93. osd_show_font.c
  94. OSDShowFont.c
  95. font_offset.c
  96. read.c
  97. osdutil.c
  98. prog.c
  99. setup.c
  100. setup_ui1.c
  101. disp.c
  102. book.c
  103. search.c
  104. browse_func.c
  105. safe.c
  106. UartComm.c
  107. score.c
  108. double_title.c
  109. osdfont_decompress.c
  110. ircode.c
  111. radio.c
  112. ampvol.c
  113. audctrl.c
  114. gpio.c 
  115. userlogo.c
  116. virtual_keyboard.c
  117. LanguageUtil.c
  118. cdplayer.c 
  119. c_i2c.c 
  120. periphGUI.c 
  121. $(SOURCES_IOP) 
  122. $(SOURCES_KERN) 
  123. $(SOURCES_NAV) 
  124. $(SOURCES_AUD) 
  125. $(SOURCES_TV) 
  126. $(SOURCES_CUST) 
  127. SOURCES_S = intdrv.S
  128. DEPENDS_C = 
  129. $(addprefix MIPS/,$(SOURCES:.c=.d))
  130. DEPENDS_S = 
  131. $(addprefix MIPS/,$(SOURCES_S:.S=.d))
  132. DEPENDS = $(DEPENDS_C) $(DEPENDS_S)
  133. OBJS = $(DEPENDS:.d=.o)
  134. #
  135. # main target
  136. #
  137. all: $(GOAL)
  138. @$(CHKSUM) romL.bin 64
  139. @$(XB2) 0x70 romL.bin rom.bin
  140. @$(CHKSUM) rom.bin 32
  141. # @$(MODUAL) boot_flash.bin rom.bin
  142. @$(ECHO) "all made"
  143. #
  144. # LIBRARY
  145. # libdrv.a
  146. #
  147. SOURCES_DRVLIB = 
  148. adv7176.c 
  149. sp711.c 
  150. cs8403a.c
  151. DEPS_DRVLIB = $(addprefix MIPS/,$(SOURCES_DRVLIB:.c=.d))
  152. OBJS_DRVLIB = $(DEPS_DRVLIB:.d=.o)
  153. libdrv.a : $(OBJS_DRVLIB)
  154. $(XAR) -cr $@ $(OBJS_DRVLIB)
  155. sinclude $(DEPS_DRVLIB)
  156. #
  157. # LIBRARY
  158. # libmon.a
  159. #
  160. #SOURCES_MONLIB = 
  161. # dump.c 
  162. # monitor.c 
  163. #DEPS_MONLIB = $(addprefix MIPS/,$(SOURCES_MONLIB:.c=.d))
  164. #OBJS_MONLIB = $(DEPS_MONLIB:.d=.o)
  165. libmon.a : $(OBJS_MONLIB)
  166. $(XAR) -cr $@ $(OBJS_MONLIB)
  167. #sinclude $(DEPS_MONLIB)
  168. #
  169. # dvdL.ld
  170. #
  171. dvdL.ld: dvdL.ldp force
  172. @$(ECHO) "generate linker script"
  173. @$(CPP) $(CFLAGS_CPPX) dvdL.ldp > dvdL.ld
  174. #
  175. # GOAL
  176. #
  177. $(GOAL): %.obj: $(LIBRARIES) $(OBJS) $(INIT0) $(CRT0) $(ROMINIT0) $(BOOT_FLASH) dvdL.ld
  178. @$(ECHO) "linking.."
  179. @$(XCC) $(CFLAGS_MIPS) -o $@ $(INIT0) $(OBJS) $(CRT0) $(ROMINIT0) $(BOOT_FLASH) $(LDFLAGS)
  180. @$(ECHO) "dumping.."
  181. @$(XOBJDUMP) -j .rom1 -s $@ > $*.dump
  182. @$(XOBJDUMP) -j .ram1 -s $@ >> $*.dump
  183. @$(XOBJDUMP) -j .rom2 -s $@ >> $*.dump
  184. @$(XOBJDUMP) -j .rom3 -s $@ >> rom3.dump
  185. #=======================================================================
  186. # @$(XOBJDUMP) -j .ramflash -s $@ >> $*.dump
  187. # @$(ECHO) "packaging.."
  188. # @$(DUMP2BIN) $*.dump $*.bin
  189. #=======================================================================
  190. # @$(XOBJDUMP) -j .ramflash -s $@ > flash.dump
  191. @$(XOBJDUMP) -j .drv_iop -s $@ > iop.dump
  192. @$(XOBJDUMP) -j .drv_iop_rst -s $@ > iop_rst.dump
  193. @$(XOBJDUMP) -j .drv_dvd -s $@ > dvd.dump
  194. @$(XOBJDUMP) -j .ramdrv1 -s $@ > mpeg.dump
  195. @$(XOBJDUMP) -j .ramdrv2 -s $@ > jpeg.dump
  196. @$(XOBJDUMP) -j .drv_ap1 -s $@ > ap1.dump
  197. @$(XOBJDUMP) -j .drv_cdrom -s $@ > cdrom.dump
  198. @$(XOBJDUMP) -j .boot_flash -s $@ > boot_flash.dump
  199. @$(XOBJDUMP) -j .drv_srvdp -s $@ > srvdsp.dump
  200. @$(XOBJDUMP) -j .drv_ap2 -s $@ > ap2.dump
  201. @$(XOBJDUMP) -j .drv_ap3 -s $@ > ap3.dump
  202. @$(XOBJDUMP) -j .drv_free -s $@ > free.dump
  203. @$(XOBJDUMP) -j .drv_other -s $@ > drv_other.dump
  204. @$(XOBJDUMP) -j .drv_mp4 -s $@ > mp4.dump
  205. @$(XOBJDUMP) -j .drv_wma -s $@ > wma.dump
  206. #=======================================================================
  207. # @$(DUMP2BIN) flash.dump flash.bin
  208. # @$(FGZIP2) -c flash.bin > flash.rz
  209. @$(DUMP2BIN) iop.dump iop.bin
  210. @$(FGZIP2) -f iop.bin 
  211. @$(DUMP2BIN) iop_rst.dump iop_rst.bin
  212. @$(FGZIP2) -f iop_rst.bin
  213. @$(DUMP2BIN) dvd.dump dvd.bin
  214. @$(FGZIP2) -f dvd.bin
  215. @$(DUMP2BIN) mpeg.dump mpeg.bin
  216. @$(FGZIP2) -f mpeg.bin
  217. @$(DUMP2BIN) jpeg.dump jpeg.bin
  218. @$(FGZIP2) -f jpeg.bin
  219. @$(DUMP2BIN) ap1.dump ap1.bin
  220. @$(FGZIP2) -f ap1.bin 
  221. @$(DUMP2BIN) cdrom.dump cdrom.bin
  222. @$(FGZIP2) -f cdrom.bin
  223. @$(DUMP2BIN) srvdsp.dump srvdsp.bin
  224. @$(FGZIP2) -f srvdsp.bin
  225. @$(DUMP2BIN) ap2.dump ap2.bin
  226. @$(FGZIP2) -f ap2.bin
  227. @$(DUMP2BIN) ap3.dump ap3.bin
  228. @$(FGZIP2) -f ap3.bin
  229. @$(DUMP2BIN) free.dump free.bin
  230. @$(FGZIP2) -f free.bin
  231. @$(DUMP2BIN) drv_other.dump drv_other.bin
  232. @$(FGZIP2) -f drv_other.bin
  233. @$(DUMP2BIN) mp4.dump mp4.bin
  234. @$(FGZIP2) -f mp4.bin
  235. @$(DUMP2BIN) wma.dump wma.bin
  236. @$(FGZIP2) -f wma.bin
  237. @$(DUMP2BIN) boot_flash.dump boot_flash.bin
  238. # @$(XOBJDUMP) --disassemble -j .boot_flash --source romL.obj > boot_flash.dis
  239. # @$(XOBJDUMP) --disassemble -j .drv_ap1 --source romL.obj > drv_ap1.dis
  240. # @$(XOBJDUMP) --disassemble -j .ramdrv1 --source romL.obj > ramdrv1.dis
  241. # @$(XOBJDUMP) --disassemble -j .ramdrv2 --source romL.obj > ramdrv2.dis
  242. # @$(XOBJDUMP) --disassemble -j .drv_dvd --source romL.obj > drv_dvd.dis
  243. # @$(XOBJDUMP) --disassemble -j .drv_cdrom --source romL.obj > drv_cdrom.dis
  244. # @$(XOBJDUMP) --disassemble -j .drv_iop --source romL.obj > drv_iop.dis
  245. # @$(XOBJDUMP) --disassemble -j .drv_iop_rst --source romL.obj > drv_iop_rst.dis
  246. #=======================================================================
  247. @$(ECHO) "packaging.."
  248. @$(DUMP2BIN) $*.dump $*.bin
  249. @$(DUMP2BIN) rom3.dump rom3.bin
  250. #=======================================================================
  251. @$(MODUAL) $*.bin dvd.bin.gz mpeg.bin.gz jpeg.bin.gz ap1.bin.gz cdrom.bin.gz iop.bin.gz iop_rst.bin.gz drv_other.bin.gz srvdsp.bin.gz ap2.bin.gz ap3.bin.gz free.bin.gz rom3.bin mp4.bin.gz wma.bin.gz
  252. %.dis : %.obj
  253. @$(ECHO) "disassembling.."
  254. @$(XOBJDUMP) --disassemble -j .rom1 --source $< > $@
  255. @$(XOBJDUMP) --disassemble -j .drv_dvd --source $< >> $@
  256. @$(XOBJDUMP) --disassemble -j .drv_srvdp --source $< >> $@
  257. @$(XOBJDUMP) --disassemble -j .drv_cdrom --source $< >> $@
  258. @$(XOBJDUMP) --disassemble -j .drv_ap1 --source $< >> $@
  259. @$(XOBJDUMP) --disassemble -j .drv_ap2 --source $< >> $@
  260. @$(XOBJDUMP) --disassemble -j .drv_ap3 --source $< >> $@
  261. @$(XOBJDUMP) --disassemble -j .drv_free --source $< >> $@
  262. @$(XOBJDUMP) --disassemble -j .drv_mp4 --source $< >> $@
  263. @$(XOBJDUMP) --disassemble -j .drv_wma --source $< >> $@
  264. @$(XOBJDUMP) --disassemble -j .ramdrv1 --source $< >> $@
  265. @$(XOBJDUMP) --disassemble -j .ramdrv2 --source $< >> $@
  266. #
  267. # special commands.
  268. #
  269. MIPS/init0.o : user_init.h
  270. MIPS/init0.o : init0.S ./h/regmapa.h ./h/sdctrl.h  ./sdram.h ./h/rommap_roma.h ./h/rommap_romb.h
  271. MIPS/crt0.o : crt0.S ./h/regmapa.h ./h/sdctrl.h ./user_init.h ./sdctrl.inc
  272. MIPS/boot_flashs.o : boot_flashs.S ./h/regdef.h
  273. #ioprom.inc: ioprom.bin
  274. # $(BINOBJ) IOPcode ioprom.bin > ioprom.inc
  275. MIPS/font_offset.d : osdfont.inc
  276. MIPS/font_offset.o : font_offset.c font.c osdfont.inc
  277. @$(ECHO) "compile $<"
  278. @$(XCC) $(CFLAGS_MIPS) -O0 -g0 -c -o $@ $<
  279. MIPS/osdfont_decompress.d : osdfont.inc
  280. MIPS/osdfont_decompress.o : osdfont_decompress.c font.c font_offset.c osdfont.inc
  281. @$(ECHO) "compile $<"
  282. @$(XCC) $(CFLAGS_MIPS) -O0 -g0 -c -o $@ $<
  283. osdfont.inc: osdfont.bin
  284. @$(FGZIP2) -f $< 
  285. @$(BINOBJ) OSDfontbin $<.gz osdfont.inc
  286. osdfont.bin: user_init.h font_ori.c font_traditional.c font_konka.c
  287. @$(FONT_PARSER)
  288. ifneq ($(MAKECMDGOALS),clean)
  289. ifneq ($(MAKECMDGOALS),tar)
  290. ifneq ($(MAKECMDGOALS),bak)
  291. sinclude $(DEPENDS)
  292. endif
  293. endif
  294. endif