Important: The information in this document is obsolete and should not be used for new development.
Outputs
The MABuild process creates a makefile called YourApp.MakeIt
. It also creates object files for your code and for MacApp's code, an executable version of your application, and a folder in which the other files are stored.The YourApp
.MakeIt
script contains the commands that were executed by the build. You should not simply execute this file again when you need to rebuild. Instead, run MABuild again so it can determine what must be rebuilt.Folder-Naming Convention
Where does MABuild put all the files it generates? It puts the file YourApp.MakeIt
(containing the output of the MABuild process), along with the object code files, executable application file, and symbol file (if any), in a folder in the directory specified by the options in the MABuild command. This folder is normally a subdirectory of the application's source code folder.If you use the
-autoBuild
option to build MacApp along with your application, MABuild creates a similarly named library folder for each variation of MacApp in MacApp's library directory, referred to by the shell variable{MALibraries}
.MacApp has many compile-time variables that you can set with MABuild's flag options. By default, MABuild creates a separate folder named after the options you choose, prepended by a character determined by the MPW shell variable
MASeparateObjectsPrefix
. For example, if you specify the options-nodebug,
-sym
, the output goes in a folder named (depending on the character specified byMASeparateObjectsPrefix
)
%S7TeSmClSC
MABuild names the folders in which it keeps these separate versions using a convention that assigns a two-character mnemonic based on the value of each compile-time flag, as shown in Table A-3. Then it strings together all the pairs to produce one long name.
The name constructed from the string of mnemonic pairs indicates exactly what's in the folder, but it's not easily parsed by human eyes. MABuild offers an option (the
RenameFlag
option) that lets you give any name you like to any set of flags. In fact, the file{MATools}MABuild.r
defines remappings for many sets of sets of flags, including those shown in Table A-4. As a result, for the options-nodebug, -sym
, the real name of the output folder is (depending on the character specified byMASeparateObjectsPrefix
)
%68K Sym
You can define other names using the
RenameFlag
option on the MABuild command line. Or you can modify the definition ofMABuildDefaults
in the1Startup
file by adding lines such as the following (a made-up example, which remapsS7CqTeMr
toNoDebug MrC Special
instead ofNoDebug MrC
):-RenameFlag S7CqTeMr 'NoDebug MrC Special'
You can also modify the
'STR#'(1000)
RenameFlags resource in the MABuild tool. This is more efficient than adding rename flags inMABuildDefaults
or on the command line.You don't normally change the default setting for the
SeparateObjects
option, but if for some reason you do not want to keep separate builds in separate folders, you can specify-NoSeparateObjects
on the MABuild command line.
Table A-4 MABuild remapped names Compiler mnemonic New (remapped) name S7CqTeMr
MrC
S7CqTeSmMr
MrC Sym
S7TeSmClSC
68K Sym
S7CqDbDmRaTeSmMr
MrC Debug
S7NmDbDmPeRaTeSmfCfDClSC
68K Debug Far