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