forked from lightbulb-sun/dkl2-practice
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
85 lines (66 loc) · 2.25 KB
/
Makefile
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
.DELETE_ON_ERROR:
ROM = dkl2.gb
BUILD_DIR = build
GFX_DIR = gfx
NAME = dkl2-practice
SOURCE_FILE = $(NAME).asm
GENERATE_MENU = generate-menu.py
MENU_TXT = menu.txt
VERSION = $(GFX_DIR)/version.2bpp
CURSOR = $(GFX_DIR)/cursor.2bpp
IMAGES = $(VERSION) $(CURSOR)
ASFLAGS_STD = -D FRAMECOUNTER=0 -D LAGCOUNTER=0
LDFLAGS_STD = -O $(ROM) -n $(SYMBOL_FILE_STD)
OBJECT_FILE_STD = $(NAME).o
OUTPUT_ROM_STD = $(NAME).gb
SYMBOL_FILE_STD = $(NAME).sym
STD_OBJECTS = $(OBJECT_FILE_STD) $(OUTPUT_ROM_STD) $(SYMBOL_FILE_STD)
NAME_FRAMES = $(NAME)-frames
ASFLAGS_FRAMES = -D FRAMECOUNTER=1 -D LAGCOUNTER=0
LDFLAGS_FRAMES = -O $(ROM) -n $(SYMBOL_FILE_FRAMES)
OBJECT_FILE_FRAMES = $(NAME_FRAMES).o
OUTPUT_ROM_FRAMES = $(NAME_FRAMES).gb
SYMBOL_FILE_FRAMES = $(NAME_FRAMES).sym
FRAMES_OBJECTS = $(OBJECT_FILE_FRAMES) $(OUTPUT_ROM_FRAMES) $(SYMBOL_FILE_FRAMES)
NAME_LAG = $(NAME)-lag
ASFLAGS_LAG = -D FRAMECOUNTER=1 -D LAGCOUNTER=0
LDFLAGS_LAG = -O $(ROM) -n $(SYMBOL_FILE_LAG)
OBJECT_FILE_LAG = $(NAME_LAG).o
OUTPUT_ROM_LAG = $(NAME_LAG).gb
SYMBOL_FILE_LAG = $(NAME_LAG).sym
LAG_OBJECTS = $(OBJECT_FILE_LAG) $(OUTPUT_ROM_LAG) $(SYMBOL_FILE_LAG)
MENU_TILEMAP = menu.tilemap
STRINGS = strings.asm
OBJS = $(STD_OBJECTS) $(FRAMES_OBJECTS) $(LAG_OBJECTS) \
$(MENU_TILEMAP) $(STRINGS) $(IMAGES)
AS = rgbasm
ASFLAGS = -E
LD = rgblink
FIX = rgbfix
FIXFLAGS = -f gh -p 255 -m "MBC5+RAM+BATTERY"
GFX = rgbgfx
GFXFLAGS = -c embedded
PYTHON = python
all: $(OUTPUT_ROM_STD) $(OUTPUT_ROM_FRAMES) $(OUTPUT_ROM_LAG)
$(OUTPUT_ROM_LAG): $(OBJECT_FILE_LAG)
$(LD) $(LDFLAGS_LAG) -o $@ $<
$(FIX) $(FIXFLAGS) $@
$(OBJECT_FILE_LAG): $(SOURCE_FILE) $(MENU_TILEMAP) $(STRINGS) $(IMAGES)
$(AS) $(ASFLAGS) $(ASFLAGS_LAG) $< -o $@
$(OUTPUT_ROM_FRAMES): $(OBJECT_FILE_FRAMES)
$(LD) $(LDFLAGS_FRAMES) -o $@ $<
$(FIX) $(FIXFLAGS) $@
$(OBJECT_FILE_FRAMES): $(SOURCE_FILE) $(MENU_TILEMAP) $(STRINGS) $(IMAGES)
$(AS) $(ASFLAGS) $(ASFLAGS_FRAMES) $< -o $@
$(OUTPUT_ROM_STD): $(OBJECT_FILE_STD)
$(LD) $(LDFLAGS_STD) -o $@ $<
$(FIX) $(FIXFLAGS) $@
$(OBJECT_FILE_STD): $(SOURCE_FILE) $(MENU_TILEMAP) $(STRINGS) $(IMAGES)
$(AS) $(ASFLAGS) $(ASFLAGS_STD) $< -o $@
$(MENU_TILEMAP) $(STRINGS): $(GENERATE_MENU) $(MENU_TXT)
$(PYTHON) $<
$(GFX_DIR)/%.2bpp: $(GFX_DIR)/%.png
$(GFX) $(GFXFLAGS) -o $@ $<
.PHONY:
clean:
rm -rf $(OBJS)