Makefile 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. #
  2. # (C) Copyright 2004-2006
  3. # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  4. #
  5. # See file CREDITS for list of people who contributed to this
  6. # project.
  7. #
  8. # This program is free software; you can redistribute it and/or
  9. # modify it under the terms of the GNU General Public License as
  10. # published by the Free Software Foundation; either version 2 of
  11. # the License, or (at your option) any later version.
  12. #
  13. # This program is distributed in the hope that it will be useful,
  14. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. # GNU General Public License for more details.
  17. #
  18. # You should have received a copy of the GNU General Public License
  19. # along with this program; if not, write to the Free Software
  20. # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  21. # MA 02111-1307 USA
  22. #
  23. include $(TOPDIR)/config.mk
  24. LIB = $(obj)libcommon.o
  25. # core
  26. ifndef CONFIG_SPL_BUILD
  27. COBJS-y += main.o
  28. COBJS-y += command.o
  29. COBJS-y += exports.o
  30. COBJS-y += hash.o
  31. COBJS-$(CONFIG_SYS_HUSH_PARSER) += hush.o
  32. COBJS-y += s_record.o
  33. COBJS-y += xyzModem.o
  34. COBJS-y += cmd_disk.o
  35. # boards
  36. COBJS-$(CONFIG_SYS_GENERIC_BOARD) += board_f.o
  37. COBJS-$(CONFIG_SYS_GENERIC_BOARD) += board_r.o
  38. # core command
  39. COBJS-y += cmd_boot.o
  40. COBJS-$(CONFIG_CMD_BOOTM) += cmd_bootm.o
  41. COBJS-y += cmd_help.o
  42. COBJS-y += cmd_nvedit.o
  43. COBJS-y += cmd_version.o
  44. # environment
  45. COBJS-y += env_attr.o
  46. COBJS-y += env_callback.o
  47. COBJS-y += env_common.o
  48. COBJS-y += env_flags.o
  49. COBJS-$(CONFIG_ENV_IS_IN_DATAFLASH) += env_dataflash.o
  50. COBJS-$(CONFIG_ENV_IS_IN_EEPROM) += env_eeprom.o
  51. XCOBJS-$(CONFIG_ENV_IS_EMBEDDED) += env_embedded.o
  52. COBJS-$(CONFIG_ENV_IS_IN_EEPROM) += env_embedded.o
  53. XCOBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_embedded.o
  54. COBJS-$(CONFIG_ENV_IS_IN_NVRAM) += env_embedded.o
  55. COBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_flash.o
  56. COBJS-$(CONFIG_ENV_IS_IN_MMC) += env_mmc.o
  57. COBJS-$(CONFIG_ENV_IS_IN_FAT) += env_fat.o
  58. COBJS-$(CONFIG_ENV_IS_IN_NAND) += env_nand.o
  59. COBJS-$(CONFIG_ENV_IS_IN_NVRAM) += env_nvram.o
  60. COBJS-$(CONFIG_ENV_IS_IN_ONENAND) += env_onenand.o
  61. COBJS-$(CONFIG_ENV_IS_IN_SPI_FLASH) += env_sf.o
  62. COBJS-$(CONFIG_ENV_IS_IN_REMOTE) += env_remote.o
  63. COBJS-$(CONFIG_ENV_IS_IN_UBI) += env_ubi.o
  64. COBJS-$(CONFIG_ENV_IS_NOWHERE) += env_nowhere.o
  65. # command
  66. COBJS-$(CONFIG_CMD_AMBAPP) += cmd_ambapp.o
  67. COBJS-$(CONFIG_SOURCE) += cmd_source.o
  68. COBJS-$(CONFIG_CMD_SOURCE) += cmd_source.o
  69. COBJS-$(CONFIG_CMD_BDI) += cmd_bdinfo.o
  70. COBJS-$(CONFIG_CMD_BEDBUG) += bedbug.o cmd_bedbug.o
  71. COBJS-$(CONFIG_CMD_BMP) += cmd_bmp.o
  72. COBJS-$(CONFIG_CMD_BOOTMENU) += cmd_bootmenu.o
  73. COBJS-$(CONFIG_CMD_BOOTLDR) += cmd_bootldr.o
  74. COBJS-$(CONFIG_CMD_BOOTSTAGE) += cmd_bootstage.o
  75. COBJS-$(CONFIG_CMD_CACHE) += cmd_cache.o
  76. COBJS-$(CONFIG_CMD_CBFS) += cmd_cbfs.o
  77. COBJS-$(CONFIG_CMD_CONSOLE) += cmd_console.o
  78. COBJS-$(CONFIG_CMD_CPLBINFO) += cmd_cplbinfo.o
  79. COBJS-$(CONFIG_DATAFLASH_MMC_SELECT) += cmd_dataflash_mmc_mux.o
  80. COBJS-$(CONFIG_CMD_DATE) += cmd_date.o
  81. COBJS-$(CONFIG_CMD_SOUND) += cmd_sound.o
  82. ifdef CONFIG_4xx
  83. COBJS-$(CONFIG_CMD_SETGETDCR) += cmd_dcr.o
  84. endif
  85. ifdef CONFIG_POST
  86. COBJS-$(CONFIG_CMD_DIAG) += cmd_diag.o
  87. endif
  88. COBJS-$(CONFIG_CMD_DISPLAY) += cmd_display.o
  89. COBJS-$(CONFIG_CMD_DTT) += cmd_dtt.o
  90. COBJS-$(CONFIG_CMD_ECHO) += cmd_echo.o
  91. COBJS-$(CONFIG_ENV_IS_IN_EEPROM) += cmd_eeprom.o
  92. COBJS-$(CONFIG_CMD_EEPROM) += cmd_eeprom.o
  93. COBJS-$(CONFIG_CMD_ELF) += cmd_elf.o
  94. COBJS-$(CONFIG_SYS_HUSH_PARSER) += cmd_exit.o
  95. COBJS-$(CONFIG_CMD_EXT4) += cmd_ext4.o
  96. COBJS-$(CONFIG_CMD_EXT2) += cmd_ext2.o
  97. COBJS-$(CONFIG_CMD_FAT) += cmd_fat.o
  98. COBJS-$(CONFIG_CMD_FDC)$(CONFIG_CMD_FDOS) += cmd_fdc.o
  99. COBJS-$(CONFIG_OF_LIBFDT) += cmd_fdt.o fdt_support.o
  100. COBJS-$(CONFIG_CMD_FDOS) += cmd_fdos.o
  101. COBJS-$(CONFIG_CMD_FITUPD) += cmd_fitupd.o
  102. COBJS-$(CONFIG_CMD_FLASH) += cmd_flash.o
  103. ifdef CONFIG_FPGA
  104. COBJS-$(CONFIG_CMD_FPGA) += cmd_fpga.o
  105. endif
  106. COBJS-$(CONFIG_CMD_FS_GENERIC) += cmd_fs.o
  107. COBJS-$(CONFIG_CMD_FUSE) += cmd_fuse.o
  108. COBJS-$(CONFIG_CMD_GETTIME) += cmd_gettime.o
  109. COBJS-$(CONFIG_CMD_GPIO) += cmd_gpio.o
  110. COBJS-$(CONFIG_CMD_I2C) += cmd_i2c.o
  111. COBJS-$(CONFIG_CMD_HASH) += cmd_hash.o
  112. COBJS-$(CONFIG_CMD_IDE) += cmd_ide.o
  113. COBJS-$(CONFIG_CMD_IMMAP) += cmd_immap.o
  114. COBJS-$(CONFIG_CMD_INI) += cmd_ini.o
  115. COBJS-$(CONFIG_CMD_IRQ) += cmd_irq.o
  116. COBJS-$(CONFIG_CMD_ITEST) += cmd_itest.o
  117. COBJS-$(CONFIG_CMD_JFFS2) += cmd_jffs2.o
  118. COBJS-$(CONFIG_CMD_CRAMFS) += cmd_cramfs.o
  119. COBJS-$(CONFIG_CMD_LDRINFO) += cmd_ldrinfo.o
  120. COBJS-$(CONFIG_CMD_LED) += cmd_led.o
  121. COBJS-$(CONFIG_CMD_LICENSE) += cmd_license.o
  122. COBJS-y += cmd_load.o
  123. COBJS-$(CONFIG_LOGBUFFER) += cmd_log.o
  124. COBJS-$(CONFIG_ID_EEPROM) += cmd_mac.o
  125. COBJS-$(CONFIG_CMD_MD5SUM) += cmd_md5sum.o
  126. COBJS-$(CONFIG_CMD_MEMORY) += cmd_mem.o
  127. COBJS-$(CONFIG_CMD_IO) += cmd_io.o
  128. COBJS-$(CONFIG_CMD_MFSL) += cmd_mfsl.o
  129. COBJS-$(CONFIG_MII) += miiphyutil.o
  130. COBJS-$(CONFIG_CMD_MII) += miiphyutil.o
  131. COBJS-$(CONFIG_PHYLIB) += miiphyutil.o
  132. COBJS-$(CONFIG_CMD_MII) += cmd_mii.o
  133. ifdef CONFIG_PHYLIB
  134. COBJS-$(CONFIG_CMD_MII) += cmd_mdio.o
  135. endif
  136. COBJS-$(CONFIG_CMD_MISC) += cmd_misc.o
  137. COBJS-$(CONFIG_CMD_MMC) += cmd_mmc.o
  138. COBJS-$(CONFIG_CMD_MMC_SPI) += cmd_mmc_spi.o
  139. COBJS-$(CONFIG_MP) += cmd_mp.o
  140. COBJS-$(CONFIG_CMD_MTDPARTS) += cmd_mtdparts.o
  141. COBJS-$(CONFIG_CMD_NAND) += cmd_nand.o
  142. COBJS-$(CONFIG_CMD_NET) += cmd_net.o
  143. COBJS-$(CONFIG_CMD_ONENAND) += cmd_onenand.o
  144. COBJS-$(CONFIG_CMD_OTP) += cmd_otp.o
  145. COBJS-$(CONFIG_CMD_PART) += cmd_part.o
  146. ifdef CONFIG_PCI
  147. COBJS-$(CONFIG_CMD_PCI) += cmd_pci.o
  148. endif
  149. COBJS-y += cmd_pcmcia.o
  150. COBJS-$(CONFIG_CMD_PORTIO) += cmd_portio.o
  151. COBJS-$(CONFIG_CMD_PXE) += cmd_pxe.o
  152. COBJS-$(CONFIG_CMD_READ) += cmd_read.o
  153. COBJS-$(CONFIG_CMD_REGINFO) += cmd_reginfo.o
  154. COBJS-$(CONFIG_CMD_REISER) += cmd_reiser.o
  155. COBJS-$(CONFIG_SANDBOX) += cmd_sandbox.o
  156. COBJS-$(CONFIG_CMD_SATA) += cmd_sata.o
  157. COBJS-$(CONFIG_CMD_SF) += cmd_sf.o
  158. COBJS-$(CONFIG_CMD_SCSI) += cmd_scsi.o
  159. COBJS-$(CONFIG_CMD_SHA1SUM) += cmd_sha1sum.o
  160. COBJS-$(CONFIG_CMD_SETEXPR) += cmd_setexpr.o
  161. COBJS-$(CONFIG_CMD_SPI) += cmd_spi.o
  162. COBJS-$(CONFIG_CMD_SPIBOOTLDR) += cmd_spibootldr.o
  163. COBJS-$(CONFIG_CMD_STRINGS) += cmd_strings.o
  164. COBJS-$(CONFIG_CMD_TERMINAL) += cmd_terminal.o
  165. COBJS-$(CONFIG_CMD_TIME) += cmd_time.o
  166. COBJS-$(CONFIG_SYS_HUSH_PARSER) += cmd_test.o
  167. COBJS-$(CONFIG_CMD_TPM) += cmd_tpm.o
  168. COBJS-$(CONFIG_CMD_TSI148) += cmd_tsi148.o
  169. COBJS-$(CONFIG_CMD_UBI) += cmd_ubi.o
  170. COBJS-$(CONFIG_CMD_UBIFS) += cmd_ubifs.o
  171. COBJS-$(CONFIG_CMD_UNIVERSE) += cmd_universe.o
  172. COBJS-$(CONFIG_CMD_UNZIP) += cmd_unzip.o
  173. ifdef CONFIG_CMD_USB
  174. COBJS-y += cmd_usb.o
  175. COBJS-y += usb.o usb_hub.o
  176. COBJS-$(CONFIG_USB_STORAGE) += usb_storage.o
  177. endif
  178. COBJS-$(CONFIG_CMD_USB_MASS_STORAGE) += cmd_usb_mass_storage.o
  179. COBJS-$(CONFIG_CMD_XIMG) += cmd_ximg.o
  180. COBJS-$(CONFIG_YAFFS2) += cmd_yaffs2.o
  181. COBJS-$(CONFIG_CMD_SPL) += cmd_spl.o
  182. COBJS-$(CONFIG_CMD_ZIP) += cmd_zip.o
  183. COBJS-$(CONFIG_CMD_ZFS) += cmd_zfs.o
  184. # others
  185. ifdef CONFIG_DDR_SPD
  186. SPD := y
  187. endif
  188. ifdef CONFIG_SPD_EEPROM
  189. SPD := y
  190. endif
  191. COBJS-$(SPD) += ddr_spd.o
  192. COBJS-$(CONFIG_HWCONFIG) += hwconfig.o
  193. COBJS-$(CONFIG_BOOTSTAGE) += bootstage.o
  194. COBJS-$(CONFIG_CONSOLE_MUX) += iomux.o
  195. COBJS-y += flash.o
  196. COBJS-$(CONFIG_CMD_KGDB) += kgdb.o kgdb_stubs.o
  197. COBJS-$(CONFIG_I2C_EDID) += edid.o
  198. COBJS-$(CONFIG_KALLSYMS) += kallsyms.o
  199. COBJS-$(CONFIG_LCD) += lcd.o
  200. COBJS-$(CONFIG_LYNXKDI) += lynxkdi.o
  201. COBJS-$(CONFIG_MENU) += menu.o
  202. COBJS-$(CONFIG_MODEM_SUPPORT) += modem.o
  203. COBJS-$(CONFIG_UPDATE_TFTP) += update.o
  204. COBJS-$(CONFIG_USB_KEYBOARD) += usb_kbd.o
  205. COBJS-$(CONFIG_CMD_DFU) += cmd_dfu.o
  206. COBJS-$(CONFIG_CMD_GPT) += cmd_gpt.o
  207. endif
  208. ifdef CONFIG_SPL_BUILD
  209. COBJS-y += cmd_nvedit.o
  210. COBJS-y += env_common.o
  211. COBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_flash.o
  212. COBJS-$(CONFIG_SPL_YMODEM_SUPPORT) += xyzModem.o
  213. COBJS-$(CONFIG_SPL_NET_SUPPORT) += cmd_nvedit.o
  214. COBJS-$(CONFIG_SPL_NET_SUPPORT) += env_attr.o
  215. COBJS-$(CONFIG_SPL_NET_SUPPORT) += env_callback.o
  216. COBJS-$(CONFIG_SPL_NET_SUPPORT) += env_common.o
  217. COBJS-$(CONFIG_SPL_NET_SUPPORT) += env_flags.o
  218. COBJS-$(CONFIG_SPL_NET_SUPPORT) += env_nowhere.o
  219. COBJS-$(CONFIG_SPL_NET_SUPPORT) += miiphyutil.o
  220. endif
  221. COBJS-$(CONFIG_BOUNCE_BUFFER) += bouncebuf.o
  222. COBJS-y += console.o
  223. COBJS-y += dlmalloc.o
  224. COBJS-y += image.o
  225. COBJS-y += memsize.o
  226. COBJS-y += stdio.o
  227. COBJS := $(sort $(COBJS-y))
  228. XCOBJS := $(sort $(XCOBJS-y))
  229. SRCS := $(COBJS:.o=.c) $(XCOBJS:.o=.c)
  230. OBJS := $(addprefix $(obj),$(COBJS))
  231. XOBJS := $(addprefix $(obj),$(XCOBJS))
  232. CPPFLAGS += -I..
  233. all: $(LIB) $(XOBJS)
  234. $(LIB): $(obj).depend $(OBJS)
  235. $(call cmd_link_o_target, $(OBJS))
  236. $(obj)env_embedded.o: $(src)env_embedded.c $(obj)../tools/envcrc
  237. $(CC) $(AFLAGS) -Wa,--no-warn \
  238. -DENV_CRC=$(shell $(obj)../tools/envcrc) \
  239. -c -o $@ $(src)env_embedded.c
  240. $(obj)../tools/envcrc:
  241. $(MAKE) -C ../tools
  242. # SEE README.arm-unaligned-accesses
  243. $(obj)hush.o: CFLAGS += $(PLATFORM_NO_UNALIGNED)
  244. $(obj)fdt_support.o: CFLAGS += $(PLATFORM_NO_UNALIGNED)
  245. #########################################################################
  246. # defines $(obj).depend target
  247. include $(SRCTREE)/rules.mk
  248. sinclude $(obj).depend
  249. #########################################################################