############################################################################### # Template makefile for new modules # # Copyright (C) 2005-2006 Nintendo. All rights reserved. # # These coded instructions, statements, and computer programs contain # proprietary information of Nintendo of America Inc. and/or Nintendo # Company Ltd., and are protected by Federal copyright law. They may # not be disclosed to third parties or copied or duplicated in any form, # in whole or in part, without the prior written consent of Nintendo. ############################################################################### ############################################################################### # commondefs must be included near the top so that all common variables # will be defined before their use. ############################################################################### include $(REVOLUTION_SDK_ROOT)/build/buildtools/commondefs ############################################################################### # The following defines force the commondef defines to be directory independent ############################################################################### MODULENAME = MODULE_ROOT = . DEMO = TRUE DEMO_ROOT = . SAMPLE = LINCLUDES = -I./include ############################################################################### # Library building # LIBNAME specifies the name of the library. No suffix is required, as # that will depend on whether this is a DEBUG build or not. # The final name of the library will be $(LIBNAME)$(LIBSUFFIX) # # CLIBSRCS specifies all C files that are built and linked into the library. # ASMLIBSRCS are all assembly files that will be built and linked into the lib. ############################################################################### LIBNAME = samplelib CLIBSRCS = samplelib.c ASMLIBSRCS = ############################################################################### # Binary building # BINNAMES lists all binaries that will be linked. Note that no suffix is # required, as that will depend on whether this is a DEBUG build or not. # The final name of the binaries will be $(BINNAME)$(BINSUFFIX) # # CSRCS lists all C files that should be built # ASMSRCS lists all assembly files that should be built. # The makefile determines which objects are linked into which binaries # based on the dependencies you fill in at the bottom of this file ############################################################################### BINNAMES = samplebin CSRCS = samplebin.c ASMSRCS = ############################################################################### # All modules have "setup" and "build" as targets. System libraries # and demo programs also have an "install" target that copies the compiled # binaries to the binary tree (/revolution/$(ARCH_TARGET)). ############################################################################### all: setup build ############################################################################### # Include LCF file ############################################################################### ifdef EPPC LCF_FILE = $(INC_ROOT)/revolution/eppc.$(ARCH_TARGET).lcf endif ############################################################################### # modulerules contains the rules that will use the above variables # and dependencies below to construct the library and binaries specified. ############################################################################### include $(REVOLUTION_SDK_ROOT)/build/buildtools/modulerules ############################################################################### # Dependencies for the binaries listed in BINNAMES should come here # They are your typical makefile rule, with extra variables to ensure # that the names and paths match up. # $(FULLBIN_ROOT) is the location of the local bin directory # $(BINSUFFIX) depends on whether this is a debug build or not # $(LOCALLIB_ROOT) points at the local lib directory # $(REVOLUTION_LIBS) includes all the Revolution libraries. ############################################################################### $(FULLBIN_ROOT)/samplebin$(BINSUFFIX): samplebin.o \ lib/$(ARCH_TARGET)/samplelib$(LIBSUFFIX) \ $(REVOLUTION_LIBS)