1###############################################################################
2# Makefile for THP demo
3#
4# Copyright (C)2002-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# $Log: makefile,v $
13# Revision 1.2  2008/09/05 09:42:21  nrs_buildsystem
14# Changed all command to adopt "make -j option(parallel processing)" (by yasuh-to).
15#
16# Revision 1.1  2006/02/03 10:00:44  aka
17# Imported from Dolphin tree.
18#
19#
20#   6	  03/11/25 11:24 Dante
21#   Japanese to English translation of comments and text strings
22#
23#   5	  03/10/01 9:19a Akagi
24#   Added checking whether MUSYX_ROOT is defined or not.
25#
26#   4	  02/05/31 9:08a Suzuki
27#   add EXTRASAMPLE flag
28#
29#   3	  02/05/14 11:58a Suzuki
30#   Added the description for THPPlayerStrmAX and THPPlayerStrmMX.
31#
32#   2	  02/02/28 6:32p Akagi
33#   enabled to use with MusyX/AX by Suzuki-san (IRD).
34#
35#   1	  02/01/16 10:50a Akagi
36#   Initial revision made by Suzuki-san (IRD).
37#
38# $NoKeywords: $
39#
40###############################################################################
41
42##################################
43# QUICK START INSTRUCTIONS
44# Type "make" at /revolution/build/tests/gx to build DEBUG versions of all tests.
45# Type "make NDEBUG=TRUE" to build OPTIMIZED versions of all tests
46# Type "make lit-basicD.bin" to build DEBUG version of just lit-basic
47# Type "make NDEBUG=TRUE lit-basic.bin" to build OPTIMIZED version of
48# just lit-basic
49#
50# To add another test
51# 1. Add the .c files to CSRCS to make sure they are built
52# 2. Add the binary name (no suffix) to BINNAMES
53# 3. Add a dependency rule for this executable at the bottom of this file
54##################################
55
56
57# All modules have "setup" and "build" as targets.  System libraries
58# and demo programs also have an "install" target that copies the compiled
59# binaries to the binary tree (/revolution/$(ARCH_TARGET)).
60# tests are NOT installed into the binary release directory.
61
62all:
63	$(MAKE) setup
64	$(MAKE) build
65	$(MAKE) install
66
67# commondefs must be included near the top so that all common variables
68# will be defined before their use.
69
70include $(REVOLUTION_SDK_ROOT)/build/buildtools/commondefs
71
72# Module name should be set to the name of this subdirectory
73# DEMO = TRUE indicates that this module resides under the "demos" subtree.
74# The list of selectable paths can be found in modulerules.
75
76MODULENAME	= thpdemo
77DEMO		= TRUE
78
79# Add thp(D).a into REVOLUTION_LIBS
80
81REVOLUTION_LIBS	+= $(INSTALL_ROOT)/lib/thp$(LIBSUFFIX)
82
83# Common sources built for both EPPC and MAC
84# CSRCS lists all C files that should be built
85# The makefile determines which objects are linked into which binaries
86# based on the dependencies you fill in at the bottom of this file
87
88CSRCS =		THPSimple/main.c			\
89		THPSimple/THPSimple.c			\
90		THPSimple/THPDraw.c			\
91		THPSimple/axseq.c			\
92		THPPlayer/main.c			\
93		THPPlayer/THPPlayer.c			\
94		THPPlayer/THPVideoDecode.c		\
95		THPPlayer/THPAudioDecode.c		\
96		THPPlayer/THPRead.c			\
97		THPPlayer/THPDraw.c			\
98		THPPlayerStrmAX/main.c			\
99		THPPlayerStrmAX/THPPlayer.c		\
100		THPPlayerStrmAX/THPVideoDecode.c	\
101		THPPlayerStrmAX/THPAudioDecode.c	\
102		THPPlayerStrmAX/THPRead.c		\
103		THPPlayerStrmAX/THPDraw.c
104
105# Common binaries linked for both EPPC and MAC
106# BINNAMES lists all binaries that will be linked.  Note that no suffix is
107# required, as that will depend on whether this is a DEBUG build or not.
108# The final name of the binaries will be $(BINNAME)$(BINSUFFIX)
109
110BINNAMES =	THPSimple				\
111		THPPlayer				\
112		THPPlayerStrmAX
113
114# Defining a linker command file will have the build system generate it
115# automatically and include it on the linker invocation line
116
117LCF_FILE	= $(INC_ROOT)/revolution/eppc.$(ARCH_TARGET).lcf
118
119# modulerules contains the rules that will use the above variables
120# and dependencies below to construct the binaries specified.
121
122include $(REVOLUTION_SDK_ROOT)/build/buildtools/modulerules
123
124# Dependencies for the binaries listed in BINNAMES should come here
125# They are your typical makefile rule, with extra variables to ensure
126# that the names and paths match up.
127# $(FULLBIN_ROOT) is the location of the local bin directory
128# $(BINSUFFIX) depends on whether this is a debug build or not
129# $(REVOLUTION_LIBS) includes all the Revolution libraries.
130
131$(FULLBIN_ROOT)/THPSimple$(BINSUFFIX):	THPSimple/main.o		\
132					THPSimple/THPSimple.o		\
133					THPSimple/THPDraw.o		\
134					THPSimple/axseq.o		\
135					$(REVOLUTION_LIBS)
136
137$(FULLBIN_ROOT)/THPPlayer$(BINSUFFIX):	THPPlayer/main.o		\
138					THPPlayer/THPPlayer.o		\
139					THPPlayer/THPVideoDecode.o	\
140					THPPlayer/THPAudioDecode.o	\
141					THPPlayer/THPRead.o		\
142					THPPlayer/THPDraw.o		\
143					THPSimple/axseq.o		\
144					$(REVOLUTION_LIBS)
145
146$(FULLBIN_ROOT)/THPPlayerStrmAX$(BINSUFFIX): THPPlayerStrmAX/main.o		\
147					     THPPlayerStrmAX/THPPlayer.o	\
148					     THPPlayerStrmAX/THPVideoDecode.o	\
149					     THPPlayerStrmAX/THPAudioDecode.o	\
150					     THPPlayerStrmAX/THPRead.o		\
151					     THPPlayerStrmAX/THPDraw.o		\
152					     $(REVOLUTION_LIBS)
153
154#======== End of makefile ========#
155