X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=arch%2Fblackfin%2Fcpu%2FMakefile;h=cfbcd3124fd482a65058861e61d72249f91c2a5e;hb=4564faeafbf11feb839e2e3f927be2f1a919ba96;hp=5deaa9e6a28fa0b9a4ac44e8557609d7e0bd2353;hpb=fb5166ce35de489c8a96f3696e208eaae6a5a8d8;p=oweals%2Fu-boot.git diff --git a/arch/blackfin/cpu/Makefile b/arch/blackfin/cpu/Makefile index 5deaa9e6a2..cfbcd3124f 100644 --- a/arch/blackfin/cpu/Makefile +++ b/arch/blackfin/cpu/Makefile @@ -9,51 +9,26 @@ # Licensed under the GPL-2 or later. # -include $(TOPDIR)/config.mk - -LIB = $(obj)lib$(CPU).o - -EXTRA := init.elf -CEXTRA := initcode.o -SEXTRA := start.o -SOBJS := interrupt.o cache.o -COBJS-$(CONFIG_BOOTCOUNT_LIMIT) += bootcount.o -COBJS-y += cpu.o -COBJS-y += gpio.o -COBJS-y += interrupts.o -COBJS-$(CONFIG_JTAG_CONSOLE) += jtag-console.o -COBJS-y += os_log.o -COBJS-y += reset.o -COBJS-y += serial.o -COBJS-y += traps.o -COBJS-$(CONFIG_HW_WATCHDOG) += watchdog.o - -SRCS := $(SEXTRA:.o=.S) $(SOBJS:.o=.S) $(COBJS-y:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS-y) $(SOBJS)) -EXTRA := $(addprefix $(obj),$(EXTRA)) -CEXTRA := $(addprefix $(obj),$(CEXTRA)) -SEXTRA := $(addprefix $(obj),$(SEXTRA)) - -all: $(obj).depend $(LIB) $(obj).depend $(EXTRA) $(CEXTRA) $(SEXTRA) check_initcode - -$(LIB): $(OBJS) - $(call cmd_link_o_target, $(OBJS)) - -$(OBJS): $(obj)bootrom-asm-offsets.h -$(obj)bootrom-asm-offsets.c: bootrom-asm-offsets.c.in bootrom-asm-offsets.awk - echo '#include ' | $(CPP) $(CPPFLAGS) - | gawk -f ./bootrom-asm-offsets.awk > $@.tmp - mv $@.tmp $@ -$(obj)bootrom-asm-offsets.s: $(obj)bootrom-asm-offsets.c - $(CC) $(CFLAGS) -S $^ -o $@.tmp - mv $@.tmp $@ -$(obj)bootrom-asm-offsets.h: $(obj)bootrom-asm-offsets.s - sed -ne "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}" $^ > $@ +extra-y := init.elf +extra-y += initcode.o +extra-y += start.o +obj-y := interrupt.o cache.o +obj-y += cpu.o +obj-y += gpio.o +obj-y += interrupts.o +obj-$(CONFIG_JTAG_CONSOLE) += jtag-console.o +obj-y += os_log.o +obj-y += reset.o +obj-y += traps.o + +extra-y += check_initcode +clean-files := init.lds # make sure our initcode (which goes into LDR) does not # have relocs or external references -$(obj)initcode.o: CFLAGS += -fno-function-sections -fno-data-sections +CFLAGS_REMOVE_initcode.o := -ffunction-sections -fdata-sections READINIT = env LC_ALL=C $(CROSS_COMPILE)readelf -s $< -check_initcode: $(obj)initcode.o +$(obj)/check_initcode: $(obj)/initcode.o ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS) @if $(READINIT) | grep '\.*\' ; then \ echo "$< contains external references!" 1>&2 ; \ @@ -61,16 +36,10 @@ ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS) fi endif -$(obj)init.lds: init.lds.S - $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P $^ -o $@ -$(obj)init.elf: $(obj)init.lds $(obj)init.o $(obj)initcode.o - $(LD) $(LDFLAGS) -T $^ -o $@ - -######################################################################### - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend +CPPFLAGS_init.lds := -ansi -######################################################################### +quiet_cmd_link_init = LD $@ + cmd_link_init = $(LD) $(LDFLAGS) -T $^ -o $@ +$(obj)/init.elf: $(obj)/init.lds $(obj)/init.o $(obj)/initcode.o + $(call if_changed,link_init) +targets += init.lds init.o