summaryrefslogtreecommitdiff
path: root/1_hello_world/Makefile
diff options
context:
space:
mode:
Diffstat (limited to '1_hello_world/Makefile')
-rw-r--r--1_hello_world/Makefile25
1 files changed, 25 insertions, 0 deletions
diff --git a/1_hello_world/Makefile b/1_hello_world/Makefile
new file mode 100644
index 0000000..c66436d
--- /dev/null
+++ b/1_hello_world/Makefile
@@ -0,0 +1,25 @@
+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)