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