aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorgbc dev <gbc@localhost>2026-07-04 22:05:31 +0200
committergbc dev <gbc@localhost>2026-07-04 22:05:31 +0200
commit0d0f4f1d23851c0c34e518834f7d316e61dec1f3 (patch)
treee46296c247617ee0ead1fb93e9d0dc475a07f9b9 /Makefile
downloadsl0pboy-0d0f4f1d23851c0c34e518834f7d316e61dec1f3.tar.gz
sl0pboy-0d0f4f1d23851c0c34e518834f7d316e61dec1f3.tar.xz
sl0pboy-0d0f4f1d23851c0c34e518834f7d316e61dec1f3.zip
scaffolding: build system, cartridge loader with MBC1/2/3/5, core types
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile27
1 files changed, 27 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..0d79c1f
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,27 @@
+CC := gcc
+CFLAGS := -std=c11 -O2 -Wall -Wextra -Wno-unused-parameter -g
+LDFLAGS :=
+SRCDIR := src
+BUILD := build
+SRCS := $(wildcard $(SRCDIR)/*.c)
+OBJS := $(patsubst $(SRCDIR)/%.c,$(BUILD)/%.o,$(SRCS))
+BIN := $(BUILD)/gbc
+
+.PHONY: all clean run
+
+all: $(BIN)
+
+$(BIN): $(OBJS)
+ $(CC) $(CFLAGS) $(OBJS) -o $@ $(LDFLAGS)
+
+$(BUILD)/%.o: $(SRCDIR)/%.c | $(BUILD)
+ $(CC) $(CFLAGS) -c $< -o $@
+
+$(BUILD):
+ mkdir -p $(BUILD)
+
+clean:
+ rm -rf $(BUILD)
+
+run: $(BIN)
+ $(BIN) $(ROM)