1#----------------------------------------------------------------------------
2# Project:  Horizon
3# File:     CTR.targetdefs.om
4#
5# Copyright (C)2009-2011 Nintendo Co., Ltd.  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# $Rev: 35126 $
14#----------------------------------------------------------------------------
15
16#----------------------------------------------------------------------------
17# CTR プラットフォームの定義
18#----------------------------------------------------------------------------
19TargetSpecCTR. =
20    extends $(TargetSpec)
21    class TargetSpecCTR
22
23    platform    = CTR
24
25    new(name) =
26        this.name = $(name)
27        return $(this)
28
29    getMinimumLibraries(systemname, processor) =
30        libs =
31        switch($(systemname))
32        case Process
33            libs +=
34                switch($(processor))
35                case MPCore
36                    value libnn_dbg         \
37                          libnn_err         \
38                          libnn_fnd         \
39                          libnn_init        \
40                          libnn_ndm         \
41                          libnn_nstd        \
42                          libnn_os          \
43                          libnn_srv         \
44                          libnn_svc         \
45                          libnn_svcDbg      \
46                          libnn_util        \
47                          librtport
48            export
49        return $(libs)
50
51    getDefaultLibraries(systemname, processor) =
52        libs = $(getMinimumLibraries $(systemname), $(processor))
53        switch($(systemname))
54        case Process
55            libs +=
56                switch($(processor))
57                case MPCore
58                    value libgles2          \
59                          libnn_ac          \
60                          libnn_applet      \
61                          libnn_boss        \
62                          libnn_camera      \
63                          libnn_cec         \
64                          libnn_cfg         \
65                          libnn_crypto      \
66                          libnn_cx          \
67                          libnn_dbm         \
68                          libnn_dlp         \
69                          libnn_dsp         \
70                          libnn_font        \
71                          libnn_friends     \
72                          libnn_fs          \
73                          libnn_gd          \
74                          libnn_gr          \
75                          libnn_gxlow       \
76                          libnn_hid         \
77                          libnn_hidlow      \
78                          libnn_http        \
79                          libnn_jpegmp      \
80                          libnn_math        \
81                          libnn_mic         \
82                          libnn_news        \
83                          libnn_ngc         \
84                          libnn_nwm         \
85                          libnn_pl          \
86                          libnn_ptm         \
87                          libnn_rdt         \
88                          libnn_snd         \
89                          libnn_socket      \
90                          libnn_tpl         \
91                          libnn_ubl         \
92                          libnn_uds         \
93                          libnn_ulcd        \
94                          libnn_y2r
95            export
96        return $(libs)
97
98    getHostIoLibraries(systemname, processor) =
99        libs =
100        switch($(systemname))
101        case Process
102            libs +=
103                switch($(processor))
104                case MPCore
105                    value libnn_dev         \
106                          libnn_fshio       \
107                          libnn_hio         \
108                          libnn_midi
109            export
110        return $(libs)
111
112    getPreloadProcesses(processor, moduledir) =
113        switch($(processor))
114        case MPCore
115            return $(EMPTY)
116        case ARM946ES
117            return $(EMPTY)
118        case ARM7TDMI
119            return $(EMPTY)
120        return $(EMPTY)
121
122    getMacroFlags(systemname, processor) =
123        flags = -DNN_PROCESSOR_ARM
124        flags +=
125            switch($(processor))
126            case MPCore
127                value -DNN_PROCESSOR_ARM11MPCORE -DNN_PROCESSOR_ARM_V6 -DNN_PROCESSOR_ARM_VFP_V2
128            case ARM946ES
129                value -DNN_PROCESSOR_ARM946ES -DNN_PROCESSOR_ARM_V5
130            case ARM7TDMI
131                value -DNN_PROCESSOR_ARM7TDMI -DNN_PROCESSOR_ARM_V4
132        return $(flags)
133
134    getDefaultRomSpecFile(hardware) =
135        return Application.rsf
136
137    getSystemFlags(systemname) =
138        return $(EMPTY)
139
140#----------------------------------------------------------------------------
141# ハードウェア定義
142#----------------------------------------------------------------------------
143
144#----------------------------------------------------------------------------
145section
146    private.spec = $(TargetSpecCTR.new $'CTR-TS')
147    spec.hardware     = CTR-TS
148    spec.processors   = MPCore
149    spec.getSystemFlags(systemname) =
150        private.flags = -DNN_DEBUGGER_KMC_PARTNER
151        return $(flags)
152
153    spec.getMacroFlags(systemname, processor) =
154        return $(TargetSpecCTR::getMacroFlags $(systemname), $(processor)) -DNN_HARDWARE_CTR
155
156    TARGET_MANAGER = $(TARGET_MANAGER.register $(spec))
157    export TARGET_MANAGER
158
159