X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=blobdiff_plain;f=arch%2Fblackfin%2Fcpu%2FMakefile;h=cfbcd3124fd482a65058861e61d72249f91c2a5e;hp=b7f991dea04959c5959b7b43a9c66fd871a2217d;hb=3d5920a31bb846249385e1ca5c086662c39bc44e;hpb=cb8f0317295482b1a48802778a6927510cb145ba diff --git a/arch/blackfin/cpu/Makefile b/arch/blackfin/cpu/Makefile index b7f991dea0..cfbcd3124f 100644 --- a/arch/blackfin/cpu/Makefile +++ b/arch/blackfin/cpu/Makefile @@ -9,56 +9,26 @@ # Licensed under the GPL-2 or later. # -include $(TOPDIR)/config.mk - -LIB = $(obj)lib$(CPU).a - -EXTRA := -CEXTRA := initcode.o -SEXTRA := start.o -SOBJS := interrupt.o cache.o -COBJS-$(CONFIG_BOOTCOUNT_LIMIT) += bootcount.o -COBJS-$(CONFIG_CMD_GPIO) += cmd_gpio.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 - -ifeq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS) -COBJS-y += initcode.o -endif - -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) - $(AR) $(ARFLAGS) $@ $(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 ; \ @@ -66,11 +36,10 @@ ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS) fi endif -######################################################################### - -# 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