1###############################################################################
2# Makefile for paddemo
3#
4# Copyright (C) 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# $Log: makefile,v $
13# Revision 1.3  2007/05/08 08:27:34  yasuh-to
14# Removed simple demo.
15#
16# Revision 1.2  2006/09/06 14:31:31  yasuh-to
17# Added clamp2 demo.
18#
19# Revision 1.1  2006/02/02 06:11:04  yasuh-to
20# Initial import
21#
22#
23#   8     9/03/01 19:41 Shiki
24#   Added sampling.
25#
26#   7     01/03/15 13:25 Shiki
27#   Fixed BINNAMES.
28#
29#   6     01/03/13 13:04 Shiki
30#   Fixed not to create cont demo with Mac build.
31#
32#   5     11/29/00 4:37p Shiki
33#   Fixed not to create motor demo with Mac build.
34#
35#   4     11/29/00 4:27p Shiki
36#   Added motor.
37#
38#   3     11/13/00 6:03p Shiki
39#   Added cont.
40#
41#   2     3/01/00 11:49p Shiki
42#   Added simple and basic. Removed main.
43#
44#   6     11/03/99 6:10p Shiki
45#   Revised to support multiple platforms.
46# $NoKeywords: $
47#
48###############################################################################
49
50##################################
51# QUICK START INSTRUCTIONS
52# Type "make" at /dolphin/build/demos/paddemo to build DEBUG versions
53# of all demos
54# Type "make NDEBUG=TRUE" to build OPTIMIZED versions of all tests
55# Type "make dvddemo1D.bin" to build DEBUG version of just dvddemo1
56# Type "make NDEBUG=TRUE dvddemo1.bin" to build OPTIMIZED version of
57# just dvddemo1
58#
59# To add another demo
60# 1. add the .c files to CSRCS to make sure they are built
61# 2. add the binary name (no suffix) to BINNAMES
62# 3. add a dependency rule for this executable at the bottom of this file
63##################################
64
65
66# All modules have "setup" and "build" as targets.  System libraries
67# and demo programs also have an "install" target that copies the compiled
68# binaries to the binary tree (/$(ARCH_TARGET)).
69all: 	setup build install
70
71# commondefs must be included near the top so that all common variables
72# will be defined before their use.
73include $(REVOLUTION_SDK_ROOT)/build/buildtools/commondefs
74
75# module name should be set to the name of this subdirectory
76# DEMO = TRUE indicates that this module resides under the "demos" subtree.
77# The list of selectable paths can be found in modulerules.
78MODULENAME	= paddemo
79DEMO		= TRUE
80
81# CSRCS lists all C files that should be built
82# The makefile determines which objects are linked into which binaries
83# based on the dependencies you fill in at the bottom of this file
84
85CSRCS		= basic.c cont.c contdemo.c motordemo.c sampling.c clamp2.c
86
87# defining a linker command file will have the build system generate it
88# automatically and include it on the linker invocation line
89LCF_FILE	= $(INC_ROOT)/revolution/eppc.$(ARCH_TARGET).lcf
90
91# BINNAMES lists all binaries that will be linked.  Note that no suffix is
92# required, as that will depend on whether this is a DEBUG build or not.
93# The final name of the binaries will be $(BINNAME)$(BINSUFFIX)
94BINNAMES 	= basic cont motor sampling clamp2
95
96# modulerules contains the rules that will use the above variables
97# and dependencies below to construct the binaries specified.
98include $(REVOLUTION_SDK_ROOT)/build/buildtools/modulerules
99
100
101# Dependencies for the binaries listed in BINNAMES should come here
102# They are your typical makefile rule, with extra variables to ensure
103# that the names and paths match up.
104# $(FULLBIN_ROOT) is the location of the local bin directory
105# $(BINSUFFIX) depends on whether this is a debug build or not
106# $(REVOLUTION_LIBS) includes all the Revolution libraries.
107$(FULLBIN_ROOT)/basic$(BINSUFFIX): basic.o \
108		      $(REVOLUTION_LIBS)
109
110$(FULLBIN_ROOT)/cont$(BINSUFFIX): cont.o contdemo.o \
111		      $(REVOLUTION_LIBS)
112
113$(FULLBIN_ROOT)/motor$(BINSUFFIX): cont.o motordemo.o \
114		      $(REVOLUTION_LIBS)
115
116$(FULLBIN_ROOT)/sampling$(BINSUFFIX): sampling.o \
117		      $(REVOLUTION_LIBS)
118
119$(FULLBIN_ROOT)/clamp2$(BINSUFFIX): clamp2.o \
120		      $(REVOLUTION_LIBS)
121