1###############################################################################
2# Makefile for MEM Library
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# All modules have "setup" and "build" as targets.  System libraries
15# and demo programs also have an "install" target that copies the compiled
16# binaries to the binary tree (/$(ARCH_TARGET)).
17all: 	setup build install
18
19# Enable the following when multi-byte characters (Shift-JIS) is used in code.
20# Option command for converting Shift-JIS into appropriate hexadecimal representation for the pre-processor
21#MULTIBYTE = TRUE
22
23# commondefs must be included near the top so that all common variables
24# will be defined before their use.
25include $(REVOLUTION_SDK_ROOT)/build/buildtools/commondefs
26
27# Module name should be set to the name of this subdirectory
28MODULENAME	= mem
29
30# This indicates to commondefs/modulerules as to where this directory is
31# The selectable paths are restricted to limit the number of subtrees
32# that are added to the SDK tree.
33LIB		= TRUE
34
35# Library building
36# LIBNAME specifies the name of the library.  No suffix is required, as
37# that will depend on whether this is a DEBUG build or not.
38# The final name of the library will be $(LIBNAME)$(LIBSUFFIX)
39LIBNAME		= mem
40
41# CLIBSRCS/CPPLIBSRCS specifies all C/C++ files that are built and linked into
42# the library.
43# ASMLIBSRCS are all assembly files that will be built and linked into the lib.
44CLIBSRCS	= \
45	  mem_heapCommon.c	\
46	  mem_expHeap.c		\
47	  mem_frameHeap.c	\
48	  mem_unitHeap.c	\
49	  mem_allocator.c	\
50	  mem_list.c		\
51
52# Be sure to place binary objects provided by other companies into a folder other than obj.
53# (Ex: hogeobj/HW2/DEBUG/)
54# OBJECTS_ONLY_ROOT = hogeobj/$(ARCH_TARGET)/$(BUILD_TARGET)
55# OBJECTS_ONLY      = hoge.o
56# LIBOBJECTS  = $(addprefix $(OBJECTS_ONLY_ROOT)/, $(OBJECTS_ONLY))
57
58# modulerules contains the rules that will use the above variables
59# and dependencies below to construct the library and binaries specified.
60include $(REVOLUTION_SDK_ROOT)/build/buildtools/modulerules
61