1###############################################################################
2# Makefile for MEM demo
3#
4# Copyright 2005 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# QUICK START INSTRUCTIONS
15# Type "make" at /build/tests/audio to build DEBUG versions of all tests.
16# Type "make NDEBUG=TRUE" to build OPTIMIZED versions of all tests
17# Type "make lit-test00D.bin" to build DEBUG version of just lit-test00
18# Type "make NDEBUG=TRUE lit-test00.bin" to build OPTIMIZED version of
19# ju ctable paths can be found in modulerules.
20# just lit-test00
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 (/$(ARCH_TARGET)).
32
33all:
34	$(MAKE) setup
35	$(MAKE) build
36	$(MAKE) install
37
38
39# commondefs must be included near the top so that all common variables
40# will be defined before their use.
41
42include $(REVOLUTION_SDK_ROOT)/build/buildtools/commondefs
43
44
45# module name should be set to the name of this subdirectory
46# DEMO = TRUE indicates that this module resides under the "demos" subtree.
47# The list of selectable paths can be found in modulerules.
48
49MODULENAME	= memdemo
50DEMO		= TRUE
51
52
53# CSRCS lists all C files that should be built
54# The makefile determines which objects are linked into which binaries
55# based on the dependencies you fill in at the bottom of this file
56
57CSRCS		= exp-1.c  \
58			  frm-1.c  \
59			  unit-1.c \
60			  allocator.c \
61			  thread_safe.c \
62
63# BINNAMES lists all binaries that will be linked.  Note that no suffix is
64# required, as that will depend on whether this is a DEBUG build or not.
65# The final name of the binaries will be $(BINNAME)$(BINSUFFIX)
66
67BINNAMES 	= exp-1  \
68			  frm-1  \
69			  unit-1 \
70			  allocator \
71			  thread_safe \
72
73# defining a linker command file will have the build system generate it
74# automatically and include it on the linker invocation line
75
76LCF_FILE	= $(INC_ROOT)/revolution/eppc.$(ARCH_TARGET).lcf
77
78
79# modulerules contains the rules that will use the above variables
80# and dependencies below to construct the binaries specified.
81
82include $(REVOLUTION_SDK_ROOT)/build/buildtools/modulerules
83
84
85# Dependencies for the binaries listed in BINNAMES should come here
86# They are your typical makefile rule, with extra variables to ensure
87# that the names and paths match up.
88# $(FULLBIN_ROOT) is the location of the local bin directory
89# $(BINSUFFIX) depends on whether this is a debug build or not
90# $(DOLPHINLIBS) includes all the Dolphin libraries.
91
92$(FULLBIN_ROOT)/exp-1$(BINSUFFIX): exp-1.o \
93                    $(REVOLUTION_LIBS)     \
94                    $(INSTALL_ROOT)/lib/mem$(LIBSUFFIX)
95
96$(FULLBIN_ROOT)/frm-1$(BINSUFFIX): frm-1.o \
97                    $(REVOLUTION_LIBS)     \
98                    $(INSTALL_ROOT)/lib/mem$(LIBSUFFIX)
99
100$(FULLBIN_ROOT)/unit-1$(BINSUFFIX): unit-1.o \
101                    $(REVOLUTION_LIBS)       \
102                    $(INSTALL_ROOT)/lib/mem$(LIBSUFFIX)
103
104$(FULLBIN_ROOT)/allocator$(BINSUFFIX): allocator.o \
105                    $(REVOLUTION_LIBS)       \
106                    $(INSTALL_ROOT)/lib/mem$(LIBSUFFIX)
107
108$(FULLBIN_ROOT)/thread_safe$(BINSUFFIX): thread_safe.o \
109                    $(REVOLUTION_LIBS)       \
110                    $(INSTALL_ROOT)/lib/mem$(LIBSUFFIX)
111
112#======== End of makefile ========#
113