This repository has been archived by the owner on Dec 14, 2020. It is now read-only.
forked from danbolt/LunarAssault64
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
128 lines (100 loc) · 3.24 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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
include $(ROOT)/usr/include/make/PRdefs
N64KITDIR = c:\nintendo\n64kit
NUSYSINCDIR = $(N64KITDIR)/nusys/include
NUSYSLIBDIR = $(N64KITDIR)/nusys/lib
LIB = $(ROOT)/usr/lib
LPR = $(LIB)/PR
INC = $(ROOT)/usr/include
CC = gcc
LD = ld
MAKEROM = mild
# Directory holding the HVQM2 library (libhvqm2.a)
HVQMLIBDIR = ../libhvqm2/lib
# Directory holding the HVQM2 include file
HVQMINCDIR = ../libhvqm2/lib
NUAUDIOLIB = -lnualsgi_n -lgn_audio
LCDEFS = -DNU_DEBUG -DF3DEX_GBI_2
LCINCS = -I. -I$(NUSYSINCDIR) -I$(HVQMLIBDIR) -I$(ROOT)/usr/include/PR
LCOPTS = -G 0
LDFLAGS = $(MKDEPOPT) -L$(LIB) -L$(NUSYSLIBDIR) -L$(HVQMLIBDIR) $(NUAUDIOLIB) -lhvqm2 -lnusys -lgultra -L$(GCCDIR)/mipse/lib -lkmc
OPTIMIZER = -O2
APP = jam.out
TARGETS = jam.n64
HFILES = main.h font.h stage00.h graphic.h gamemath.h segmentinfo.h terraintex.h map.h hitboxes.h portraittex.h protaggeo.h kaiju0.h kaiju1.h kaiju2.h kaiju3.h dialoguestage.h hvqm.h fmvstage.h introcardstage.h creditsscreen.h retryscreen.h smallfont.h
CODEFILES = main.c graphic.c gfxinit.c gamemath.c hvqmgfxinit.c hvqmmain.c hvqmaudio.c hvqmcopyframebuffer.c smallfont.c
CODEOBJECTS = $(CODEFILES:.c=.o) $(NUSYSLIBDIR)/nusys.o
DATAFILES = kaiju0.c kaiju1.c kaiju2.c kaiju3.c titlescreenstage.c hvqmwork.c hvqmaudiobuf.c hvqmvideobuf.c labbg.c introcardstage.c chapterimages.c creditsscreen.c retryscreen.c
DATAOBJECTS = $(DATAFILES:.c=.o)
CODESEGMENT = codesegment.o
STAGEFILES = stage00.c map.c hitboxes.c portraittex.c protaggeo.c
HQVMCODEFILES = fmvstage.c
DIALFILES = dialoguestage.c
DIALOBJ = $(DIALFILES:.c=.o)
STAGEOBJ = $(STAGEFILES:.c=.o)
HQVMOBJ = $(HQVMCODEFILES:.c=.o)
OBJECTS = $(CODESEGMENT) $(DATAOBJECTS) $(STAGEOBJ) $(DIALOBJ) $(HQVMOBJ)
FORCELINK = -u guOrtho \
-u guPerspective \
-u guLookAt \
-u guRotate \
-u guScale \
-u guTranslate \
-u guRandom \
-u guMtxIdent \
-u guTranslateF \
-u guRotateF \
-u guScaleF \
-u guRotateRPYF \
-u guMtxCatF \
-u guMtxXFMF \
-u cosf \
-u sinf \
-u __cmpdi2 \
-u __floatdisf \
-u nuDebPerfMarkSet \
-u nuPiReadRom \
-u nuContDataGetEx \
-u nuDebConTextPos \
-u nuDebConTextColor \
-u nuDebConClear \
-u sprintf \
-u gfxRCPInit \
-u gfxClearCfb \
-u nuDebConCPuts \
-u nuDebTaskPerfBar1EX2 \
-u nuDebConDispEX2 \
-u lerp \
-u atan2bodyf \
-u nu_atan2 \
-u mat4x4_invert \
-u fabs_d \
-u cubic \
-u catmullRom \
-u bilinear \
-u clamp \
-u distanceSq \
-u length \
-u Q_rsqrt \
-u dotProduct \
-u sdSphere \
-u sdOctahedron \
-u sdBox \
-u nuAuSeqPlayerStop \
-u nuAuSeqPlayerSetNo \
-u nuAuSeqPlayerPlay \
-u nuAuSndPlayerPlay \
-u nuAuSeqPlayerSetVol \
-u n_alSndpSetPitch \
-u hvqm2InitSP1 \
-u hvqm2SetupSP1 \
-u hvqm2DecodeSP1 \
-u osPiStartDma \
-u hvqmCopyFrameBuffer \
-u guS2DInitBg \
-u adpcmDecode \
default: $(TARGETS)
include $(COMMONRULES)
$(CODESEGMENT): $(CODEOBJECTS) Makefile
$(LD) $(FORCELINK) -o $(CODESEGMENT) -r $(CODEOBJECTS) $(LDFLAGS)
$(TARGETS): $(OBJECTS)
$(MAKEROM) -s 64 -f 0x0 -o spec -I$(NUSYSINCDIR) -r $(TARGETS) -e $(APP)