1#!/usr/bin/env omake 2#---------------------------------------------------------------------------- 3# Project: Horizon 4# File: targetdefs.CTR.om 5# 6# Copyright 2007-2009 Nintendo. All rights reserved. 7# 8# These coded instructions, statements, and computer programs contain 9# proprietary information of Nintendo of America Inc. and/or Nintendo 10# Company Ltd., and are protected by Federal copyright law. They may 11# not be disclosed to third parties or copied or duplicated in any form, 12# in whole or in part, without the prior written consent of Nintendo. 13# 14# $Date:: 2010-09-13#$ 15# $Rev: 25674 $ 16# $Author: kakemizu_hironori $ 17#---------------------------------------------------------------------------- 18 19#---------------------------------------------------------------------------- 20# CTR プラットフォームの定義 21#---------------------------------------------------------------------------- 22TargetSpecCTR. = 23 extends $(TargetSpec) 24 class TargetSpecCTR 25 26 platform = CTR 27 28 new(name) = 29 this.name = $(name) 30 return $(this) 31 32 getMinimumLibraries(systemname, processor) = 33 libs = 34 switch($(systemname)) 35 case Process 36 libs += 37 switch($(processor)) 38 case MPCore 39 # libnn_init の nninitSetup から ndm を呼んでいるので 40 # libnn_ndm が必要。nninitSetup を上書きしている場合は 41 # 不要になりそうなものだが、常に必要な模様。 42 value libnn_dbg \ 43 libnn_fnd \ 44 libnn_init \ 45 libnn_ndm \ 46 libnn_os \ 47 libnn_nstd \ 48 libnn_svc \ 49 libnn_svcDbg \ 50 libnn_util \ 51 librtport \ 52 libnn_srv 53 export 54 return $(libs) 55 56 getDefaultLibraries(systemname, processor) = 57 libs = $(getMinimumLibraries $(systemname), $(processor)) 58 switch($(systemname)) 59 case Process 60 libs += 61 switch($(processor)) 62 case MPCore 63 value libnn_math \ 64 libgles2 \ 65 libnn_dsp \ 66 libnn_fs \ 67 libnn_gxlow \ 68 libnn_hid \ 69 libnn_hidlow \ 70 libnn_snd \ 71 libnn_mic \ 72 libnn_ptm \ 73 libnn_socket \ 74 libnn_ac \ 75 libnn_http \ 76 libnn_camera \ 77 libnn_y2r \ 78 libnn_jpegmp \ 79 libnn_cfg \ 80 libnn_ndm \ 81 libnn_uds \ 82 libnn_dbm \ 83 libnn_cec \ 84 libnn_pl \ 85 libnn_cx \ 86 libnn_dlp \ 87 libnn_font \ 88 libnn_applet 89 export 90 return $(libs) 91 92 getHostIoLibraries(systemname, processor) = 93 libs = 94 switch($(systemname)) 95 case Process 96 libs += 97 switch($(processor)) 98 case MPCore 99 value libnn_hio \ 100 libnn_dev 101 export 102 return $(libs) 103 104 getPreloadProcesses(processor, moduledir) = 105 switch($(processor)) 106 case MPCore 107 return $(EMPTY) 108 case ARM946ES 109 return $(EMPTY) 110 case ARM7TDMI 111 return $(EMPTY) 112 return $(EMPTY) 113 114 getMacroFlags(systemname, processor) = 115 flags = -DNN_PROCESSOR_ARM 116 flags += 117 switch($(processor)) 118 case MPCore 119 value -DNN_PROCESSOR_ARM11MPCORE -DNN_PROCESSOR_ARM_V6 -DNN_PROCESSOR_ARM_VFP_V2 120 case ARM946ES 121 value -DNN_PROCESSOR_ARM946ES -DNN_PROCESSOR_ARM_V5 122 case ARM7TDMI 123 value -DNN_PROCESSOR_ARM7TDMI -DNN_PROCESSOR_ARM_V4 124 return $(flags) 125 126 getDefaultRomSpecFile(hardware) = 127 return Application.rsf 128 129 getSystemFlags(systemname) = 130 return $(EMPTY) 131 132#---------------------------------------------------------------------------- 133# ハードウェア定義 134#---------------------------------------------------------------------------- 135 136#---------------------------------------------------------------------------- 137section 138 spec = $(TargetSpecCTR.new $'CTR-TS') 139 spec.hardware = CTR-TS 140 spec.processors = MPCore ARM946ES 141 spec.getSystemFlags(systemname) = 142 flags = -DNN_DEBUGGER_KMC_PARTNER 143 switch($(systemname)) 144 case Kernel 145 flags += -DFIRM_TARGET_KERNEL -DBROM_TARGET_KERNEL 146 export 147 return $(flags) 148 149 spec.getMacroFlags(systemname, processor) = 150 return $(TargetSpecCTR::getMacroFlags $(systemname), $(processor)) -DNN_HARDWARE_CTR 151 152 TARGET_MANAGER.register($(spec)) 153 export 154 155 156 157if $(test -f $(ROOT_OMAKE)/targetdefs.CTR.internal.om) 158 include $(ROOT_OMAKE)/targetdefs.CTR.internal.om 159 export 160