1#----------------------------------------------------------------------------
2# Project:  Horizon
3# File:     commondefs.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: 35731 $
14#----------------------------------------------------------------------------
15
16#----------------------------------------------------------------------------
17# omake �̐ݒ�
18#----------------------------------------------------------------------------
19
20# OMake �̃f�t�H���g���C�u��������x�����ǂݍ���
21open build/Common
22
23SCANNER_MODE=disabled
24
25
26
27#----------------------------------------------------------------------------
28# ���[�g�̓���
29#----------------------------------------------------------------------------
30
31# ��`���Ă���萔
32#
33#   CTRSDK_ROOT
34#   HORIZON_ROOT
35#   HORIZON_TARGETS
36#   HORIZON_ADDINS_ROOT
37#
38
39# �f�B���N�g�����[�g �‹��ϐ��̎擾�i��`����Ă��Ȃ��Ă��r���h���͉̂”\�j
40HORIZON_ROOT =
41    if $(defined-env HORIZON_ROOT)
42        value $(absname $"$(getenv HORIZON_ROOT)")
43
44if $(defined-env CTRSDK_ROOT)
45    CTRSDK_ROOT = $(absname $"$(getenv CTRSDK_ROOT)")
46    if $(and $(defined-env HORIZON_ROOT), $(not $(equal $(HORIZON_ROOT), $(CTRSDK_ROOT))))
47        eprintln(HORIZON_ROOT �� CTRSDK_ROOT ����v���܂���B�����p�X��ݒ肷�邩�A�ǂ��炩����������`���ĉ������B)
48        exit(1)
49    HORIZON_ROOT = $(CTRSDK_ROOT)
50    export HORIZON_ROOT CTRSDK_ROOT
51
52if $(defined-env CTRSDK_TARGETS)
53    private.targets = $(absname $"$(getenv CTRSDK_TARGETS)")
54    if $(defined-env HORIZON_TARGETS)
55        eprintln(HORIZON_TARGETS �� CTRSDK_TARGETS �͓����Ɏg�p�ł��܂���̂ŁA�ǂ��炩����������`���ĉ������B)
56        exit(1)
57    global.HORIZON_TARGETS = $(targets)
58    export HORIZON_TARGETS
59
60if $(not $(HORIZON_ROOT))
61    eprintln($"$$CTRSDK_ROOT ����`����Ă��܂���")
62    HORIZON_ROOT = $(absname $(ROOT))
63    export HORIZON_ROOT
64
65global.HORIZON_ADDINS_ROOT =
66    if $(defined-env HORIZON_ADDINS_ROOT)
67        value $(absname $"$(getenv HORIZON_ADDINS_ROOT)")
68    else
69        private.path = $(absname $(HORIZON_ROOT)/../CTR/Addins)
70        value $(if $(file-exists $(path)),$(path),$(EMPTY))
71
72
73
74
75#----------------------------------------------------------------------------
76# �O���[�o���萔��`
77#----------------------------------------------------------------------------
78
79# �f�B���N�g�����`
80
81global.SUBDIR_IMAGES        = images
82global.SUBDIR_OBJECTS       = objects
83global.SUBDIR_LIBRARIES     = libraries
84global.SUBDIR_INCLUDE       = include
85global.SCANNER_PREFIX       = scan
86
87global.AROOT                = $(absname $(ROOT))
88
89global.ROOT_IMAGES          = $(absname $(ROOT)$(DIRSEP)$(SUBDIR_IMAGES))
90global.ROOT_OBJECTS         = $(absname $(ROOT)$(DIRSEP)$(SUBDIR_OBJECTS))
91global.ROOT_LIBRARIES       = $(absname $(HORIZON_ROOT)$(DIRSEP)$(SUBDIR_LIBRARIES))
92global.ROOT_BUILD           = $(absname $(HORIZON_ROOT)$(DIRSEP)build)
93global.ROOT_OMAKE           = $(absname $(ROOT_BUILD)$(DIRSEP)omake)
94global.ROOT_INCLUDE         = $(absname $(ROOT)$(DIRSEP)$(SUBDIR_INCLUDE))
95global.ROOT_SOURCES         = $(absname $(ROOT)$(DIRSEP)sources)
96global.ROOT_TOOLS           = $(absname $(HORIZON_ROOT)$(DIRSEP)tools)
97global.ROOT_TARGETTOOLS     = $(absname $(HORIZON_ROOT)$(DIRSEP)tools$(DIRSEP)TargetTools)
98global.ROOT_COMMANDS        = $(absname $(ROOT_TOOLS)$(DIRSEP)CommandLineTools)
99global.ROOT_RESOURCES       = $(absname $(HORIZON_ROOT)$(DIRSEP)resources)
100
101global.HORIZON_ROOT_INCLUDE     = $(HORIZON_ROOT)$(DIRSEP)$(SUBDIR_INCLUDE)
102global.HORIZON_ROOT_IMAGES      = $(HORIZON_ROOT)$(DIRSEP)$(SUBDIR_IMAGES)
103global.HORIZON_ROOT_LIBRARIES   = $(HORIZON_ROOT)$(DIRSEP)$(SUBDIR_LIBRARIES)
104
105
106
107# �g���q�̐ݒ�
108
109global.EXT_OBJ          = .o
110global.EXT_LIB          = .a
111global.EXT_ASM          = .s
112global.EXT_C            = .c
113
114global.EXT_EXE          = $(EXE)
115global.EXT_ELF          = .axf
116global.EXT_PLF          = .plf
117global.EXT_MAP          = .map
118global.EXT_DASM         = .dasm
119global.EXT_LDS          = .autogen.ldscript
120
121
122
123# �c�[���p�X�̐ݒ�
124
125global.BIN2OBJ          = $(file $(ROOT_COMMANDS)/ctr_bin2obj32$(EXE))
126global.BIN2OBJ_FLAGS    =
127global.RUNNER           = $(file $(ROOT_BUILD)/runner/run.sh)
128global.RUNNER_LOCK      = $(file $(ROOT_BUILD)/runner/.lock)
129
130
131
132
133
134# ��`���Ă���萔
135#
136#   INSTALL_ROOT
137#   INSTALL_IMAGES_DIR
138#   INSTALL_ROOT_IMAGES
139#   INSTALL_ROOT_LIBRARIES
140#
141
142declare global.INSTALL_ROOT
143# �C���X�g�[�����ݒ� (���̏��ԂŗD��)
144# 1. �‹��ϐ� HORIZON_INSTALL_ROOT
145# 2. �ϐ� INSTALL_ROOT
146# 3. �ϐ� HORIZON_ROOT
147if $(defined-env HORIZON_INSTALL_ROOT)
148    INSTALL_ROOT = $(dir $"$(getenv HORIZON_INSTALL_ROOT)")
149    export INSTALL_ROOT
150else
151    if $(defined INSTALL_ROOT)
152        INSTALL_ROOT = $(dir $(INSTALL_ROOT))
153        export
154    elseif $(equal $(AROOT), $(HORIZON_ROOT))
155        INSTALL_ROOT = $(ROOT)
156        export
157    export
158
159if $(not $(defined INSTALL_IMAGES_DIR))
160    INSTALL_IMAGES_DIR = $(SUBDIR_IMAGES)
161    export
162
163if $(defined INSTALL_ROOT)
164    INSTALL_ROOT_IMAGES     = $(dir $(INSTALL_ROOT)$(DIRSEP)$(INSTALL_IMAGES_DIR))
165    INSTALL_ROOT_LIBRARIES  = $(dir $(INSTALL_ROOT)$(DIRSEP)$(SUBDIR_LIBRARIES))
166    export
167
168
169
170
171
172#----------------------------------------------------------------------------
173# �O���[�o���ϐ��錾�Ə�����
174#----------------------------------------------------------------------------
175
176global.HORIZON_ADDITIONAL_RULES         = $(EMPTY)
177global.HORIZON_POST_ADDITIONAL_RULES    = $(EMPTY)
178
179global.SOURCES              =
180global.OBJECTS              =
181
182# �r���h�^�[�Q�b�g�ƃr���h�^�C�v�ɍ��킹���f�B���N�g�������[�U���Ŏw�肷�邽�߂̕ϐ�
183global.BUILD_TARGET_DIR     =   $`(TARGET.getFullnameWithSystem Process)
184global.BUILD_TYPE_DIR       =   $`(TARGET.buildtype)
185
186global.DEFAULT_TARGETS      = $(EMPTY)
187global.DEFAULT_FILTER       = CTR-TS*MPCore*
188
189
190# ��`���Ă���ϐ�
191#
192#   SKIP_BUILD
193#   DEBUG_PRINT
194#   DEBUG_PRINT_SDK
195#   ASSERT_WARNING
196#   ASSERT_WARNING_SDK
197#   HOST_IO
198#   TRACE_PRODUCTCODE
199#
200
201if $(not $(defined SKIP_BUILD))
202    global.SKIP_BUILD       = false
203    export
204
205if $(not $(defined DEBUG_PRINT))
206    global.DEBUG_PRINT      = $`(DEBUG_PRINT_DEFAULT)
207    export
208
209if $(not $(defined DEBUG_PRINT_SDK))
210    global.DEBUG_PRINT_SDK  = $`(DEBUG_PRINT_SDK_DEFAULT)
211    export
212
213if $(not $(defined ASSERT_WARNING))
214    global.ASSERT_WARNING   = $`(ASSERT_WARNING_DEFAULT)
215    export
216
217if $(not $(defined ASSERT_WARNING_SDK))
218    global.ASSERT_WARNING_SDK = $`(ASSERT_WARNING_SDK_DEFAULT)
219    export
220
221if $(not $(defined HOST_IO))
222    global.HOST_IO          = $`(HOST_IO_DEFAULT)
223    export
224
225if $(not $(defined TRACE_PRODUCTCODE))
226    global.TRACE_PRODUCTCODE =
227    export
228
229
230
231global.TARGET_FILTER =
232    if $(defined FILTER)
233        value $(FILTER)
234    elseif $(defined targets)
235        eprintln($"Warning: `targets` �̑���� `FILTER` ���g�p���ĉ������B")
236        value $(targets)
237    else
238        if $(defined-env HORIZON_TARGETS)
239            value $(getenv HORIZON_TARGETS)
240        elseif $(defined-env CTRSDK_TARGETS)
241            value $(getenv CTRSDK_TARGETS)
242        else
243            value $`(DEFAULT_FILTER)
244
245
246if $(grep q, $",", $(open-in-string $(TARGET_FILTER)))
247    TARGET_FILTER = $(split $",", $(TARGET_FILTER))
248    export
249
250
251BUILDTYPES =
252    if $(defined BUILD)
253        value $(BUILD)
254    else
255        value Development
256
257section
258    RS=$'[ \t,]+'
259    TARGET_BUILDTYPES =
260    export TARGET_BUILDTYPES
261    awk($(open-in-string $(lowercase $(BUILDTYPES))))
262    case $'(debug)|(dbg)'
263        TARGET_BUILDTYPES += Debug
264    case $'dev(elop)?'
265        TARGET_BUILDTYPES += Development
266    case $'rel(ease)?'
267        TARGET_BUILDTYPES += Release
268    case $'full'
269        TARGET_BUILDTYPES += Debug Development Release
270
271    TARGET_BUILDTYPES = $(set $(TARGET_BUILDTYPES))
272
273
274
275
276.PHONY: CGeneratedFilesTarget
277.PHONY: build
278.PHONY: build-romfs
279.PHONY: show-config
280.PHONY: build-setup
281.PHONY: tests
282
283.PHONY: all build clean clean-autogen clobber install
284
285
286
287
288
289#----------------------------------------------------------------------------
290# �v���b�g�t�H�[������
291#----------------------------------------------------------------------------
292
293include $(ROOT_OMAKE)/platformdefs
294
295global.TARGET_PLATFORM = $(NN_PLATFORM_MANAGER.Select $(TARGET_FILTER))
296
297
298#----------------------------------------------------------------------------
299# �T�u���[���ǂݍ���
300#----------------------------------------------------------------------------
301
302# Horizon �p���C�u����
303include $(ROOT_OMAKE)/utildefs
304include $(ROOT_OMAKE)/commondefs.funcs
305include $(ROOT_OMAKE)/commondefs.cctype
306include $(makePlatformDefsPath commondefs)
307include $(ROOT_OMAKE)/targetdefs
308include $(ROOT_OMAKE)/packagedefs
309include $(ROOT_OMAKE)/debuggerdefs
310
311# �l�̐ݒ����荞��
312if $(test -f $(ROOT_OMAKE)/localdefs.om)
313    include $(ROOT_OMAKE)/localdefs
314    export
315
316
317
318#----------------------------------------------------------------------------
319# ���ʃ��[����`
320#----------------------------------------------------------------------------
321
322%.c: %.y
323    $(YACC) $<
324
325%.c: %.l
326    $(LEX) $<
327
328show-config:
329    $(ShowConfig)
330
331