csrc = $(wildcard src/*.c) $(wildcard src/libc/*.c) asrc = $(wildcard src/*.s) aSsrc = $(wildcard src/*.S) obj = $(asrc:.s=.o) $(aSsrc:.S=.o) $(csrc:.c=.o) dep = $(csrc:.c=.d) name = megatris elf = $(name).elf bin = $(name).bin warn = -pedantic -Wall dbg = -g opt = -O2 def = -DGAMENAME=\"megatris\" -DVERSTR=\"01\" -D__NO_CTYPE inc = -I. -Isrc -Isrc/libc tool_prefix = m68k-linux-gnu- CC = $(tool_prefix)gcc AS = $(tool_prefix)as LD = $(tool_prefix)ld OBJCOPY = $(tool_prefix)objcopy CFLAGS = -m68000 -ffreestanding -fno-builtin $(warn) $(dbg) $(opt) $(def) $(inc) CPPFLAGS = $(def) ASFLAGS = -m68000 $(inc) LDFLAGS = -T megadrive.ld -print-gc-sections -L/usr/lib/gcc-cross/m68k-linux-gnu/6 -lgcc $(bin): $(elf) $(OBJCOPY) -O binary $< $@ $(elf): $(obj) $(LD) -o $@ $(obj) -Map link.map $(LDFLAGS) #tun_data.h: tunnel.ppm # cat $< | tools/ppm2md tun_ >$@ -include $(dep) %.d: %.c @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@ .PHONY: clean clean: rm -f $(obj) $(elf) $(bin) .PHONY: cleandep cleandep: rm -f $(dep) .PHONY: run run: $(bin) gens-sdl $< .PHONY: copy copy: $(bin) mount /media/usbmass && cp $(bin) /media/usbmass/$(bin) umount /media/usbmass .PHONY: install install: $(bin) mount /media/usbmass [ -f /media/usbmass/MEGA/MEGA.RBF ] || cp $(bin) /media/usbmass/MEGA/MEGA.BIN umount /media/usbmass