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