Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
58 lines (43 loc) · 1.85 KB
/
Copy pathMakefile
File metadata and controls
58 lines (43 loc) · 1.85 KB
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
.SUFFIXES:
#---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITSH4)),)
$(error "Please set DEVKITSH4 in your environment. export DEVKITSH4=<path to sdk>")
endif
include $(DEVKITSH4)/exword_rules
TARGET := gnuby
SOURCEDIR := src
HTMLDIR := html
MODNAME := gnuboy
APPTITLE := Gnuboy EX 1.0.5-2
APPID := GNUBY
APPMOD := $(TARGET).d01
BUILDS := ja cn
EXCLUDE := $(SOURCEDIR)/loader.c $(SOURCEDIR)/main.c $(SOURCEDIR)/newsound.c $(SOURCEDIR)/inflate.c
CFILES := $(filter-out $(EXCLUDE),$(wildcard $(SOURCEDIR)/*.c)) $(wildcard $(SOURCEDIR)/sys/*.c) $(wildcard $(SOURCEDIR)/libc/*.c)
SFILES := $(wildcard $(SOURCEDIR)/*.s) $(wildcard $(SOURCEDIR)/sys/*.s) $(wildcard $(SOURCEDIR)/libc/*.s)
HTMLINFILES := $(foreach dir,$(BUILDS),$(wildcard $(HTMLDIR)/$(dir)/*.in))
OBJECTS := $(CFILES:.c=.o) $(SFILES:.s=.o)
HTML := $(HTMLINFILES:.htm.in=.htm)
CC_OPTS := -DGNUBOY_DISABLE_SAVESTATES -DGNUBOY_USE_BINARY_RTC_FILES -DALT_DIRSEP
LDFLAGS := -nostdlib -L$(DEVKITPRO)/libdataplus/lib -ldataplus -lgraphics -lsh4a
CFLAGS := -fno-builtin -I$(DEVKITPRO)/libdataplus/include -I$(SOURCEDIR) -I$(SOURCEDIR)/libc/include -O3 $(CC_OPTS)
ASFLAGS := -m4-nofpu
.PHONY: clean app
app: $(TARGET).d01 $(HTML)
@for build in $(BUILDS) ; do \
echo building $$build version in build/$$build/$(APPID)...; \
mkdir -p $(CURDIR)/build/$$build/$(APPID) ; \
cp $(TARGET).d01 $(CURDIR)/build/$$build/$(APPID) ; \
cp html/$$build/*.htm $(CURDIR)/build/$$build/$(APPID) ; \
touch $(CURDIR)/build/$$build/$(APPID)/fileinfo.cji ; \
done
$(TARGET).d01: $(TARGET).elf
$(TARGET).elf: $(OBJECTS)
clean:
@echo clean ...
@rm -fr build $(HTML) $(OBJECTS) $(TARGET).elf $(TARGET).d01 *.map
%.htm: %.htm.in
@echo building html $@...
@sed -e 's/@APPTITLE/$(APPTITLE)/g' \
-e 's/@APPID/$(APPID)/g' \
-e 's/@APPMOD/$(APPMOD)/g' $< > $@