1 csrc = $(wildcard src/*.c) $(wildcard src/libc/*.c)
2 asrc = $(wildcard src/*.s)
3 aSsrc = $(wildcard src/*.S)
4 obj = $(asrc:.s=.o) $(aSsrc:.S=.o) $(csrc:.c=.o)
7 z80src = $(wildcard src/z80/*.asm)
8 z80obj = $(z80src:.asm=.z80)
15 warn = -pedantic -Wall
19 inc = -I. -Isrc -Isrc/libc
26 OBJCOPY = $(TC)objcopy
28 CFLAGS = -m68000 -ffreestanding -fno-builtin -fcommon $(warn) $(dbg) $(opt) $(def) $(inc) -MMD
30 ASFLAGS = -m68000 $(inc)
31 LDFLAGS = -T megadrive.ld -print-gc-sections \
32 -L/usr/lib/gcc-cross/m68k-linux-gnu/11 -lgcc
34 Z80AS = vasmz80_oldstyle
37 Z80LDFLAGS = -T z80.ld -b rawbin1
41 $(OBJCOPY) -O binary $< $@
44 $(LD) -o $@ $(obj) -Map link.map $(LDFLAGS)
47 $(Z80LD) -o $@ $(Z80LDFLAGS) $(z80obj)
49 src/z80prog.o: src/z80prog.s $(z80bin)
54 $(Z80AS) -o $@ $(Z80ASFLAGS) $< >/dev/null
58 rm -f $(obj) $(elf) $(bin)
59 rm -f $(z80obj) $(z80bin)
71 mount /media/usbmass && cp $(bin) /media/usbmass/$(bin)
77 [ -f /media/usbmass/MEGA/MEGA.RBF ] || cp $(bin) /media/usbmass/MEGA/MEGA.BIN