-
Notifications
You must be signed in to change notification settings - Fork 37
/
Makefile
52 lines (38 loc) · 1.11 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
NAME := multicartldr
VERSION := 0.9
TITLE := MULTICARTLDR
ROMVERSION := 0x10
FILLER = 0x00
ifneq ($(wildcard rgbds/.*),)
RGBDS_DIR = rgbds/
else
RGBDS_DIR =
endif
RGBASM_FLAGS =
RGBLINK_FLAGS = -n $(ROM_NAME).sym -m $(ROM_NAME).map -p $(FILLER)
RGBFIX_DMG_FLAGS = -jv -t $(TITLE) -n $(ROMVERSION) -p $(FILLER) -k 00 -l 0x33 -m 0x1B -r 0x04
RGBFIX_CGB_FLAGS = -jcv -t $(TITLE) -n $(ROMVERSION) -p $(FILLER) -k 00 -l 0x33 -m 0x1B -r 0x04
CFLAGS = -O3 -std=c11 -Wall -Wextra -pedantic
.SUFFIXES:
.PHONY: all clean ldr
.SECONDEXPANSION:
.PRECIOUS: %.o
CC = gcc
RM = rm -f
ldr_obj := main.o
all: ldr
ldr: FILLER = 0x00
ldr: ROM_NAME = $(NAME)-$(VERSION)
ldr: $(NAME)-$(VERSION).gb $(NAME)-$(VERSION).gbc
clean:
$(RM) $(ldr_obj) $(wildcard $(NAME)-*.gb) $(wildcard $(NAME)-*.gbc) $(wildcard $(NAME)-*.map) $(wildcard $(NAME)-*.sym)
%.o: %.asm
$(RGBDS_DIR)rgbasm $(RGBASM_FLAGS) -o $@ $<
.gb:
%.gb: $(ldr_obj)
$(RGBDS_DIR)rgblink $(RGBLINK_FLAGS) -o $@ $^
$(RGBDS_DIR)rgbfix $(RGBFIX_DMG_FLAGS) $@
.gbc:
%.gbc: $(ldr_obj)
$(RGBDS_DIR)rgblink $(RGBLINK_FLAGS) -o $@ $^
$(RGBDS_DIR)rgbfix $(RGBFIX_CGB_FLAGS) $@