-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
38 lines (28 loc) · 737 Bytes
/
Makefile
File metadata and controls
38 lines (28 loc) · 737 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
AS := rgbasm
LD := rgblink
FIX := rgbfix
GBEMU ?= bgb
TARGET := memview
OUTDIR := output
SRCROOT := src
SRCDIRS := .
INCDIR := inc
OBJDIR := $(OUTDIR)/obj
BINDIR := $(OUTDIR)/bin
IGNORE :=
SRC := $(filter-out $(IGNORE),$(foreach dir,$(SRCDIRS),$(sort $(wildcard $(addprefix $(SRCROOT)/,$(dir))/*.z80))))
OBJ := $(patsubst $(SRCROOT)/%.z80,$(OBJDIR)/%.o, $(SRC))
.PHONY: all clean run
all: $(TARGET)
$(TARGET): $(OBJ) | $(BINDIR)
$(LD) -m $(BINDIR)/$@.map -n $(BINDIR)/$@.sym -o $(BINDIR)/$@.gb $^
$(FIX) -p0 -v $(BINDIR)/$@.gb
$(OBJ): $(OBJDIR)/%.o: $(SRCROOT)/%.z80 | $(OBJDIR)
mkdir -p $(@D)
$(AS) -i $(INCDIR)/ -o $@ $<
$(BINDIR) $(OBJDIR):
mkdir -p $@
clean:
rm -Rf $(OUTDIR)
run: $(BINDIR)/$(TARGET).gb
$(GBEMU) $<