tizen 2.4 release
[kernel/u-boot-tm1.git] / nand_fdl / fdl-2 / Makefile
1 #
2 # (C) Copyright 2009 DENX Software Engineering
3 #
4 # See file CREDITS for list of people who contributed to this
5 # project.
6 #
7 # This program is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU General Public License as
9 # published by the Free Software Foundatio; either version 2 of
10 # the License, or (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20 # MA 02111-1307 USA
21 #
22
23 include $(TOPDIR)/config.mk
24 include  $(TOPDIR)/nand_fdl/board/$(VENDOR)/$(SOC)/config.mk
25 include $(TOPDIR)/board/$(BOARDDIR)/config.mk
26 sinclude $(TOPDIR)/include/idh_config.mk
27
28 gcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`)
29
30 LDSCRIPT      = $(TOPDIR)/nand_fdl/board/$(VENDOR)/$(SOC)/u-boot.lds
31 FDL2_LDFLAGS    = -Bstatic -T $(LDSCRIPT) $(PLATFORM_LDFLAGS)
32 AFLAGS  += -I $(OBJTREE)/include/asm/arch
33 CFLAGS  += -D CONFIG_FRMCHECK -DCONFIG_FDL2_BUILD -I $(OBJTREE)/include/asm/arch
34
35 FDL2_PATH = $(TOPDIR)/nand_fdl/fdl-2
36 COM_PATH = $(TOPDIR)/nand_fdl/common
37
38 EMMC_PATH = $(TOPDIR)/drivers/mmc
39
40 ifdef CONFIG_EMMC_BOOT
41 UEFI_LIB = $(OBJTREE)/disk/libdisk.o
42 EMMC_LIB = $(OBJTREE)/drivers/mmc/libmmc.o
43 endif
44
45 FDL2_SOBJS_LIST = init.o
46
47 COM_COBJS       = dl_engine.o fdl_crc.o packet.o fdl_channel.o fdl_stdio.o mcu_command.o usb_boot.o drv_usb.o virtual_com.o
48 COM_OBJS = $(addprefix $(obj),$(COM_COBJS))
49
50 FDL2_COBJS_LIST = migrate.o fdl2_signature.o fdl_main.o fdl_cmd_proc.o fdl_ldo.o fdl_common.o
51 ifdef CONFIG_EMMC_BOOT
52 FDL2_COBJS_LIST += newfs_msdos.o fdl_emmc_operate.o
53 else
54 FDL2_COBJS_LIST += fdl_nand_operate.o parsemtdparts.o fdl_mtdparts.o fdl_ubi.o
55 endif
56
57 ifdef FPGA_TRACE_DOWNLOAD
58 FDL2_COBJS_LIST += fdl_ram_dl.o
59 endif
60
61 FDL2_COBJS = $(addprefix $(obj),$(FDL2_COBJS_LIST))
62 FDL2_SOBJS = $(addprefix $(obj),$(FDL2_SOBJS_LIST))
63 FDL2_OBJS = $(FDL2_COBJS) $(FDL2_SOBJS)
64
65 MTD_LIB = $(OBJTREE)/drivers/mtd/libmtd.o 
66 NAND_LIB = $(OBJTREE)/drivers/mtd/nand/libnand.o
67 COMMON_OBJ = dlmalloc.o idh_layout.o
68 COMMON_LIB = $(addprefix $(OBJTREE)/common/,$(COMMON_OBJ))
69 DRIVERS_LIB = $(OBJTREE)/drivers/serial/serial_sc8800x.o
70 ARCH_LIB =
71
72 CPU_OBJ = timer.o chip_cfg.o chip_phy_v3.o boot_mode.o watchdog_hal.o watchdog_phy_v3.o mmu.o mmu_asm.o rtc-sprd.o sec_boot.o
73 ifneq ($(CONFIG_SC8830)$(CONFIG_SC9630),)
74 CPU_OBJ+= gpio.o gpio_phy.o adi.o adc.o
75
76 ifdef CONFIG_ADIE_SC2713S
77 CPU_OBJ+= sprd_battery_2713.o
78 else
79 CPU_OBJ+= sprd_battery.o
80 endif
81
82 ifneq ($(CONFIG_SPX30G)$(CONFIG_SC9630)$(CONFIG_ADIE_SC2723)$(CONFIG_ADIE_SC2723S),)
83 CPU_OBJ += glb.o otp-helper.o efuse.o
84 ifneq ($(CONFIG_ADIE_SC2723)$(CONFIG_ADIE_SC2723S),)
85 CPU_OBJ += ana_efuse.o
86 endif
87 else
88 CPU_OBJ += efuse_drv.o
89 endif
90
91
92 ifneq ($(strip $(CONFIG_ADIE_SC2723)$(CONFIG_ADIE_SC2723S)),)
93 CPU_OBJ += dcdc_cal_sc2723.o
94 else
95
96 ifdef CONFIG_ADIE_SC2713S
97 CPU_OBJ += dcdc_cal_sc2713s.o
98 ifdef CONFIG_ADIE_SC2713
99 CPU_OBJ += dcdc_cal.o
100 endif
101
102 else
103 ifdef CONFIG_SPX15
104 CPU_OBJ += dcdc_cal_x15.o
105 else
106 CPU_OBJ += dcdc_cal.o
107 endif # CONFIG_SPX15
108 endif # CONFIG_ADIE_SC2713S
109
110 endif # CONFIG_ADIE_SC2723
111
112
113 else
114 CPU_OBJ+= adi_drv.o
115 endif #CONFIG_SC8830
116
117 CPU_LIB = $(addprefix $(obj),$(CPU_OBJ))
118
119 ifdef CONFIG_SECURE_BOOT
120 SECURE_LIB = $(OBJTREE)/property/secure_verify.o
121 endif
122
123 GENERIC_LIB = $(OBJTREE)/lib/libgeneric.o
124 ifdef CONFIG_EMMC_BOOT
125 UBOOT_LIBS = $(MTD_LIB) $(ARM_LIB) $(NAND_LIB) $(YAFFS2_LIB) $(COMMON_LIB) $(CPU_LIB) $(GENERIC_LIB) $(DRIVERS_LIB) $(ARCH_LIB) $(EMMC_LIB) $(UEFI_LIB) $(EXT4_LIB) $(SECURE_LIB)
126 else
127 UBOOT_LIBS = $(MTD_LIB) $(ARM_LIB) $(NAND_LIB) $(COMMON_LIB) $(CPU_LIB) $(GENERIC_LIB) $(DRIVERS_LIB) $(ARCH_LIB) $(SECURE_LIB)
128 endif
129
130 ifdef CONFIG_CMD_UBI
131 UBOOT_LIBS += $(OBJTREE)/drivers/mtd/ubi/libubi.o
132 endif
133
134 ifdef CONFIG_FS_EXT4
135 EXT4FS_LIB = $(OBJTREE)/fs/ext4/libext4fs.o
136 UBOOT_LIBS += $(EXT4FS_LIB)
137 endif
138
139 FDL2_LNDIR      := $(OBJTREE)/nand_fdl/fdl-2
140
141 fdlobj  := $(OBJTREE)/nand_fdl/
142 fdl2_obj        := $(fdlobj)fdl-2/src/
143
144 ALL     = $(fdlobj)fdl2.bin
145
146 all:     $(ALL)
147
148 fdl2:  $(fdlobj)fdl2.bin
149
150 $(fdlobj)fdl2.bin:      $(fdlobj)fdl2
151         $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
152
153 $(fdlobj)fdl2: $(FDL2_OBJS) $(COM_OBJS) $(UBOOT_LIBS)
154         @mkdir -p $(FDL2_LNDIR)
155         cd $(FDL2_LNDIR) && $(LD) $(FDL2_LDFLAGS) -Ttext $(FDL2_TEXT_BASE) \
156                 --start-group $(FDL2_COBJS_LIST) $(FDL2_SOBJS_LIST) $(COM_OBJS) \
157                         $(UBOOT_LIBS) --end-group \
158                 -Map $(fdlobj)fdl2.map \
159                 -o $@ $(PLATFORM_LIBS)
160
161 #########################################################################
162
163 ifndef CONFIG_IDH_BUILD
164 $(obj)%.o:$(SRCTREE)/nand_fdl/common/src/%.c
165         $(CC) $(CFLAGS) -I $(FDL2_PATH)/inc -I $(COM_PATH)/inc -c -o $@ $<
166 $(obj)%.o:$(SRCTREE)/nand_fdl/fdl-2/src/%.c
167         $(CC) $(CFLAGS) -I $(FDL2_PATH)/inc -I $(COM_PATH)/inc -I $(EMMC_PATH) -c -o $@ $<
168 $(obj)%.o:$(SRCTREE)/nand_fdl/fdl-2/src/%.S
169         $(CC) $(AFLAGS) -I $(FDL2_PATH)/inc -I $(COM_PATH)/inc -c -o $@ $<
170 $(obj)%.o:$(SRCTREE)/$(CPUDIR)/$(SOC)/%.S
171         $(CC) $(AFLAGS) -I $(FDL2_PATH)/inc -I $(COM_PATH)/inc -c -o $@ $<
172 $(obj)%.o:$(SRCTREE)/$(CPUDIR)/$(SOC)/%.c
173         $(CC) $(CFLAGS) -I $(FDL2_PATH)/inc -I $(COM_PATH)/inc -c -o $@ $<
174 $(obj)%.o:$(SRCTREE)/drivers/power/%.c
175         $(CC) $(CFLAGS) -I $(FDL2_PATH)/inc -I $(COM_PATH)/inc -c -o $@ $<
176 endif
177 # defines $(obj).depend target
178 include $(SRCTREE)/rules.mk
179
180 sinclude $(obj).depend
181
182 .PHONY:clean
183 clean:
184         rm -f *.bin *.map fdl2
185
186 #########################################################################