• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1include cfg.mk
2
3export CROSS_COMPILE := $(shell pwd)/../../../../../../../prebuilts/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-
4
5export CC := $(CROSS_COMPILE)gcc
6export AR := $(CROSS_COMPILE)ar
7export RANLIB := $(CROSS_COMPILE)ranlib
8export LD := $(CROSS_COMPILE)ld
9export OBJCOPY := $(CROSS_COMPILE)objcopy
10export OBJDUMP := $(CROSS_COMPILE)objdump
11
12CSRC  = $(wildcard *.c)
13SSRC  = $(wildcard *.S)
14
15OBJS := $(patsubst %.c,%.o,$(CSRC) )
16OBJS += $(patsubst %.S,%.o,$(SSRC) )
17
18export CFLAGS := -fno-builtin -fno-common
19CFLAGS += -Wall -D__KERNEL__ -DTEXT_BASE=$(TEXT_BASE)
20CFLAGS += -I$(PWD)/include/
21
22CFLAGS += -march=armv7-a
23CFLAGS += -mno-unaligned-access
24
25CFLAGS += -c
26
27CFLAGS += -O2
28
29TARGET = ddr_init
30
31LDSCRIPT := linker.lds
32LDFLAGS := -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE)
33LDFLAGS += drv/libdrv.a
34
35.SILENT:
36
37default:
38	make -C drv/
39	make -C boot/
40	sed -e 's/RAM_BASE/$(RAM_BASE)/' \
41		$(LDSCRIPT).mk > $(LDSCRIPT)
42
43	echo "  LD    $(OBJS) -Map $(TARGET).map -o $(TARGET)"
44	$(LD) $(OBJS) $(LDFLAGS) -Map $(TARGET).map -o $(TARGET)
45	$(OBJCOPY) -O binary $(TARGET) $(TARGET).bin
46
47	mkdir -p ./out
48	$(OBJDUMP) -D $(TARGET) > deasm.s
49	cp $(TARGET).map ./out
50	mv deasm.s ./out
51
52clean:
53	echo "  rm    boot/*.o"
54	make -C boot/ clean
55	echo "  rm    drv/*.o libdrv.a"
56	make -C drv/ clean
57	echo "  rm    $(TARGET) $(TARGET).bin* ./out"
58	rm -rf $(TARGET) $(TARGET).map $(TARGET).bin* ./out
59
60