-# (C) Copyright 2000-2002
+# (C) Copyright 2000-2006
# Wolfgang Denk, DENX Software Engineering, wd@denx.de
#
# (C) Copyright 2005
include $(TOPDIR)/config.mk
-LIB = lib$(BOARD).a
+LIB = $(obj)lib$(BOARD).o
-OBJS := voiceblue.o
+COBJS := voiceblue.o
SOBJS := setup.o
-gcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`)
+SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS := $(addprefix $(obj),$(COBJS))
+SOBJS := $(addprefix $(obj),$(SOBJS))
LOAD_ADDR = 0x10400000
-LDSCRIPT = $(TOPDIR)/board/$(BOARDDIR)/eeprom.lds
-all: $(LIB) eeprom.srec eeprom.bin
+#########################################################################
+
+all: $(obj).depend $(LIB) $(obj)eeprom.srec $(obj)eeprom.bin
$(LIB): $(OBJS) $(SOBJS)
- $(AR) crv $@ $(OBJS) $(SOBJS)
+ $(call cmd_link_o_target, $^)
+
+$(obj)eeprom_start.o:
+ echo "b eeprom" | $(CC) $(AFLAGS) -c -x assembler -o $@ -
+
+$(obj)eeprom: $(obj)eeprom_start.o $(obj)eeprom.o
+ $(LD) -Ttext $(LOAD_ADDR) -e eeprom -o $@ $^ \
+ -L$(obj)../../examples/standalone -lstubs \
+ $(PLATFORM_LIBS)
-eeprom.srec: eeprom.o eeprom_start.o
- $(LD) -T $(LDSCRIPT) -g -Ttext $(LOAD_ADDR) \
- -o $(<:.o=) -e $(<:.o=) $^ \
- -L../../examples -lstubs \
- -L../../lib_generic -lgeneric \
- -L$(gcclibdir) -lgcc
- $(OBJCOPY) -O srec $(<:.o=) $@
+$(obj)eeprom.srec: $(obj)eeprom
+ $(OBJCOPY) -S -O srec $(<:.o=) $@
-eeprom.bin: eeprom.srec
- $(OBJCOPY) -I srec -O binary $< $@ 2>/dev/null
+$(obj)eeprom.bin: $(obj)eeprom
+ $(OBJCOPY) -S -O binary $< $@
clean:
- rm -f $(SOBJS) $(OBJS) eeprom eeprom.srec eeprom.bin
+ rm -f $(SOBJS) $(OBJS) $(obj)eeprom \
+ $(obj)eeprom.srec $(obj)eeprom.bin \
+ $(obj)eeprom.o $(obj)eeprom_start.o
distclean: clean
- rm -f $(LIB) core config.tmp *.bak .depend
+ rm -f $(LIB) core *.bak $(obj).depend
#########################################################################
-.depend: Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c)
- $(CC) -M $(CPPFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
--include .depend
+sinclude $(obj).depend
#########################################################################