1###############################################################################
2# Makefile for GX demos
3#
4# Copyright 1998-2006 Nintendo.  All rights reserved.
5#
6# These coded instructions, statements, and computer programs contain
7# proprietary information of Nintendo of America Inc. and/or Nintendo
8# Company Ltd., and are protected by Federal copyright law.  They may
9# not be disclosed to third parties or copied or duplicated in any form,
10# in whole or in part, without the prior written consent of Nintendo.
11#
12###############################################################################
13
14##################################
15# QUICK START INSTRUCTIONS
16# Type "make" at /dolphin/build/tests/gx to build DEBUG versions of all tests.
17# Type "make NDEBUG=TRUE" to build OPTIMIZED versions of all tests
18# Type "make lit-basicD.bin" to build DEBUG version of just lit-basic
19# Type "make NDEBUG=TRUE lit-basic.bin" to build OPTIMIZED version of
20# just lit-basic
21#
22# To add another test
23# 1. add the .c files to CSRCS to make sure they are built
24# 2. add the binary name (no suffix) to BINNAMES
25# 3. add a dependency rule for this executable at the bottom of this file
26##################################
27
28
29# All modules have "setup" and "build" as targets.  System libraries
30# and demo programs also have an "install" target that copies the compiled
31# binaries to the binary tree (/dolphin/$(ARCH_TARGET)).
32# tests are NOT installed into the binary release directory.
33all:    setup build install
34
35# module name should be set to the name of this subdirectory
36# DEMO = TRUE indicates that this module resides under the "demos" subtree.
37# The list of selectable paths can be found in modulerules.
38MODULENAME  = gxdemo
39DEMO        = TRUE
40
41
42# commondefs must be included near the top so that all common variables
43# will be defined before their use.
44include $(REVOLUTION_SDK_ROOT)/build/buildtools/commondefs
45
46
47# additional libraries not defined as REVOLUTION_LIBS
48TPL_LIB     = $(INSTALL_ROOT)/lib/tpl$(LIBSUFFIX)
49G2D_LIB     = $(INSTALL_ROOT)/lib/G2D$(LIBSUFFIX)
50
51
52# CSRCS lists all C files that should be built
53# The makefile determines which objects are linked into which binaries
54# based on the dependencies you fill in at the bottom of this file
55CSRCS = \
56        Culling/cul-faces.c      Culling/cul-viewport.c \
57        \
58        DisplayList/DL-geom.c    DisplayList/DL-tex.c \
59        DisplayList/DL-tf-mtx.c  \
60        \
61        Framebuffer/frb-bound-box.c   \
62        Framebuffer/frb-copy.c        \
63        Framebuffer/frb-fld-dbs.c     \
64        Framebuffer/frb-fld-dbs-aa.c  \
65        Framebuffer/frb-fld-int.c     \
66        Framebuffer/frb-fld-int-aa.c  \
67        Framebuffer/frb-aa-full.c     \
68        Framebuffer/frb-zcopy.c       \
69        Framebuffer/frb-gamma.c       \
70        Framebuffer/frb-vfilter.c \
71        \
72        G2D/G2D-test.c           G2D/G2D-testEditor.c \
73        G2D/G2D-testPhy.c        G2D/G2D-testLevel1.c \
74        \
75        Geometry/geo-particle.c  \
76        Geometry/geo-vtx-fmt.c   Geometry/geo-vtx-fmtPrim.c \
77        \
78        Indirect/ind-bump-st.c   Indirect/ind-bump-xyz.c \
79        Indirect/ind-tile-data.c Indirect/ind-tile-test.c \
80        Indirect/ind-pseudo-3d.c Indirect/ind-warp.c     \
81        \
82        Lighting/lit-basic.c     Lighting/lit-multi.c    \
83        Lighting/lit-alpha.c     Lighting/lit-spot.c     \
84        Lighting/lit-dist-atn.c  Lighting/lit-unclamp.c  \
85        Lighting/lit-cartoon.c   Lighting/lit-texture.c  \
86        Lighting/lit-tx-alpha.c  Lighting/lit-prelit.c   \
87        Lighting/lit-atn-func.c  Lighting/lit-specular.c \
88        \
89        Performance/perf-fill.c  \
90        Performance/perf-geo.c   \
91        Performance/perf-sync.c  \
92        \
93        PixelProc/cmn-model.c    PixelProc/pix-fog.c    \
94        PixelProc/pix-blend.c    PixelProc/pix-logic.c  \
95        PixelProc/pix-z-comp.c   PixelProc/pix-a-comp.c \
96        PixelProc/pix-sub.c      \
97        \
98        Simple/smp-onetri.c      Simple/smp-onetri_dl.c \
99        Simple/smp-toy-draw.c    \
100        Simple/smp-toy-anim.c    Simple/smp-toy-stick.c \
101        Simple/smp-texexample.c  Simple/smp-octa.c \
102        Simple/smp-light.c       \
103        \
104        Tev/tev-one-op.c         Tev/tev-multi.c \
105        Tev/tev-complex.c        Tev/tev-outline.c \
106        Tev/tev-ztex.c           Tev/tev-swap.c    \
107        \
108        TexGen/tg-basic.c        TexGen/tg-project.c  \
109        TexGen/tg-emboss.c       TexGen/tg-shadow.c   \
110        TexGen/tg-shadow2.c      TexGen/tg-shadow3.c  \
111        TexGen/tg-light-fx.c     TexGen/tg-dual.c         \
112        TexGen/spheremap.c       TexGen/tg-spheremap.c    \
113        TexGen/parabolicmap.c    TexGen/tg-parabolicmap.c \
114        TexGen/tg-clr-persp.c \
115        \
116        Texture/tex-fmt-cube.c   Texture/tex-fmt-cubeData.c \
117        Texture/tex-filter.c     Texture/tex-fmt-tpl.c      \
118        Texture/tex-wrap.c       Texture/tex-tlut.c         \
119        Texture/tex-tlutData.c   Texture/tex-layer.c        \
120        Texture/tex-2-tex.c      Texture/tex-tc-alloc.c     \
121        Texture/tex-preload.c    Texture/tex-mix-mode.c     \
122        Texture/tex-invalid.c    Texture/tex-lod.c          \
123        Texture/tex-tlut32.c \
124        \
125        Transform/tf-pn-mtx.c    Transform/tf-stitch.c \
126        Transform/tf-tg-mtx.c    Transform/tf-mirror.c \
127        Transform/tf-reflect.c   Transform/tf-clip-bug.c \
128        \
129        Management/mgt-single-buf.c \
130        Management/mgt-triple-buf.c \
131        Management/mgt-fifo-brkpt.c \
132        Management/mgt-fifo-dual.c
133
134
135# BINNAMES lists all binaries that will be linked.  Note that no suffix is
136# required, as that will depend on whether this is a DEBUG build or not.
137# The final name of the binaries will be $(BINNAME)$(BINSUFFIX)
138BINNAMES =  \
139        cul-faces       cul-viewport    \
140        \
141        DL-geom         DL-tex          DL-tf-mtx       \
142        \
143        frb-bound-box   frb-copy        \
144        frb-fld-dbs     frb-fld-dbs-aa  frb-fld-int     frb-fld-int-aa  \
145        frb-aa-full     frb-zcopy       frb-gamma       frb-vfilter     \
146        \
147        G2D-test        \
148        \
149        geo-particle    geo-vtx-fmt     \
150        \
151        ind-bump-st     ind-bump-xyz    ind-tile-test   ind-pseudo-3d   \
152        ind-warp        \
153        \
154        lit-basic       lit-multi       lit-alpha       lit-spot        \
155        lit-dist-atn    lit-unclamp     lit-cartoon     lit-texture     \
156        lit-tx-alpha    lit-prelit      lit-atn-func    lit-specular    \
157        \
158        perf-fill       perf-geo        perf-sync       \
159        \
160        pix-fog         pix-sub         \
161        pix-blend       pix-logic       pix-z-comp      pix-a-comp      \
162        \
163        smp-onetri      smp-onetri_dl   smp-toy         \
164        smp-texexample  smp-octa        smp-light       \
165        \
166        tev-one-op      tev-multi       tev-complex     \
167        tev-outline     tev-ztex        tev-swap        \
168        \
169        tg-basic        tg-project      tg-emboss       tg-shadow       \
170        tg-shadow2      tg-shadow3      tg-light-fx     tg-dual         \
171        tg-spheremap    tg-parabolicmap tg-clr-persp    \
172        \
173        tex-fmt-cube    tex-filter      tex-fmt-tpl     tex-wrap        \
174        tex-tlut        tex-layer       tex-2-tex       tex-tc-alloc    \
175        tex-preload     tex-mix-mode    tex-invalid     tex-lod         \
176        tex-tlut32      \
177        \
178        tf-pn-mtx       tf-stitch       tf-tg-mtx       tf-mirror       \
179        tf-reflect      tf-clip-bug     \
180        \
181        mgt-single-buf  mgt-triple-buf  mgt-fifo-brkpt  mgt-fifo-dual
182
183
184# defining a linker command file will have the build system generate it
185# automatically and include it on the linker invocation line
186
187LCF_FILE    = $(INC_ROOT)/revolution/eppc.$(ARCH_TARGET).lcf
188
189# Use MEM library for memory allocation (DEMO library setting)
190CCFLAGS += -DDEMO_USE_MEMLIB
191
192ifdef WALL
193CCFLAGS +=  -w all
194endif
195
196# modulerules contains the rules that will use the above variables
197# and dependencies below to construct the binaries specified.
198include $(REVOLUTION_SDK_ROOT)/build/buildtools/modulerules
199
200# Dependencies for the binaries listed in BINNAMES should come here
201# They are your typical makefile rule, with extra variables to ensure
202# that the names and paths match up.
203# $(FULLBIN_ROOT) is the location of the local bin directory
204# $(BINSUFFIX) depends on whether this is a debug build or not
205# $(REVOLUTION_LIBS) includes all the Dolphin libraries.
206$(FULLBIN_ROOT)/cul-faces$(BINSUFFIX): Culling/cul-faces.o \
207                    $(REVOLUTION_LIBS)
208
209$(FULLBIN_ROOT)/cul-viewport$(BINSUFFIX): Culling/cul-viewport.o \
210                    $(REVOLUTION_LIBS)
211
212$(FULLBIN_ROOT)/DL-geom$(BINSUFFIX):  DisplayList/DL-geom.o \
213                    $(REVOLUTION_LIBS) $(TPL_LIB)
214
215$(FULLBIN_ROOT)/DL-tex$(BINSUFFIX):  DisplayList/DL-tex.o \
216                    $(REVOLUTION_LIBS) $(TPL_LIB)
217
218$(FULLBIN_ROOT)/DL-tf-mtx$(BINSUFFIX):  DisplayList/DL-tf-mtx.o \
219                    $(REVOLUTION_LIBS) $(TPL_LIB)
220
221$(FULLBIN_ROOT)/frb-copy$(BINSUFFIX): Framebuffer/frb-copy.o \
222                    $(REVOLUTION_LIBS)
223
224$(FULLBIN_ROOT)/frb-zcopy$(BINSUFFIX): Framebuffer/frb-zcopy.o \
225                    $(REVOLUTION_LIBS)
226
227$(FULLBIN_ROOT)/frb-fld-int$(BINSUFFIX): Framebuffer/frb-fld-int.o \
228                    $(REVOLUTION_LIBS)
229
230$(FULLBIN_ROOT)/frb-fld-dbs$(BINSUFFIX): Framebuffer/frb-fld-dbs.o \
231                    $(REVOLUTION_LIBS)
232
233$(FULLBIN_ROOT)/frb-fld-int-aa$(BINSUFFIX): Framebuffer/frb-fld-int-aa.o \
234                    $(REVOLUTION_LIBS)
235
236$(FULLBIN_ROOT)/frb-fld-dbs-aa$(BINSUFFIX): Framebuffer/frb-fld-dbs-aa.o \
237                    $(REVOLUTION_LIBS)
238
239$(FULLBIN_ROOT)/frb-aa-full$(BINSUFFIX): Framebuffer/frb-aa-full.o \
240                    $(REVOLUTION_LIBS)
241
242$(FULLBIN_ROOT)/frb-bound-box$(BINSUFFIX): Framebuffer/frb-bound-box.o \
243                    $(REVOLUTION_LIBS)
244
245$(FULLBIN_ROOT)/frb-gamma$(BINSUFFIX): Framebuffer/frb-gamma.o \
246                    $(REVOLUTION_LIBS) $(TPL_LIB)
247
248$(FULLBIN_ROOT)/frb-vfilter$(BINSUFFIX): Framebuffer/frb-vfilter.o \
249                    $(REVOLUTION_LIBS) $(TPL_LIB)
250
251$(FULLBIN_ROOT)/G2D-test$(BINSUFFIX): G2D/G2D-test.o \
252                    G2D/G2D-testPhy.o \
253                    G2D/G2D-testLevel1.o \
254                    G2D/G2D-testEditor.o \
255                    $(G2D_LIB) \
256                    $(REVOLUTION_LIBS) \
257                    $(TPL_LIB)
258
259$(FULLBIN_ROOT)/geo-particle$(BINSUFFIX): Geometry/geo-particle.o \
260                    $(REVOLUTION_LIBS) $(TPL_LIB)
261
262$(FULLBIN_ROOT)/geo-vtx-fmt$(BINSUFFIX): Geometry/geo-vtx-fmt.o \
263                    Geometry/geo-vtx-fmtPrim.o \
264                    $(REVOLUTION_LIBS) $(TPL_LIB)
265
266$(FULLBIN_ROOT)/ind-bump-st$(BINSUFFIX): Indirect/ind-bump-st.o \
267                    $(REVOLUTION_LIBS) $(TPL_LIB)
268
269$(FULLBIN_ROOT)/ind-bump-xyz$(BINSUFFIX): Indirect/ind-bump-xyz.o \
270                    $(REVOLUTION_LIBS) $(TPL_LIB)
271
272$(FULLBIN_ROOT)/ind-tile-test$(BINSUFFIX): Indirect/ind-tile-test.o Indirect/ind-tile-data.o \
273                    $(REVOLUTION_LIBS) $(TPL_LIB)
274
275$(FULLBIN_ROOT)/ind-pseudo-3d$(BINSUFFIX): Indirect/ind-pseudo-3d.o \
276                    $(REVOLUTION_LIBS) $(TPL_LIB)
277
278$(FULLBIN_ROOT)/ind-warp$(BINSUFFIX): Indirect/ind-warp.o \
279                    $(REVOLUTION_LIBS) $(TPL_LIB)
280
281$(FULLBIN_ROOT)/lit-basic$(BINSUFFIX): Lighting/lit-basic.o \
282                    $(REVOLUTION_LIBS)
283
284$(FULLBIN_ROOT)/lit-multi$(BINSUFFIX): Lighting/lit-multi.o \
285                    $(REVOLUTION_LIBS)
286
287$(FULLBIN_ROOT)/lit-alpha$(BINSUFFIX): Lighting/lit-alpha.o \
288                    $(REVOLUTION_LIBS)
289
290$(FULLBIN_ROOT)/lit-spot$(BINSUFFIX): Lighting/lit-spot.o \
291                    $(REVOLUTION_LIBS)
292
293$(FULLBIN_ROOT)/lit-dist-atn$(BINSUFFIX): Lighting/lit-dist-atn.o \
294                    $(REVOLUTION_LIBS)
295
296$(FULLBIN_ROOT)/lit-unclamp$(BINSUFFIX): Lighting/lit-unclamp.o \
297                    $(REVOLUTION_LIBS)
298
299$(FULLBIN_ROOT)/lit-cartoon$(BINSUFFIX): Lighting/lit-cartoon.o \
300                    $(REVOLUTION_LIBS) $(TPL_LIB)
301
302$(FULLBIN_ROOT)/lit-texture$(BINSUFFIX): Lighting/lit-texture.o \
303                    $(REVOLUTION_LIBS)
304
305$(FULLBIN_ROOT)/lit-tx-alpha$(BINSUFFIX): Lighting/lit-tx-alpha.o \
306                    $(REVOLUTION_LIBS) $(TPL_LIB)
307
308$(FULLBIN_ROOT)/lit-prelit$(BINSUFFIX): Lighting/lit-prelit.o \
309                    $(REVOLUTION_LIBS)
310
311$(FULLBIN_ROOT)/lit-atn-func$(BINSUFFIX): Lighting/lit-atn-func.o \
312                    $(REVOLUTION_LIBS) $(TPL_LIB)
313
314$(FULLBIN_ROOT)/lit-specular$(BINSUFFIX): Lighting/lit-specular.o \
315                    $(REVOLUTION_LIBS)
316
317$(FULLBIN_ROOT)/perf-fill$(BINSUFFIX): Performance/perf-fill.o \
318                    $(REVOLUTION_LIBS) $(TPL_LIB)
319
320$(FULLBIN_ROOT)/perf-sync$(BINSUFFIX): Performance/perf-sync.o \
321                    $(REVOLUTION_LIBS)
322
323$(FULLBIN_ROOT)/perf-geo$(BINSUFFIX): Performance/perf-geo.o \
324                    $(REVOLUTION_LIBS) $(TPL_LIB)
325
326$(FULLBIN_ROOT)/pix-fog$(BINSUFFIX): PixelProc/pix-fog.o \
327                    PixelProc/cmn-model.o $(REVOLUTION_LIBS)
328
329$(FULLBIN_ROOT)/pix-blend$(BINSUFFIX): PixelProc/pix-blend.o \
330                    PixelProc/cmn-model.o $(REVOLUTION_LIBS)
331
332$(FULLBIN_ROOT)/pix-logic$(BINSUFFIX): PixelProc/pix-logic.o \
333                    PixelProc/cmn-model.o $(REVOLUTION_LIBS)
334
335$(FULLBIN_ROOT)/pix-z-comp$(BINSUFFIX): PixelProc/pix-z-comp.o \
336                    PixelProc/cmn-model.o $(REVOLUTION_LIBS)
337
338$(FULLBIN_ROOT)/pix-a-comp$(BINSUFFIX): PixelProc/pix-a-comp.o \
339                    PixelProc/cmn-model.o $(REVOLUTION_LIBS)
340
341$(FULLBIN_ROOT)/pix-sub$(BINSUFFIX): PixelProc/pix-sub.o \
342                    $(REVOLUTION_LIBS) $(TPL_LIB)
343
344$(FULLBIN_ROOT)/smp-onetri$(BINSUFFIX): Simple/smp-onetri.o \
345                    $(REVOLUTION_LIBS)
346
347$(FULLBIN_ROOT)/smp-onetri_dl$(BINSUFFIX): Simple/smp-onetri_dl.o \
348                    $(REVOLUTION_LIBS)
349
350$(FULLBIN_ROOT)/smp-toy$(BINSUFFIX): Simple/smp-toy-draw.o \
351                    Simple/smp-toy-anim.o Simple/smp-toy-stick.o \
352                    $(REVOLUTION_LIBS) $(TPL_LIB)
353
354$(FULLBIN_ROOT)/smp-texexample$(BINSUFFIX): Simple/smp-texexample.o \
355                    $(REVOLUTION_LIBS) $(TPL_LIB)
356
357$(FULLBIN_ROOT)/smp-octa$(BINSUFFIX): Simple/smp-octa.o \
358                    $(REVOLUTION_LIBS)
359
360$(FULLBIN_ROOT)/smp-light$(BINSUFFIX): Simple/smp-light.o \
361                    $(REVOLUTION_LIBS)
362
363$(FULLBIN_ROOT)/tev-one-op$(BINSUFFIX): Tev/tev-one-op.o \
364                    $(REVOLUTION_LIBS) $(TPL_LIB)
365
366$(FULLBIN_ROOT)/tev-swap$(BINSUFFIX): Tev/tev-swap.o \
367                    $(REVOLUTION_LIBS) $(TPL_LIB)
368
369$(FULLBIN_ROOT)/tev-multi$(BINSUFFIX): Tev/tev-multi.o \
370                    $(REVOLUTION_LIBS) $(TPL_LIB)
371
372$(FULLBIN_ROOT)/tev-complex$(BINSUFFIX): Tev/tev-complex.o \
373                    $(REVOLUTION_LIBS) $(TPL_LIB)
374
375$(FULLBIN_ROOT)/tev-outline$(BINSUFFIX): Tev/tev-outline.o \
376                    $(REVOLUTION_LIBS)
377
378$(FULLBIN_ROOT)/tev-ztex$(BINSUFFIX): Tev/tev-ztex.o \
379                    $(REVOLUTION_LIBS) $(TPL_LIB)
380
381$(FULLBIN_ROOT)/tg-basic$(BINSUFFIX):  TexGen/tg-basic.o \
382                    $(REVOLUTION_LIBS) $(TPL_LIB)
383
384$(FULLBIN_ROOT)/tg-project$(BINSUFFIX):  TexGen/tg-project.o \
385                    $(REVOLUTION_LIBS) $(TPL_LIB)
386
387$(FULLBIN_ROOT)/tg-emboss$(BINSUFFIX):  TexGen/tg-emboss.o \
388                    $(REVOLUTION_LIBS) $(TPL_LIB)
389
390$(FULLBIN_ROOT)/tg-shadow$(BINSUFFIX):  TexGen/tg-shadow.o \
391                    $(REVOLUTION_LIBS) $(TPL_LIB)
392
393$(FULLBIN_ROOT)/tg-shadow2$(BINSUFFIX):  TexGen/tg-shadow2.o \
394                    $(REVOLUTION_LIBS)
395
396$(FULLBIN_ROOT)/tg-shadow3$(BINSUFFIX):  TexGen/tg-shadow3.o \
397                    $(REVOLUTION_LIBS)
398
399$(FULLBIN_ROOT)/tg-spheremap$(BINSUFFIX):  TexGen/tg-spheremap.o \
400                    TexGen/spheremap.o $(REVOLUTION_LIBS) $(TPL_LIB)
401
402$(FULLBIN_ROOT)/tg-parabolicmap$(BINSUFFIX):  TexGen/tg-parabolicmap.o \
403                    TexGen/parabolicmap.o $(REVOLUTION_LIBS) $(TPL_LIB)
404
405$(FULLBIN_ROOT)/tg-light-fx$(BINSUFFIX):  TexGen/tg-light-fx.o \
406                    $(REVOLUTION_LIBS)
407
408$(FULLBIN_ROOT)/tg-dual$(BINSUFFIX):  TexGen/tg-dual.o \
409                    $(REVOLUTION_LIBS) $(TPL_LIB)
410
411$(FULLBIN_ROOT)/tg-clr-persp$(BINSUFFIX):  TexGen/tg-clr-persp.o \
412                    $(REVOLUTION_LIBS) $(TPL_LIB)
413
414$(FULLBIN_ROOT)/tex-fmt-cube$(BINSUFFIX): Texture/tex-fmt-cube.o \
415                    Texture/tex-fmt-cubeData.o $(REVOLUTION_LIBS)
416
417$(FULLBIN_ROOT)/tex-filter$(BINSUFFIX): Texture/tex-filter.o \
418                    $(REVOLUTION_LIBS) $(TPL_LIB)
419
420$(FULLBIN_ROOT)/tex-fmt-tpl$(BINSUFFIX): Texture/tex-fmt-tpl.o \
421                    $(REVOLUTION_LIBS) $(TPL_LIB)
422
423$(FULLBIN_ROOT)/tex-wrap$(BINSUFFIX): Texture/tex-wrap.o \
424                    $(REVOLUTION_LIBS) $(TPL_LIB)
425
426$(FULLBIN_ROOT)/tex-tlut$(BINSUFFIX): Texture/tex-tlut.o \
427                    Texture/tex-tlutData.o $(REVOLUTION_LIBS)
428
429$(FULLBIN_ROOT)/tex-tlut32$(BINSUFFIX): Texture/tex-tlut32.o \
430                    $(REVOLUTION_LIBS)
431
432$(FULLBIN_ROOT)/tex-layer$(BINSUFFIX): Texture/tex-layer.o \
433                    $(REVOLUTION_LIBS) $(TPL_LIB)
434
435$(FULLBIN_ROOT)/tex-2-tex$(BINSUFFIX): Texture/tex-2-tex.o \
436                    $(REVOLUTION_LIBS) $(TPL_LIB)
437
438$(FULLBIN_ROOT)/tex-tc-alloc$(BINSUFFIX): Texture/tex-tc-alloc.o \
439                    $(REVOLUTION_LIBS) $(TPL_LIB)
440
441$(FULLBIN_ROOT)/tex-preload$(BINSUFFIX): Texture/tex-preload.o \
442                    $(REVOLUTION_LIBS) $(TPL_LIB)
443
444$(FULLBIN_ROOT)/tex-mix-mode$(BINSUFFIX): Texture/tex-mix-mode.o \
445                    $(REVOLUTION_LIBS) $(TPL_LIB)
446
447$(FULLBIN_ROOT)/tex-invalid$(BINSUFFIX): Texture/tex-invalid.o \
448                    $(REVOLUTION_LIBS) $(TPL_LIB)
449
450$(FULLBIN_ROOT)/tex-lod$(BINSUFFIX): Texture/tex-lod.o \
451                    $(REVOLUTION_LIBS) $(TPL_LIB)
452
453$(FULLBIN_ROOT)/tf-pn-mtx$(BINSUFFIX):  Transform/tf-pn-mtx.o \
454                    $(REVOLUTION_LIBS)
455
456$(FULLBIN_ROOT)/tf-stitch$(BINSUFFIX):  Transform/tf-stitch.o \
457                    $(REVOLUTION_LIBS)
458
459$(FULLBIN_ROOT)/tf-tg-mtx$(BINSUFFIX):  Transform/tf-tg-mtx.o \
460                    $(REVOLUTION_LIBS) $(TPL_LIB)
461
462$(FULLBIN_ROOT)/tf-mirror$(BINSUFFIX):  Transform/tf-mirror.o \
463                    $(REVOLUTION_LIBS) $(TPL_LIB)
464
465$(FULLBIN_ROOT)/tf-reflect$(BINSUFFIX):  Transform/tf-reflect.o \
466                    $(REVOLUTION_LIBS) $(TPL_LIB)
467
468$(FULLBIN_ROOT)/tf-clip-bug$(BINSUFFIX):  Transform/tf-clip-bug.o \
469                    $(REVOLUTION_LIBS)
470
471$(FULLBIN_ROOT)/mgt-single-buf$(BINSUFFIX): Management/mgt-single-buf.o \
472                    $(REVOLUTION_LIBS)
473
474$(FULLBIN_ROOT)/mgt-triple-buf$(BINSUFFIX): Management/mgt-triple-buf.o \
475                    $(REVOLUTION_LIBS)
476
477$(FULLBIN_ROOT)/mgt-fifo-brkpt$(BINSUFFIX): Management/mgt-fifo-brkpt.o \
478                    $(REVOLUTION_LIBS) $(TPL_LIB)
479
480$(FULLBIN_ROOT)/mgt-fifo-dual$(BINSUFFIX): Management/mgt-fifo-dual.o \
481                    $(REVOLUTION_LIBS)
482
483#======== End of makefile ========#
484