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-10-25#$ 15# $Rev: 29304 $ 16# $Author: hirose_kazuki $ 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 libnn_err \ 52 librtport \ 53 libnn_srv 54 export 55 return $(libs) 56 57 getDefaultLibraries(systemname, processor) = 58 libs = $(getMinimumLibraries $(systemname), $(processor)) 59 switch($(systemname)) 60 case Process 61 libs += 62 switch($(processor)) 63 case MPCore 64 value libnn_math \ 65 libgles2 \ 66 libnn_dsp \ 67 libnn_fs \ 68 libnn_gxlow \ 69 libnn_hid \ 70 libnn_hidlow \ 71 libnn_snd \ 72 libnn_mic \ 73 libnn_ptm \ 74 libnn_socket \ 75 libnn_ac \ 76 libnn_http \ 77 libnn_camera \ 78 libnn_y2r \ 79 libnn_jpegmp \ 80 libnn_cfg \ 81 libnn_ndm \ 82 libnn_uds \ 83 libnn_dbm \ 84 libnn_cec \ 85 libnn_pl \ 86 libnn_cx \ 87 libnn_dlp \ 88 libnn_font \ 89 libnn_applet \ 90 libnn_crypto 91 export 92 return $(libs) 93 94 getHostIoLibraries(systemname, processor) = 95 libs = 96 switch($(systemname)) 97 case Process 98 libs += 99 switch($(processor)) 100 case MPCore 101 value libnn_hio \ 102 libnn_dev 103 export 104 return $(libs) 105 106 getPreloadProcesses(processor, moduledir) = 107 switch($(processor)) 108 case MPCore 109 return $(EMPTY) 110 case ARM946ES 111 return $(EMPTY) 112 case ARM7TDMI 113 return $(EMPTY) 114 return $(EMPTY) 115 116 getMacroFlags(systemname, processor) = 117 flags = -DNN_PROCESSOR_ARM 118 flags += 119 switch($(processor)) 120 case MPCore 121 value -DNN_PROCESSOR_ARM11MPCORE -DNN_PROCESSOR_ARM_V6 -DNN_PROCESSOR_ARM_VFP_V2 122 case ARM946ES 123 value -DNN_PROCESSOR_ARM946ES -DNN_PROCESSOR_ARM_V5 124 case ARM7TDMI 125 value -DNN_PROCESSOR_ARM7TDMI -DNN_PROCESSOR_ARM_V4 126 return $(flags) 127 128 getDefaultRomSpecFile(hardware) = 129 return Application.rsf 130 131 getSystemFlags(systemname) = 132 return $(EMPTY) 133 134#---------------------------------------------------------------------------- 135# ハードウェア定義 136#---------------------------------------------------------------------------- 137 138#---------------------------------------------------------------------------- 139section 140 spec = $(TargetSpecCTR.new $'CTR-TS') 141 spec.hardware = CTR-TS 142 spec.processors = MPCore ARM946ES 143 spec.getSystemFlags(systemname) = 144 flags = -DNN_DEBUGGER_KMC_PARTNER 145 switch($(systemname)) 146 case Kernel 147 flags += -DFIRM_TARGET_KERNEL -DBROM_TARGET_KERNEL 148 export 149 return $(flags) 150 151 spec.getMacroFlags(systemname, processor) = 152 return $(TargetSpecCTR::getMacroFlags $(systemname), $(processor)) -DNN_HARDWARE_CTR 153 154 TARGET_MANAGER.register($(spec)) 155 export 156 157 158 159if $(test -f $(ROOT_OMAKE)/targetdefs.CTR.internal.om) 160 include $(ROOT_OMAKE)/targetdefs.CTR.internal.om 161 export 162