X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=Makefile;h=6c173f86b8cf2c520a07f5d43fff01a8e7b07da4;hb=dc2165689855c0517d30fb10c1b71464e42d8b6b;hp=e6043d4b713bf89f8180717ff28f5db6cdb2788c;hpb=94fd86135077db5979af3694cf427dff6ff4df0c;p=mdlife diff --git a/Makefile b/Makefile index e6043d4..6c173f8 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ 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) +asrc = $(wildcard src/*.s) $(wildcard src/libc/*.s) +aSsrc = $(wildcard src/*.S) $(wildcard src/libc/*.S) +obj = $(asrc:.s=-asm.o) $(aSsrc:.S=-asm.o) $(csrc:.c=.o) +dep = $(csrc:.c=.d) $(aSsrc:.S=-asm.d) z80src = $(wildcard src/z80/*.asm) z80obj = $(z80src:.asm=.z80) @@ -14,22 +14,23 @@ bin = $(name).bin warn = -pedantic -Wall dbg = -g -opt = -O2 +opt = -O3 def = -D__NO_CTYPE inc = -I. -Isrc -Isrc/libc -TC = m68k-linux-gnu- +ARCH = m68k-elf +TC = $(ARCH)- CC = $(TC)gcc AS = $(TC)as LD = $(TC)ld OBJCOPY = $(TC)objcopy +OBJDUMP = $(TC)objdump CFLAGS = -m68000 -ffreestanding -fno-builtin -fcommon $(warn) $(dbg) $(opt) $(def) $(inc) -MMD CPPFLAGS = $(def) ASFLAGS = -m68000 $(inc) -LDFLAGS = -T megadrive.ld -print-gc-sections \ - -L/usr/lib/gcc-cross/m68k-linux-gnu/11 -lgcc +LDFLAGS = -T megadrive.ld -Wl,-print-gc-sections -nostdlib -lgcc Z80AS = vasmz80_oldstyle Z80ASFLAGS = -Fvobj @@ -41,15 +42,28 @@ $(bin): $(elf) $(OBJCOPY) -O binary $< $@ $(elf): $(obj) - $(LD) -o $@ $(obj) -Map link.map $(LDFLAGS) + $(CC) -o $@ $(obj) -Wl,-Map,link.map $(LDFLAGS) $(z80bin): $(z80obj) $(Z80LD) -o $@ $(Z80LDFLAGS) $(z80obj) -src/z80prog.o: src/z80prog.s $(z80bin) +disasm: $(elf) + $(OBJDUMP) -D $< >$@ + +src/data-asm.o: src/data.s data/font8x8.img data/cellspr.img data/simbabg.tiles \ + data/simbafg.tiles +src/z80prog-asm.o: src/z80prog.s $(z80bin) + +data/cellspr.img: data/cellspr.png -include $(dep) +%-asm.o: %.s + $(AS) -o $@ $(ASFLAGS) $< + +%-asm.o: %.S + $(CC) -o $@ $(ASFLAGS) -DASM -MMD -c $< + %.z80: %.asm $(Z80AS) -o $@ $(Z80ASFLAGS) $< >/dev/null @@ -77,3 +91,14 @@ install: $(bin) [ -f /media/usbmass/MEGA/MEGA.RBF ] || cp $(bin) /media/usbmass/MEGA/MEGA.BIN umount /media/usbmass +# ---- tools ---- +PNGDUMP = tools/pngdump/pngdump + +$(PNGDUMP): tools/pngdump/main.c tools/pngdump/image.c tools/pngdump/quant.c + $(MAKE) -C tools/pngdump + +%.tiles: %.png $(PNGDUMP) + $(PNGDUMP) -o $@ -oc $(@:.tiles=.cmap) -om $(@:.tiles=.tmap) -T 8x8 -D $< + +%.img: %.png $(PNGDUMP) + $(PNGDUMP) -o $@ -oc $(@:.img=.cmap) -T 8x8 $<