The following table is a list of environment variables for changing Nitro-SDK tree build conditions.
In addition to setting their values with normal environment variables, it is also possible to set them by passing
NITRO_DEBUG=True as a make command argument, or by defining NITRO_DEBUG=True with Makefile, etc. Initial values will be used if no settings are made.
CWFolder_NITROor CWFOLDER_NITRO |
The directory in which CodeWarrior is installed.
Setting is automatic when you install CodeWarrior for NITRO. When setting with
When setting with Windows environment variables, it becomes:
Both Initial value: |
||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LM_LICENSE_FILE |
Directory that contains the CodeWarrior license file.
Initial value: none. Normally this is not required. |
||||||||||||||||
NITROSDK_ROOTImportant |
NITROSDK is installed in this directory. Additionally, $NITROSDK is deployed in this directory.
Although Initial value: C:\NitroSDK. However, if the SDK is provided by the installer, the path that is selected by the installer will be set. |
||||||||||||||||
NITROSDK_LANG |
You can switch the NitroSDK compile options between Japanese and English.For the options, English uses " -enc ascii". Japanese uses "-enc SJIS".
Initial value: If the SDK that is provided by a zip file and Japanese is provided by the installer, the language that is selected by the installer will be set. |
||||||||||||||||
NITRO_PROCImportant for ARM7 |
This switch switches between generating code for the main processor and the sub processor. It is also often specified in the makefile.
Initial value: ARM 9 (code for the Main Processor) |
||||||||||||||||
NITRO_CODEGEN |
This gives the compiler and the assembler default values for whether to generate ARM code or Thumb code. If the output type is not specified by the source code, the compiler and assembler create the executable according to these values.
Initial value: ARM |
||||||||||||||||
NITRO_PLATFORMand NITRO_TS_VERSION |
The NITRO compile target is specified as shown below. The architecture is specified with NITRO_PLATFORM, and the exact version related to the TS is specified with NITRO_TS_VERSION.
Initial value: NITRO_PLATFORM=TS and NITRO_TS_VERSION=100 |
||||||||||||||||
NITRO_MEMSIZE |
This specifies the NITRO compile target main memory size. This environment variable is currently disabled.
Initial value: 4M |
||||||||||||||||
NITRO_CCTYPE |
Compiler specification. However, currently only CodeWarrior is supported.
Initial value: CW |
||||||||||||||||
NITRO_DEBUGNITRO_RELEASENITRO_FINALROMImportant |
You can select from the following compile targets: DEBUG version, RELEASE version, FINALROM version. When the make command is executed, the compile options and the linked libraries will change according to this setting. Unlike other variables, this variable is enabled by setting a value that is applicable to one of the three values.Initial value: |
||||||||||||||||
NITRO_COMPRESS |
When some value has been specified, the STATIC/OVERLAY segment is compressed after the link is completed. Initial value: None (no compression) |
||||||||||||||||
NITRO_DIGEST |
This build switch is enabled only for applications. It is disabled at SDK build time. If a value is set, the program will build for a DS Single-Card Play child program that uses overlays.
|
||||||||||||||||
NITRO_PROFILE |
If some value is set, the -profile option is added when compiling. This is primarily used during debugging so that input and output can be traced during execution. For more details, please refer to OS_DumpCallTrace().Initial value: None ( |
||||||||||||||||
NITRO_NO_OPT_G |
If some value is set, remove the specified -g option when performing a standard compile or when linking. This can shorten the link processing time that causes problems in large-scale projects.Initial value: None ( |
||||||||||||||||
IS_NITRO_DIR |
IS-NITRO-EMULATOR related files are installed in this directory. Setting is automatic when you install IS-NITRO-EMULATOR. If this environment variable exists, the IS-NITRO-EMULATOR related library is automatically linked. Initial value: |
||||||||||||||||
NITRO_AUTOTEST |
In case some value was set, the code for the automated test becomes effective. Management macro for SDK.
Initial value: None. (test code is invalid) |
||||||||||||||||
The following table lists macro variables. They are used so that the source side can understand the Nitro-SDK tree build conditions by means of #ifdef – #endif C Specifications, etc. Basically, they're controlled by the environment variables set in the source code.
All names begin with SDK_.
SDK_BBSDK_TEGSDK_TS |
One of these is defined in accordance with the NITRO compile target specification (environment variable NITRO_PLATFORM).
Initial value: SDK_TEG |
||||||||
|---|---|---|---|---|---|---|---|---|---|
SDK_4MSDK_8M |
One of these is defined in accordance with the NITRO compile target main memory size specification (environment variable NITRO_MEMSIZE).
Initial value: SDK_4M |
||||||||
SDK_ARM9SDK_ARM7 |
One of these is defined in accordance with the processor for which the compile or assembly is performed.
Initial value: SDK_ARM9 |
||||||||
SDK_CODE_ARMSDK_CODE_THUMB |
Shows whether the compiler option is set to generate Thumb code or ARM code. This is simply to show "Initial Settings". You must reference the definition macro that is incorporated in the compiler to see which code is actually being generated (in the case of CW, We recommend that when pragma has been used to explicitly switch code generation within one range of the source, when this range ends you should return code generation to the setting shown by this value.
Initial value: CODEGEN_CC/CODEGEN_AS settings |
||||||||
SDK_CWSDK_ADSSDK_GCC |
One of these is defined in accordance with the compiler that is being used.
Initial value: SDK_CW |
||||||||
SDK_ASM |
This is defined when assembling with the assembler.
Use this when you want to note that sharing the C header file will cause an error in the assembler. |
||||||||
SDK_DEBUGSDK_RELEASESDK_FINALROMImportant |
One of these is defined in accordance with which one of the target compile targets has been specified: DEBUG, RELEASE, or FINALROM).
Initial value: SDK_RELEASE |
||||||||
SDK_PACKING_DATESDK_VERSION_DATE |
This 8-digit number indicates the packaging date of the SDK as This value is defined in the Because Generally, |
||||||||
SDK_AUTOTEST |
This is an SDK Management Macro. When build is performed, it works with the environment variable The testing code inside your SDK needs to be written as valid auto-test code, only when this macro is defined. |
||||||||
Miscellaneous |
There are other temporary compile switches, such as those shown below. Currently no general method has been prepared for these user compile switches. Use them as keywords when searching.
|
The following are values defined by LCFile (the linker script file), and they are determined during the linking process.
All names begin with SDK_.
SDK_SYS_STACKSIZE |
This symbol controls the size of the DTCM stack used during application startup. Games can be customized by revising the LCF file or LCF specification file.The OS_Init() function allocates the DTCM region that can be used (excluding the region reserved by the system and interrupt process) to the stack and DTCM arena based on the stack size determined by this value. The configuration method used by OS_Init() depends on whether the value of SDK_SYS_STACKSIZE is positive, negative, or 0.
Initial Value: 0 All available DTCM is used as the stack. |
||||||
|---|---|---|---|---|---|---|---|
SDK_IRQ_STACKSIZE |
This is the stack size that is used in the interrupt routine. It is secured as a system region in DTCM. Here we have taken into account function calls in the interrupt routine that use a lot of the stack, such as OS_Printf. Therefore the initial value is a little high. It is possible to reduce this in the ship ROM version, which will not use OS_Printf.Depending on the debug environment, you will have to call the debug routine from the interrupt handler, and in some cases you will need to increase this value. For this refer to the documentation for each debug environment. Initial value: 0x400 bytes. |
||||||
SDK_MAIN_ARENA_LO |
Initial value of the Low address of the main arena.This value is automatically set during linking. |
The switches in the following table are for setting build conditions for each directory using Makefile in the Nitro-SDK. They specify source location, the linking Makefile, and the like.
SUBDIRSImportant |
Enumerates directories you want to associate with the make process.
Initial value: None |
||||||||
|---|---|---|---|---|---|---|---|---|---|
SUBMAKESEnumerates the Makefiles that you want to associate with the make process.
Initial value: None | |||||||||
SRCSImportant |
Enumerates source files you want to compile or assemble.
Based on each file extension,
|
||||||||
SRCS_OVERLAYFor Overlay |
Lists the source files to compile or assemble. The object files created from the files specified here are registered as being affiliated with the OVERLAY group. |
||||||||
SRCDIR |
Specifies the source file's directory.
Initial value: The initial value is a path specified by |
||||||||
INCDIR |
If there is a private include file (an include file specific to the module) this specifies the directory. You don't need to use this if it is not needed.
Initial value: |
||||||||
OBJDIRBINDIRLIBDIRProhibit overwrite |
make outputs all temporary files to this directory.
This may be changed to accommodate the source tree. Therefore, avoid overwrite within |
||||||||
LCFILE |
Specify this if you want to use your own link command file ( .lcf).
Initial value: |
||||||||
LCFILE_SPEC |
Specifies the source configuration file when automatically creating a link command file with the makelcf command.
Initial Value: Not Defined |
||||||||
ROM_SPEC |
Specifies the file describing ROM file contents. This file is passed to the makerom command and is a hint for ROM creation. |
||||||||
TARGET_BINImportant |
Specifies a target file with .srl format or .nef format.
It compiles or assembles the source files specified by When |
||||||||
TARGET_LIB |
Specifies when you want to create a library file.
It compiles or assembles the source files specified by Normally |
||||||||
TARGET_OBJ |
Specifies when you want to create an object file as a target.
Normally this is not used very much. Use it for a library when you want to compile |
||||||||
NITRO_PROCImportant for ARM7 |
This switches between generating code for the Main Processor and the Sub Processor. This is often specified in the Makefile.
Initial value: ARM9 (Code for Main Processor) |
||||||||
TARGETSOverwrite prohibited |
All items with relative paths attached to TARGET_BIN and TARGET_LIB will be set
automatically. The directories where .srl/.a files are stored will change according to NITRO_PLATFORM and
NITRO_DEBUG/ NITRO_RELEASE/ NITRO_FINALROM settings. This macro was prepared to absorb this difference. |
||||||||
INSTALL_TARGETS |
Enumerates the files you want to install. The TARGETS described above will function in this setting.
Initial value: None |
||||||||
INSTALL_DIR |
Sets file installation target.
Initial value: None |
||||||||
LINCLUDES |
If there are other include files, this specifies their directory. |
||||||||
LLIBRARY_DIRSLLIBRARIES |
If there are other library files, this enumerates their directory with LLIBRARY_DIRS, and the library files with LLIBRARIES. |
||||||||
LDIRT_CLEANLDIRT_CLOBBER |
When make clean or make clobber are executed, this specifies the files that will be erased with the object file. When using make clean, the files specified with LDIRT_CLEAN are erased; when using make clobber, the files specified with both LDIRT_CLEAN and LDIRT_CLOBBER are erased. |
© 2004 Nintendo
NTR-06-0021-001-A6