1###############################################################################
2# vim:ts=4:sw=4:noexpandtab
3# Makefile for an RPL
4#
5# Copyright (C) 2011 Nintendo.  All rights reserved.
6#
7# These coded instructions, statements, and computer programs contain
8# proprietary information of Nintendo of America Inc. and/or Nintendo
9# Company Ltd., and are protected by Federal copyright law.  They may
10# not be disclosed to third parties or copied or duplicated in any form,
11# in whole or in part, without the prior written consent of Nintendo.
12#
13###############################################################################
14
15# This makefile must set the relative depth to the build directory
16# using only "..", without a trailing slash
17
18MODULE_DEPTH    := ../..
19BUILD_MAKE_PATH := $(MODULE_DEPTH)/build/make
20
21RPLNAME := malloc
22DEF_FILE := exports.def
23
24include $(BUILD_MAKE_PATH)/commondefs.mk
25include $(BUILD_MAKE_PATH)/commondefs.cos.mk
26include $(BUILD_MAKE_PATH)/os_version.mk
27
28RPL_ENTRY_SPEC := -e rpl_entry
29
30CSRCS   := $(FIND_C_SRCS)
31CPPSRCS := $(FIND_CPP_SRCS)
32ASMSRCS := $(FIND_ASM_SRCS)
33
34COMMON_DYNAMIC_LIBNAMES := coredyn
35
36COS_DONT_USE_DEF_MALLOC := TRUE
37
38USE_PREPRPL_IMPORT_LIB := TRUE
39
40###############################################################################
41# modulerules.mk contains the rules that will use the above variables
42# and dependencies below to construct the RPL specified.
43###############################################################################
44
45include $(BUILD_MAKE_PATH)/modulerules.mk
46
47# Defining $(IMPORT_LIB) as a dependency causes multiple build paths to be
48# followed in a parallel make, but this breaks since both are built by the
49# same target rule.  The dependency is redundant (for the same reason).
50$(BIN_DIR)/$(RPLNAME)$(RPLSUFFIX): $(OBJECTS) $(LIBS) #| $(IMPORT_LIB)
51
52###############################################################################
53# Install to DEBUG or NDEBUG os installation
54
55install: $(BIN_DIR)/$(RPLNAME)$(RPLSUFFIX)
56
57clean: clean_import_lib
58
59clean_import_lib:
60	rm -f $(IMPORT_LIB)
61
62clobber: clobber_import_lib
63
64clobber_import_lib:
65ifneq ($(TOP_CLOBBER_DONE),TRUE)
66	rm -f $(dir $(LIB_DIR))DEBUG/$(RPLNAME)$(LIBSUFFIX)
67	rm -f $(dir $(LIB_DIR))NDEBUG/$(RPLNAME)$(LIBSUFFIX)
68endif
69
70#======== End of makefile ========#
71