blob: 243dc22a0c61470e9c01ca8542f0884168eafc89 [file] [log] [blame]
Mike Frysinger9171fc82008-03-30 15:46:13 -04001#
2# U-boot - Makefile
3#
4# Copyright (c) 2005-2008 Analog Device Inc.
5#
6# (C) Copyright 2000-2006
7# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
8#
9# Licensed under the GPL-2 or later.
10#
11
Masahiro Yamada36fde452013-10-21 11:53:36 +090012extra-y := init.elf
13extra-y += initcode.o
14extra-y += start.o
15obj-y := interrupt.o cache.o
16obj-y += cpu.o
Tom Rinic0bb1102013-11-04 09:28:08 -050017obj-y += gpio.o
Masahiro Yamada36fde452013-10-21 11:53:36 +090018obj-y += interrupts.o
19obj-$(CONFIG_JTAG_CONSOLE) += jtag-console.o
20obj-y += os_log.o
21obj-y += reset.o
22obj-y += traps.o
Mike Frysinger9171fc82008-03-30 15:46:13 -040023
Masahiro Yamada36fde452013-10-21 11:53:36 +090024extra-y += check_initcode
Mike Frysinger9171fc82008-03-30 15:46:13 -040025
Masahiro Yamada36fde452013-10-21 11:53:36 +090026extra-y += bootrom-asm-offsets.h
Mike Frysinger9171fc82008-03-30 15:46:13 -040027$(obj)bootrom-asm-offsets.c: bootrom-asm-offsets.c.in bootrom-asm-offsets.awk
28 echo '#include <asm/mach-common/bits/bootrom.h>' | $(CPP) $(CPPFLAGS) - | gawk -f ./bootrom-asm-offsets.awk > $@.tmp
29 mv $@.tmp $@
30$(obj)bootrom-asm-offsets.s: $(obj)bootrom-asm-offsets.c
31 $(CC) $(CFLAGS) -S $^ -o $@.tmp
32 mv $@.tmp $@
33$(obj)bootrom-asm-offsets.h: $(obj)bootrom-asm-offsets.s
34 sed -ne "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}" $^ > $@
35
36# make sure our initcode (which goes into LDR) does not
37# have relocs or external references
Mike Frysinger6957a622008-10-24 18:18:16 -040038$(obj)initcode.o: CFLAGS += -fno-function-sections -fno-data-sections
Mike Frysinger9171fc82008-03-30 15:46:13 -040039READINIT = env LC_ALL=C $(CROSS_COMPILE)readelf -s $<
Masahiro Yamada36fde452013-10-21 11:53:36 +090040$(obj)check_initcode: $(obj)initcode.o
Mike Frysinger9171fc82008-03-30 15:46:13 -040041ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS)
42 @if $(READINIT) | grep '\<GLOBAL\>.*\<UND\>' ; then \
43 echo "$< contains external references!" 1>&2 ; \
44 exit 1 ; \
45 fi
46endif
47
Mike Frysingerfb5166c2011-05-07 17:55:04 -040048$(obj)init.lds: init.lds.S
49 $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P $^ -o $@
50$(obj)init.elf: $(obj)init.lds $(obj)init.o $(obj)initcode.o
51 $(LD) $(LDFLAGS) -T $^ -o $@