c931f47d20eec9e0bb3addc4f36b7cb1e27ed19e
[kernel/u-boot.git] / recovery / Makefile
1 #
2 #  Samsung Universal(S5PC110) board Recovery block
3 #
4 #  Copyright (C) 2010 Samsung Electronics
5 #  Minkyu Kang <mk7.kang@samsung.com>
6 #  Kyungmin Park <kyungmin.park@samsung.com>
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
14 include $(TOPDIR)/config.mk
15
16 recoveryobj := $(OBJTREE)/recovery/
17 RECOVERYCFG := $(recoveryobj)board/$(BOARDDIR)/config.mk
18 include $(RECOVERYCFG)
19
20 LDSCRIPT = board/$(BOARDDIR)/recovery.lds
21 LDSCRIPT := $(addprefix $(recoveryobj),$(LDSCRIPT))
22 LDFLAGS = -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS)
23 OBJCFLAGS += --gap-fill=0x00
24
25 OBJS = recovery.o
26 OBJS += onenand.o
27 OBJS += usbd.o
28
29 SRCS := $(OBJS:.o=.c)
30 OBJS := $(addprefix $(obj),$(OBJS))
31
32 LIBS = drivers/onenand/libonenand.a
33 LIBS := $(addprefix $(recoveryobj),$(LIBS))
34
35 LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).a
36 LIBBOARD := $(addprefix $(recoveryobj),$(LIBBOARD))
37
38 # Add GCC lib
39 PLATFORM_LIBGCC = -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
40
41 __OBJS := $(subst $(obj),,$(OBJS))
42 __LIBS := $(subst $(obj),,$(LIBS)) $(subst $(obj),,$(LIBBOARD))
43
44 #########################################################################
45 #########################################################################
46
47 ALL     = $(recoveryobj)recovery $(recoveryobj)recovery.bin $(recoveryobj)recovery-256k.bin
48
49 all:    $(obj).depend $(ALL)
50
51 $(recoveryobj)recovery-256k.bin:        $(recoveryobj)recovery
52         $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(TEXT_BASE_256K) -O binary $< $@
53         cat $(OBJTREE)/onenand_ipl/onenand-ipl-16k-evt0.bin $@ > $(recoveryobj)recovery-evt0.bin
54         cat $(OBJTREE)/onenand_ipl/onenand-ipl-16k-fused.bin $@ > $(recoveryobj)recovery-fused.bin
55         cat $(OBJTREE)/onenand_ipl/onenand-ipl-16k.bin $@ > $(recoveryobj)recovery-evt1.bin
56
57 $(recoveryobj)recovery.bin:     $(recoveryobj)recovery
58         $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
59
60 $(recoveryobj)recovery: $(obj).depend $(OBJS) $(LIBS) $(LIBBOARD) $(RECOVERYCFG)
61         $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \
62                 --start-group $(__LIBS) --end-group $(PLATFORM_LIBGCC) \
63                 -Map $@.map -o $@
64
65 $(LIBS):
66         $(MAKE) -C $(dir $(subst $(obj),,$@))
67
68 $(LIBBOARD):    $(LIBS)
69         $(MAKE) -C $(dir $(subst $(obj),,$@))
70
71 #########################################################################
72
73 include $(SRCTREE)/rules.mk
74
75 sinclude $(obj).depend
76
77 #########################################################################