The Assembler does not change the default.env file in any way. The Assembler only reads the contents. All the configuration properties are stored in the configuration file. The same configuration file can and is intended to be used by different applications.
The processor name is encoded into the section name, so that the Assembler for different processors can use the same file without any overlapping. Different versions of the same Assembler are using the same entries. This usually only leads to a potential problem when options only available in one version are stored in the configuration file. In such situations, two files must be maintained for the different Assembler versions. If no incompatible options are enabled when the file is last saved, the same file can be used for both Assembler versions.
The current directory is always the directory that holds the configuration file. If a configuration file in a different directory is loaded, then the current directory also changes. When the current directory changes, the whole default.env file is also reloaded. When a configuration file is loaded or stored, the options located in the ASMOPTIONS: Default assembler options environment variable are reloaded and added to the project's options.
This behavior has to be noticed when in different directories different default.env files exist which contain incompatible options in their ASMOPTIONS environment variables. When a project is loaded using the first default.env file, its ASMOPTIONS options are added to the configuration file. If this configuration is then stored in a different directory, where a default.env file exists with these incompatible options, the Assembler adds the options and remarks the inconsistency. Then a message box appears to inform the user that those options from the default.env file were not added. In such a situation, the user can either remove the options from the configuration file with the advanced option dialog box or he can remove the option from the default.env file with the shell or a text editor depending upon which options should be used in the future.
At startup, the configuration stored in the project.ini file located in the current Paths Local Configuration File Entries documents the sections and entries you can put in a project.ini file.
Most environment variables contain path lists telling where to look for files. A path list is a list of directory names separated by semicolons following the syntax, as listed in the following listing:
PathList=DirSpec{";"DirSpec} DirSpec=["*"]DirectoryName
The following listing shows a typical example of setting an environment variable.
GENPATH=C:\INSTALL\LIB;D:\PROJECTS\TESTS;/usr/local/Freescale/lib;/ home/me/my_project
If a directory name is preceded by an asterisk (*), the programs recursively search that whole directory tree for a file, not just the given directory itself. The directories are searched in the order they appear in the path list. The following listing shows the use of an asterisk (*) for recursively searching the entire C drive for a configuration file with a \INSTALL\LIB path.
LIBPATH=*C:\INSTALL\LIB
We strongly recommend working with the Shell and setting the environment by means of a default.env file in your project directory. (This project dir can be set in the Shell's 'Configure' dialog box). Doing it this way, you can have different projects in different directories, each with its own environment.
A synonym also exists for some environment variables. Those synonyms may be used for older releases of the Assembler, but they are deprecated and thus they will be removed in the future.