testpico: check busy after dma
[megadrive.git] / testpico / Makefile
CommitLineData
ffd4b35c 1CROSS = m68k-elf-
2HOSTCC = gcc
3CC = $(CROSS)gcc
4AS = $(CROSS)as
5LD = $(CROSS)ld
6OBJCOPY = $(CROSS)objcopy
7
9d39a80e 8CROSS_SH = sh-elf-
9CC_SH = $(CROSS_SH)gcc
10LD_SH = $(CROSS_SH)ld
11OBJCOPY_SH = $(CROSS_SH)objcopy
12
ffd4b35c 13ASFLAGS += -m68000 --register-prefix-optional --bitwise-or -pic
14ASFLAGS_CC += -Wa,-m68000 -Wa,--register-prefix-optional -Wa,--bitwise-or -Wa,-pic
15CFLAGS += -Wall -g -O2 -m68000 -fomit-frame-pointer
234c4556 16LDLIBS_LIBGCC := $(shell $(CC) -print-file-name=libgcc.a)
17LDLIBS += $(LDLIBS_LIBGCC)
18
31bdf771 19ifeq ($(shell m68k-elf-gcc -dD -E -c - --param=min-pagesize=0 < /dev/null > /dev/null 2>&1 && echo ok),ok)
20CFLAGS += --param=min-pagesize=0
21endif
22
234c4556 23SUFFIX := $(shell git describe --always --dirty)
24ifdef PICO
25CFLAGS += -DPICO
26SUFFIX := $(SUFFIX)-for-pd
27endif
28TARGET_BASE = testpico
29TARGET = $(TARGET_BASE)-$(SUFFIX)
71b41fdd 30OBJS = sega_gcc.o main.o asmtools.o
ffd4b35c 31
32all: $(TARGET).bin
33
34$(TARGET).elf: $(OBJS)
234c4556 35 $(LD) -o $@ -Tsega.ld -Map $(TARGET_BASE).map $^ $(LDLIBS)
ffd4b35c 36
37clean:
234c4556 38 $(RM) $(TARGET_BASE)*.bin $(OBJS) *.elf *.map fill
9d39a80e 39 $(RM) *.lst *.bin80 *.osh *.binsh
ffd4b35c 40
41$(TARGET).bin: $(TARGET).elf fill
42 $(OBJCOPY) -I elf32-m68k -O binary $< $@
43 ./fill $@
44
45fill: fill.c
46 $(HOSTCC) -o $@ $^ -Wall -O2
47
48%.o: %.S
cc7e5122 49 $(CC) -c -o $@ $^ $(CFLAGS) $(ASFLAGS_CC)
ffd4b35c 50
51%.bin80: %.s80
52 sjasm $< $@
53
9d39a80e 54# sh2
55TARGET_SH = sh2_test
56OBJS_SH = sh2_test.osh sh2_main.osh
57
58CFLAGS_SH = -m2 -mb -O2 -Wall
59
60%.binsh: %.elf
61 $(OBJCOPY_SH) -O binary $< $@
62
63$(TARGET_SH).elf: $(OBJS_SH)
64 $(LD_SH) -o $@ $^ -Tmars.ld -Map $(TARGET_SH).map -nostdlib
65
66%.osh: %.sh2
67 $(CC_SH) -o $@ -c -x assembler $< $(CFLAGS_SH)
68
69%.osh: %.c
70 $(CC_SH) -o $@ -c $< $(CFLAGS_SH)
71
ffd4b35c 72# manual deps
71b41fdd 73sega_gcc.o: z80_test.bin80
9d39a80e 74sega_gcc.o: sh2_test.binsh
75
76up: $(TARGET).bin
77 scp $< root@router:/tmp/
ffd4b35c 78
79.PHONY: all clean