serial terminal
[retrocrawl] / Makefile.amiga
1 src = $(wildcard src/*.c) \
2           $(wildcard src/amiga/*.c)
3 asrc = $(wildcard src/*.s) \
4            $(wildcard src/amiga/*.s) \
5            $(wildcard src/amiga/libc/*.s)
6 obj = $(src:.c=.o) $(asrc:.s=.o) 
7 dep = $(src:.c=.d)
8
9 name = retrocrawl
10 elf = $(name).elf
11 bin = $(name).bin
12 adf = $(name).adf
13 bootblock = boot.bin
14
15 tool_prefix = m68k-linux-gnu-
16
17 CC = $(tool_prefix)gcc
18 AS = $(tool_prefix)as
19 LD = $(tool_prefix)ld
20 OBJCOPY = $(tool_prefix)objcopy
21
22 inc = -Isrc -Isrc/amiga -Isrc/amiga/libc
23
24 ASFLAGS = -m68000
25 CFLAGS = -m68000 -ffreestanding -pedantic -Wall -Os $(inc)
26 LDFLAGS = -T amiga.ld -print-gc-sections \
27                   -L/usr/lib/gcc-cross/m68k-linux-gnu/6 -lgcc
28
29 $(adf): $(bin) $(bootblock)
30         tools/mk_adf.py $(bootblock) $(bin) $@
31
32 $(bin): $(elf)
33         $(OBJCOPY) -O binary $< $@
34
35 $(elf): $(obj)
36         $(LD) -o $@ $(obj) -Map link.map $(LDFLAGS)
37
38 $(bootblock): src/amiga/boot/boot.o
39         $(OBJCOPY) -O binary $< $@
40
41 -include $(dep)
42
43 %.d: %.c
44         @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
45
46 .PHONY: clean
47 clean:
48         rm -f $(obj) src/amiga/boot/boot.o $(bin) $(elf)
49
50 .PHONY: cleandep
51 cleandep:
52         rm -f $(dep)
53
54 .PHONY: run
55 run:
56         fs-uae