Build Tools changes between ER5u and V6
this chapter summarizes major changes to the build system between e32toolp release 127 and e32toolp release 210.
UNICODEUID .mmp keyword no longer supported - use the UID keyword instead.
The UNICODEUID keyword is no longer supported by Makmake.  UIDs specified with the UID keyword now apply to UNICODE builds of the source rather than NARROW builds.  This is possible because NARROW builds are no longer supported.
PROJECT and SUBPROJECT keywords no longer supported - use New SOURCEPATH .mmp keyword instead.
The SOURCEPATH keyword is intended to replace the PROJECT and SUBPROJECT keywords in .mmp files and thus remove the build tools’ affiliation with a two-level source code tree.  Either relative or absolute paths can be specified with the new keyword - relative paths will be considered relative to the directory containing the .mmp file, rather than the project’s top-level directory as paths specified with the SUBPROJECT keyword were.
Default .def file location
If the location for a .def file is not explicitly specified in a particular .mmp file with the DEFFILE keyword, then traditionally the location for this file has been \project\B<platform>.  Now that the PROJECT keyword is redundant in .mmp files the default location for .def files is ..\B<platform>, relative to the directory containing the .mmp file.
Build directory structure
This has changed from
\EPOC32\Build\project\executable_basename\platform\build\
to
\EPOC32\Build\absolute_path_to_mmp_file\mmp_basename\platform\build\
This change again relates to the redundancy of the PROJECT keyword and the build tree now better reflects the structure of the source code tree.
\EPOC\Make directory structure
Makefiles generated via ABLD are now generated into the Build directory.
The old location was
\EPOC32\Make\project\platform\
and now it’s
\EPOC32\Build\absolute_path_to_mmp_file\mmp_basename\platform\
\EPOC\Bldmake directory structure
The files generated by BLDMAKE are now generated into the Build directory.
The old location was
\EPOC32\Bldmake\project\
and now it’s
\EPOC32\Build\absolute_path_to_bld.inf_file\
Documentation
Documentation for the build system is now exported to directory \EPOC32\EngDoc\

Test Exports
A new section has been added to BLD.INF files which allows for the exporting of files from source for use with test code with command ABLD TEST EXPORT.  This section is demarcated with the PRJ_TESTEXPORTS keyword.
ABLD LISTING
The new ABLD LISTING command replaces the LISTASM utility for generating assembler code listings for source code files due to the difficulty in LISTASM coping with the new BUILD directory structure.
Type ABLD HELP LISTING for the syntax of this command.
GetOpt
All the build system PERL scripts from E32toolp now use the GetOpt command-line parsing module from the PERL standard library.  This means that options on command-lines for all these tools must be flagged with a hyphen (-) rather than a forward slash (/).