initial version
[glsdk/dra7xx-umlo.git] / Makefile
1 #
2 # SPDX-License-Identifier:      BSD-3-Clause
3 #
4 CROSS_COMPILE=arm-none-eabi-
5 CC=$(CROSS_COMPILE)gcc
6 AS=$(CROSS_COMPILE)as
7 LD=$(CROSS_COMPILE)gcc
8 OBJCOPY=$(CROSS_COMPILE)objcopy
10 # Build options for development
11 # CONFIG_UMLO_BASE=0x40300000
12 # CFLAGS=-O0 -g
14 # Build options for release
15 CONFIG_UMLO_BASE=0x40330000
16 CFLAGS=-Os -fdata-sections -ffunction-sections -mcpu=cortex-a15
18 OUTPUTS=umlo.elf umlo.bin umlo
20 DEBUG_OUTPUTS=sym_map.txt disasm.txt
22 all: $(OUTPUTS)
23 COBJS=startup.o main.o
25 # -Wl,--print-gc-sections Add this to debug pruned sections
27 umlo.elf: linker.ld $(COBJS)
28         $(LD) -Wl,--defsym,CONFIG_UMLO_BASE=$(CONFIG_UMLO_BASE) \
29                 -T linker.ld $(COBJS) \
30                 -nostdlib -lgcc -o $@ -Wl,--gc-sections
31         du -b $@
33 umlo.bin: umlo.elf
34         $(OBJCOPY) -O binary $< $@
35         du -b $@
37 umlo: umlo.bin mkimage
38         ./mkimage -a $(CONFIG_UMLO_BASE) $< $@
39         du -b $@
41 mkimage: mkimage.c
42         gcc mkimage.c -o mkimage
44 sym_map.txt: umlo.elf
45         readelf -a $< > $@
47 disasm.txt : umlo.elf
48         arm-linux-gnueabihf-objdump -S $< > $@
50 clean:
51         rm -f *.o
52         rm -f $(OUTPUTS) $(DEBUG_OUTPUTS)
53         rm -f mkimage