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