aboutsummaryrefslogtreecommitdiffstats
path: root/src/ar100/Makefile
blob: a5f6493ad06a4479aa2751ab02ee2b76999e22c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
CROSS_PREFIX=or1k-elf-
dirs-y += src/generic src/ar100 lib/ar100

CFLAGS		+= -O3
CFLAGS		+= -fno-builtin
CFLAGS		+= -fno-pie
CFLAGS		+= -ffreestanding
CFLAGS		+= -msfimm -mshftimm -msoft-div -msoft-mul
CFLAGS		+= -Ilib/ar100
CFLAGS_kutter.elf := $(CFLAGS) -T src/ar100/ar100.ld
CFLAGS_kutter.elf += -Wl,--gc-sections -static
CFLAGS_kutter.elf += -Wl,--no-dynamic-linker

SFLAGS		 = -nostdinc -MMD
SFLAGS		+= -Ilib/ar100

# Add source files
src-y += ar100/main.c ar100/gpio.c ar100/serial.c
src-y += ar100/util.c ar100/timer.c
src-y += generic/crc16_ccitt.c generic/timer_irq.c

OBJS_kutter.elf += $(OUT)lib/ar100/start.o
OBJS_kutter.elf += $(OUT)lib/ar100/runtime.o

# Build the AR100 binary
target-y += $(OUT)ar100.bin

$(OUT)lib/ar100/start.o:
	@echo "  Compiling $@"
	$(Q)$(CC) $(SFLAGS) -c $(PWD)/lib/ar100/start.S -o $@

$(OUT)lib/ar100/runtime.o:
	@echo "  Compiling $@"
	$(Q)$(CC) $(SFLAGS) -c $(PWD)/lib/ar100/runtime.S -o $@

$(OUT)ar100.bin: $(OUT)kutter.elf
	@echo "  Object copy $@"
	$(OBJCOPY) -O binary -S --reverse-bytes 4 $(OUT)kutter.elf $@
	truncate -s %8 $@