WARNFLAGS = -Wall -Wextra -pedantic -Wshadow -Wlogical-op OPTFLAGS = -Os ARCHFLAGS = -m68000 _CFLAGS = $(CFLAGS) $(WARNFLAGS) $(ARCHFLAGS) $(OPTFLAGS) -g3 -ffunction-sections -fdata-sections LDSCRIPTS = m68k.ld _sram.ld _rom.ld _LDFLAGS = $(LDFLAGS) $(OPTFLAGS) $(addprefix -T,$(LDSCRIPTS)) --gc-sections OBJECTS=startup.o main.o .PHONY: all all: hellorom.bin %.bin: %.elf Makefile m68k-none-elf-objcopy -O binary $< $@ hellorom.elf: $(OBJECTS) $(LDSCRIPTS) Makefile m68k-none-elf-ld -o $@ $(OBJECTS) $(_LDFLAGS) OBJECTS: Makefile %.o: %.c Makefile m68k-none-elf-gcc -m68000 -c $< -o $@ $(_CFLAGS) clean: rm -rfv hellorom.elf hellorom.bin $(OBJECTS)