fixed missing COMMON from .bss zeroing, using new toolchain and link
[mdlife] / Makefile
index 266226b..107e9d9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -14,11 +14,12 @@ bin = $(name).bin
 
 warn = -pedantic -Wall
 dbg = -g
-opt = -O2
+opt = -O3
 def = -D__NO_CTYPE
 inc = -I. -Isrc -Isrc/libc
 
-TC = m68k-elf-
+ARCH = m68k-elf
+TC = $(ARCH)-
 
 CC = $(TC)gcc
 AS = $(TC)as
@@ -29,7 +30,7 @@ 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
+LDFLAGS = -T megadrive.ld -Wl,-print-gc-sections -nostdlib -lgcc
 
 Z80AS = vasmz80_oldstyle
 Z80ASFLAGS = -Fvobj
@@ -41,7 +42,7 @@ $(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)