1#============================================================================
2# Project:  RevolutionSDK Extensions - buildtools
3# File:     commondefs.rex
4#
5# Global common definitions for RevolutionNET build system
6#
7# Copyright 2006 Nintendo. All rights reserved.
8#
9# These coded instructions, statements, and computer programs contain
10# proprietary information of Nintendo of America Inc. and/or Nintendo
11# Company Ltd., and are protected by Federal copyright law.  They may
12# not be disclosed to third parties or copied or duplicated in any form,
13# in whole or in part, without the prior written consent of Nintendo.
14#
15# $Log: commondefs.rex,v $
16# Revision 1.60  2007/11/16 02:53:24  seiki_masashi
17# Small fix
18#
19# Revision 1.59  2007/11/15 07:22:16  seiki_masashi
20# Added the ssl library to the link targets
21#
22# Revision 1.58  2007/11/15 06:31:05  tokunaga_yasuhiro
23# Changed so that each target refers to NdevRun.ddf by default
24#
25# Revision 1.57  2007/10/25 02:49:08  okubata_ryoma
26# Changes for the release of RevoEX 2.1 PR.
27#
28# Revision 1.56  2007/10/10 08:37:53  seiki_masashi
29# Added the MPDS library
30#
31# Revision 1.55  2007/08/09 09:03:02  okubata_ryoma
32# Updates to generate RevoEX release version with support for RevoSDK 3.1 RC2.
33#
34# Revision 1.54  2007/07/20 04:09:50  okubata_ryoma
35# Changed TitleID to 33.
36#
37# Revision 1.53  2007/06/15 05:45:04  hirose_kazuki
38# Support for NWC24 script build.
39#
40# Revision 1.52  2007/05/11 03:15:31  okubata_ryoma
41# Changed TitleID to 31.
42#
43# Revision 1.51  2007/04/10 02:04:57  hirose_kazuki
44# Changed TitleID to 30.
45#
46# Revision 1.50  2007/03/01 13:59:50  seiki_masashi
47# TITLEID 17->21
48#
49# Revision 1.49  2007/02/09 04:19:53  yosizaki
50# added ntr.a mpfs.a
51#
52# Revision 1.48  2006/12/05 07:30:32  yasu
53# TITLEID 14->17
54#
55# Revision 1.47  2006/11/10 09:15:13  yasu
56# Set default TITLEID to 14.
57#
58# Revision 1.46  2006/11/08 02:31:36  yasu
59# Set default firmware to 13 series.
60#
61# Revision 1.45  2006/10/27 12:32:30  yasu
62# Changed default firmware ID from 8 to 12.
63#
64# Revision 1.44  2006/10/18 13:09:54  yasu
65# Changed the default firmware to 8 series.
66#
67# Revision 1.43  2006/10/13 07:02:37  yasu
68# Revised the rvl.bin selection.
69#
70# Revision 1.42  2006/09/29 07:03:34  yasu
71# Set default firmware to 10 series.
72#
73# Revision 1.41  2006/09/29 02:12:56  yasu
74# Revised the apploader install process.
75#
76# Revision 1.40  2006/09/28 10:02:04  yasu
77# Revised so apploader will be generated as well.
78#
79# Revision 1.39  2006/09/19 06:29:56  yasu
80# Set noFW version.
81#
82# Revision 1.38  2006/09/15 02:32:26  yasu
83# Revised the DIP_INET6* flag process.
84#
85# Revision 1.37  2006/09/08 06:11:03  yosizaki
86# Added nhttp, vf.
87#
88# Revision 1.36  2006/09/06 07:09:01  yasu
89# Changed the default firmware to 8 series.
90#
91# Revision 1.35  2006/09/05 10:58:51  yosizaki
92# Removed rexdemo.
93#
94# Revision 1.34  2006/08/30 09:02:01  yosizaki
95# Added rexdemo.
96#
97# Revision 1.33  2006/08/25 14:49:53  yasu
98# Made additions related to REX_TOOL.
99#
100# Revision 1.32  2006/08/24 04:29:43  adachi_hiroaki
101# Added settings for building tools using NW4R.
102#
103# Revision 1.31  2006/08/22 09:59:43  yasu
104# Revised makefile determination when using SHOW_CURDIR.
105#
106# Revision 1.30  2006/08/21 11:01:12  adachi_hiroaki
107# Changed specifications so that socket.a or so.a can be specified.
108#
109# Revision 1.29  2006/08/17 03:30:12  yasu
110# Suppressed TITLEID specification.
111#
112# Revision 1.28  2006/08/09 00:29:40  yasu
113# Added net.
114#
115# Revision 1.27  2006/08/08 10:04:10  terui
116# Added 'so' to REX_LIBNAMES.
117#
118# Revision 1.26  2006/08/08 06:27:14  yasu
119# Set REX_TITLEID to 7.
120#
121# Revision 1.25  2006/08/08 05:02:55  yoshioka_yasuhiro
122# Deleted the enc library. Moved it to RevolutionSDK.
123#
124# Revision 1.24  2006/08/08 02:48:34  seiki_masashi
125# Support for binary data link.
126#
127# Revision 1.23  2006/08/02 13:33:34  yasu
128# Added REX_BUILD_TYPE.
129#
130# Revision 1.22  2006/08/02 13:08:39  yasu
131# Added the enc library.
132#
133# Revision 1.21  2006/07/31 06:12:00  yasu
134# Moved overwrite of do-setup command to commondefs.
135#
136# Revision 1.20  2006/07/31 04:24:51  yasu
137# Added ddf for switching firmware.
138#
139# Revision 1.19  2006/07/24 09:32:28  yasu
140# Set installation destination for ports.
141#
142# Revision 1.18  2006/07/24 01:53:54  yasu
143# @Keyword@ Rule support
144#
145# Revision 1.17  2006/07/21 06:32:46  yasu
146# Implemented the installer creation feature.
147#
148# Revision 1.16  2006/07/20 02:03:05  yasu
149# Added definition of echo.
150#
151# Revision 1.15  2006/07/20 01:02:31  yasu
152# The current directory display settings.
153#
154# Revision 1.14  2006/07/19 12:39:13  yasu
155# Added bin file setting.
156#
157# Revision 1.13  2006/07/19 11:47:48  yasu
158# Revised method of setting initial value for REVOLUTION_EXT_ROOT.
159#
160# Revision 1.12  2006/07/19 08:43:17  yasu
161# SILENT flag handling.
162#
163# Revision 1.11  2006/07/15 12:47:21  terui
164# Added nwc24 to REX_LIBNAMES.
165#
166# Revision 1.10  2006/07/10 04:07:31  yasu
167# Temporarily changed library name from nitro to wdp.
168#
169# Revision 1.9  2006/07/09 13:10:10  yasu
170# PPC make tree connection completed.
171#
172# Revision 1.8  2006/07/09 11:25:55  yasu
173# moving process intermediate save 2.
174#
175# Revision 1.7  2006/07/09 08:16:10  yasu
176# moving process intermediate save 1.
177#
178# Revision 1.6  2006/07/05 09:19:41  seiki_masashi
179# Cleaned up library for linking.
180#
181# Revision 1.5  2006/07/03 08:39:25  yosizaki
182# Added nitro and mpdl.
183#
184# Revision 1.4  2006/06/30 04:32:13  terui
185# Added socket.a to REVOLUTION_LIBS.
186#
187# Revision 1.3  2006/06/21 02:44:26  seiki_masashi
188# Added wd and mp to LIBS.
189#
190# Revision 1.2  2006/06/16 04:21:12  terui
191# Added the TEST_ROOT definition.
192#
193# Revision 1.1  2006/05/30 07:09:57  terui
194# Initial upload.
195#
196#
197# $NoKeywords: $
198#
199#============================================================================
200EMPTY		:=
201SPACE		:= $(EMPTY) $(EMPTY)
202
203#
204# Tree Root
205#
206REVOLUTION_EXT_ROOT			?= C:/RevoEX
207REVOLUTION_EXT_INSTALL_ROOT	?= $(REVOLUTION_EXT_ROOT)
208NITROSDK_ROOT				?= C:/NitroSDK
209
210# Pathname Translation
211REX_DIR			?= $(subst $(SPACE),\$(SPACE),$(subst \,/,$(REVOLUTION_EXT_ROOT)))
212REX_INSTALL_DIR	?= $(subst $(SPACE),\$(SPACE),$(subst \,/,$(REVOLUTION_EXT_INSTALL_ROOT)))
213NITROSDK_DIR	?= $(subst $(SPACE),\$(SPACE),$(subst \,/,$(NITROSDK_ROOT)))
214NW4R_DIR		?= $(subst $(SPACE),\$(SPACE),$(subst \,/,$(NW4R_ROOT)))
215#
216# Debug/NDebug
217#
218ifeq	($(REX_DEBUG)$(REX_NDEBUG),)
219ifndef	NDEBUG
220DEBUG           = TRUE
221REX_DEBUG		= TRUE
222REX_BUILD_TYPE	= DEBUG
223else
224REX_NDEBUG		= TRUE
225REX_BUILD_TYPE	= RELEASE
226endif
227endif
228
229#
230# Firmware Default TitleID
231#
232# REX_TITLEID		?= 35
233REX_TITLEID		?= 0
234REX_TITLEFW		?= noFW
235# REX_TITLEFW	?= FW
236
237#
238# For Local Setting
239#
240-include $(REX_DIR)/build/buildtools/@*private
241-include $(REX_DIR)/build/buildtools/_confidential
242
243#
244# Directory shortcuts
245#
246REX_INCDIR			:= $(REX_DIR)/include
247REX_BUILDDIR		:= $(REX_DIR)/build
248REX_PORTSDIR		:= $(REX_DIR)/ports
249REX_BOOTDIR			:= $(REX_DIR)/$(ARCH_TARGET)/boot
250
251REX_DEMODIR			:= $(REX_BUILDDIR)/demos
252REX_TESTDIR			:= $(REX_BUILDDIR)/tests
253REX_DDFTMPLTDIR		:= $(REX_BUILDDIR)/buildtools/ddf
254
255override BUILD_ROOT	 = $(REX_BUILDDIR)
256
257#
258# Library List and Build Setting
259#
260REX_LIBNAME_SOCKET		?= so
261REX_LIBNAMES			 = ncd wd mp ntr mpdl mpfs mpds nwc24 net nhttp ssl vf $(REX_LIBNAME_SOCKET)
262
263REX_LIBTYPE				 = $(ARCH_TARGET)/lib
264REX_LIBDIR				 = $(REX_DIR)/$(REX_LIBTYPE)
265REX_LIBSUFFIX			 = $(if $(REX_DEBUG),D,)
266REX_LIBFILES			 = $(addsuffix $(REX_LIBSUFFIX).a,$(REX_LIBNAMES))
267REX_LIBS				 = $(addprefix $(REX_LIBDIR)/,$(REX_LIBFILES))
268
269REX_NW4R_LIBDIR			 = $(NW4R_DIR)/Library/lib/$(ARCH_TARGET)/$(if $(REX_DEBUG),Debug,Release)
270REX_NW4R_LIBNAMES		 = mcs ut db ef math snd g3d
271REX_NW4R_LIBFILES		 = $(addsuffix .a,$(addprefix libnw4r_,$(REX_NW4R_LIBNAMES)))
272REX_NW4R_LIBS			 = $(addprefix $(REX_NW4R_LIBDIR)/,$(REX_NW4R_LIBFILES))
273
274REX_BINTYPE				 = $(ARCH_TARGET)/bin
275REX_BINDIR				 = $(REX_DIR)/$(REX_BINTYPE)
276REX_BOOTDIR				 = $(REX_DIR)/$(ARCH_TARGET)/boot
277
278GINCLUDES				+= -I$(REX_INCDIR)
279
280#
281# Install Target Directories
282#
283REX_INSTALL_INCDIR		:= $(REX_INSTALL_DIR)/include
284REX_INSTALL_LIBDIR		:= $(REX_INSTALL_DIR)/$(REX_LIBTYPE)
285REX_INSTALL_BINDIR		:= $(REX_INSTALL_DIR)/$(REX_BINTYPE)
286REX_INSTALL_TOOLSDIR	:= $(REX_INSTALL_DIR)/tools
287REX_INSTALL_DVDDATADIR	:= $(REX_INSTALL_DIR)/dvddata
288REX_INSTALL_PORTSDIR	:= $(REX_INSTALL_DIR)/ports
289
290#
291# WORK AROUND
292#
293
294# Reject IPv6 code [TRUE/FALSE]
295REX_IP_INET4_ONLY		?= FALSE
296
297# Ignore IPv6 packet [TRUE/FALSE]
298REX_IP_INET6_IGNORED	?= TRUE
299
300#
301# Target for "setup" hacks
302#
303override SETUP_ROOTS	 = do-setup
304
305#
306# Dirty Files
307#
308REX_DISTCLEAN		=
309
310#
311# Binary Data
312#
313REX_LOCAL_DATDIR	= data
314
315#----------------------------------------------------------------------------
316#  MAKE COMMAND SETTINGS
317#
318#	--no-print-directory: 	No print directory when 'change directory'
319#	-r			no built-in rules
320#	-R			no built-in variables
321#	-j			do make with multi-thread (not used now)
322#
323ECHO			 = echo
324MAKEFILE		 = $(firstword $(MAKEFILE_LIST))
325REMAKE			 = $(MAKE) -f $(MAKEFILE)
326INSTALL			 = install
327MAKEO			 = makeo
328MAKEO_FLAGS		 = -a 64
329
330MAKEFLAGS_SHORT	= $(filter -%,$(filter-out --%,$(MAKEFLAGS)))
331MAKEFLAGS		+= -R -r
332
333# Check -w option
334ifeq (,$(findstring w,$(MAKEFLAGS_SHORT)))
335MAKEFLAGS		+= --no-print-directory
336endif
337
338# Check -k option
339ifeq (,$(findstring k,$(MAKEFLAGS_SHORT)))
340AND		= &&
341else
342AND		= ;
343endif
344
345# Check -s option
346ifneq (,$(findstring s,$(MAKEFLAGS_SHORT)))
347SILENT			 = TRUE
348RVLIOP_STDOUT	 = > /dev/null
349else
350REX_SHOW_CURDIR	 = TRUE
351endif
352
353ifneq (Makefile,$(MAKEFILE))
354ifneq (makefile,$(MAKEFILE))
355MAKEFILE_NAME	 = /$(MAKEFILE)
356endif
357endif
358
359# NWC24 script stuff
360NWC24CC			 = $(REVOLUTION_EXT_ROOT)/X86/bin/NWC24/nwc24cc.sh
361
362
363ifdef REX_SHOW_CURDIR
364define  ECHO_CURDIR
365    @$(ECHO) "==== $(CURDIR)$(MAKEFILE_NAME)"
366endef
367endif
368
369
370#======== End of commondefs.rex ========#
371