2 # (C) Copyright 2006-2007
3 # Stefan Roese, DENX Software Engineering, sr@denx.de.
6 # Guennadi Liakhovetki, DENX Software Engineering, <lg@denx.de>
9 # Chander Kashyap, Samsung Electronics, <k.chander@samsung.com>
11 # See file CREDITS for list of people who contributed to this
14 # This program is free software; you can redistribute it and/or
15 # modify it under the terms of the GNU General Public License as
16 # published by the Free Software Foundation; either version 2 of
17 # the License, or (at your option) any later version.
19 # This program is distributed in the hope that it will be useful,
20 # but WITHOUT ANY WARRANTY; without even the implied warranty of
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 # GNU General Public License for more details.
24 # You should have received a copy of the GNU General Public License
25 # along with this program; if not, write to the Free Software
26 # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
32 include $(TOPDIR)/config.mk
34 LDSCRIPT= $(TOPDIR)/mmc_spl/board/$(BOARDDIR)/u-boot.lds
35 LDFLAGS = -Bstatic -T $(mmcobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(PLATFORM_LDFLAGS)
36 AFLAGS += -DCONFIG_MMC_SPL
37 CFLAGS += -DCONFIG_MMC_SPL
38 CFLAGS += -DCONFIG_PRELOADER
40 SOBJS = start.o mem_setup.o lowlevel_init.o
43 SRCS := $(addprefix $(obj),$(SOBJS:.o=.S) $(COBJS:.o=.c))
44 OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
45 __OBJS := $(SOBJS) $(COBJS)
46 LNDIR := $(OBJTREE)/mmc_spl/board/$(BOARDDIR)
48 mmcobj := $(OBJTREE)/mmc_spl/
51 MKV310_MMC_SPL_EXEC = mkv310_mmc_spl_exec
52 MMC_SPL_BIN = u-boot-mmc-spl.bin
54 ALL = $(mmcobj)u-boot-spl $(mmcobj)u-boot-spl.bin $(mmcobj)$(MMC_SPL_BIN)
56 all: $(obj).depend $(ALL)
58 $(mmcobj)$(MMC_SPL_BIN): $(mmcobj)u-boot-spl.bin tools/$(MKV310_MMC_SPL_EXEC)
59 ./tools/$(MKV310_MMC_SPL_EXEC) $(mmcobj)u-boot-spl.bin $(mmcobj)$(MMC_SPL_BIN)
60 rm -f tools/$(MKV310_MMC_SPL_EXEC)
62 tools/$(MKV310_MMC_SPL_EXEC): tools/mkv310_image.c
63 $(HOSTCC) tools/mkv310_image.c -o tools/$(MKV310_MMC_SPL_EXEC)
65 $(mmcobj)u-boot-spl.bin: $(mmcobj)u-boot-spl
66 $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
68 $(mmcobj)u-boot-spl: $(OBJS) $(mmcobj)u-boot.lds
69 cd $(LNDIR) && $(LD) $(LDFLAGS) $(__OBJS) \
70 -Map $(mmcobj)u-boot-spl.map \
71 -o $(mmcobj)u-boot-spl
73 $(mmcobj)u-boot.lds: $(LDSCRIPT)
74 $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@
76 # create symbolic links for common files
81 @ln -s $(TOPDIR)/arch/arm/cpu/armv7/start.S $@
83 # from board directory
86 @ln -s $(TOPDIR)/board/samsung/smdkv310/mem_setup.S $@
88 $(obj)lowlevel_init.S:
90 @ln -s $(TOPDIR)/board/samsung/smdkv310/lowlevel_init.S $@
92 #########################################################################
95 $(CC) $(AFLAGS) -c -o $@ $<
98 $(CC) $(CFLAGS) -c -o $@ $<
100 # defines $(obj).depend target
101 include $(SRCTREE)/rules.mk
103 sinclude $(obj).depend
105 #########################################################################