32x mostly works
[megadrive.git] / testpico / Makefile
... / ...
CommitLineData
1CROSS = m68k-elf-
2HOSTCC = gcc
3CC = $(CROSS)gcc
4AS = $(CROSS)as
5LD = $(CROSS)ld
6OBJCOPY = $(CROSS)objcopy
7
8CROSS_SH = sh-elf-
9CC_SH = $(CROSS_SH)gcc
10LD_SH = $(CROSS_SH)ld
11OBJCOPY_SH = $(CROSS_SH)objcopy
12
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
16#CFLAGS += -DPICO
17LDLIBS += $(shell $(CC) -print-file-name=libgcc.a)
18
19TARGET = testpico
20OBJS = sega_gcc.o main.o asmtools.o
21
22all: $(TARGET).bin
23
24$(TARGET).elf: $(OBJS)
25 $(LD) -o $@ -Tsega.ld -Map $(TARGET).map $^ $(LDLIBS)
26
27clean:
28 $(RM) $(TARGET).bin $(OBJS) *.elf *.map fill
29 $(RM) *.lst *.bin80 *.osh *.binsh
30
31$(TARGET).bin: $(TARGET).elf fill
32 $(OBJCOPY) -I elf32-m68k -O binary $< $@
33 ./fill $@
34
35fill: fill.c
36 $(HOSTCC) -o $@ $^ -Wall -O2
37
38%.o: %.S
39 $(CC) -c -o $@ $^ $(CFLAGS) $(ASFLAGS_CC)
40
41%.bin80: %.s80
42 sjasm $< $@
43
44# sh2
45TARGET_SH = sh2_test
46OBJS_SH = sh2_test.osh sh2_main.osh
47
48CFLAGS_SH = -m2 -mb -O2 -Wall
49
50%.binsh: %.elf
51 $(OBJCOPY_SH) -O binary $< $@
52
53$(TARGET_SH).elf: $(OBJS_SH)
54 $(LD_SH) -o $@ $^ -Tmars.ld -Map $(TARGET_SH).map -nostdlib
55
56%.osh: %.sh2
57 $(CC_SH) -o $@ -c -x assembler $< $(CFLAGS_SH)
58
59%.osh: %.c
60 $(CC_SH) -o $@ -c $< $(CFLAGS_SH)
61
62# manual deps
63sega_gcc.o: z80_test.bin80
64sega_gcc.o: sh2_test.binsh
65
66up: $(TARGET).bin
67 scp $< root@router:/tmp/
68
69.PHONY: all clean