forked from 0xGlitchbyte/TinyNightmare64
-
Notifications
You must be signed in to change notification settings - Fork 0
/
makefile
96 lines (68 loc) · 3.09 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
86
87
88
89
90
91
92
93
94
95
96
################################################################
# Code files and ROM name #
################################################################
CODECFILES = main.c graphic.c helper.c stage00.c sausage64.c
CODEHFILES =
DEBUGFILES = debug.c usb.c
TARGETS = sausage.n64
REGISTRATION = "SAUSAGE" B SG I
################################################################
# Nusys Config #
################################################################
N64KITDIR = c:/nintendo/n64kit
NUSYSDIR = $(N64KITDIR)/nusys
NUSYSINC = $(NUSYSDIR)/include
NUSYSLIB = $(NUSYSDIR)/lib
NUOBJ = $(NUSYSLIB)/nusys.o
################################################################
# Compiler Settings #
################################################################
CC = gcc
LD = ld
MAKEROM = mild
################################################################
# Make Commands #
################################################################
default: $(TARGETS)
################################################################
# Don't touch below unless you know what you're doing! #
################################################################
include $(ROOT)/usr/include/make/PRdefs
CODESEGMENT = codesegment.o
OBJECTS = $(CODESEGMENT)
APP = $(TARGETS:.n64=.out)
################################################################
# ROM debug mode check #
################################################################
ifeq ($(DEBUG_MODE), 0)
CODEOBJECTS = $(CODECFILES:.c=.o) $(NUOBJ)
OPTIMIZER = -O2
LCDEFS = -D_FINALROM -DNDEBUG -DF3DEX_GBI_2 -DNOT_SPEC
N64LIB = -lnusys -lgultra_rom
MAKEROMFLAGS =
else
CODEOBJECTS = $(CODECFILES:.c=.o) $(NUOBJ) $(DEBUGFILES:.c=.o)
OPTIMIZER = -g
LCDEFS = -DDEBUG -DF3DEX_GBI_2 -DNOT_SPEC
N64LIB = -lnusys_d -lgultra_d
MAKEROMFLAGS = -d
endif
################################################################
# Linker Settings #
################################################################
LCINCS = -I. -I$(ROOT)/usr/include/PR -I $(ROOT)/usr/include -I$(NUSYSINC)
LCOPTS = -G 0
LDIRT = $(APP)
LDFLAGS= $(MKDEPOPT) -L$(ROOT)/usr/lib -L$(ROOT)/usr/lib/PR -L$(NUSYSLIB) $(N64LIB) -L$(GCCDIR)/mipse/lib -lkmc
################################################################
# Compilation #
################################################################
include $(COMMONRULES)
$(CODESEGMENT): $(CODEOBJECTS)
$(LD) -o $(CODESEGMENT) -r $(CODEOBJECTS) $(LDFLAGS)
$(TARGETS): $(OBJECTS)
$(MAKEROM) spec $(MAKEROMFLAGS) -I$(NUSYSINC) -r $(TARGETS) -e $(APP)
@makemask $(TARGETS)
ifeq ($(ALLOWREGISTER), 1)
@nrdc $(TARGETS) $(REGISTRATION)
endif