ChorusOS--specific imake rules are provided in the imake subdirectory of the install-dir/tools directory, as shown below.
host% cd install_dir/chorus-family/tools/imake host% ls Imake.rules Imake.tmpl Imake32.rules Package.rules Project.tmpl host% |
Table 4-3 presents each imake file.
Table 4-3 The imake files provided with the ChorusOS System
File |
Description |
---|---|
imake/Imake.rules |
imake rules |
imake/Imake32.rules |
Provides compatibility with r3.2 imake rules |
imake/Imake.tmpl |
Template Makefile, for imake |
imake/Package.rules |
Packaging rules, for imake |
imake/Project.tmpl |
Empty Project.tmpl |
Components managed with imake export their public information through packaging rules based on those found in these files. Examples demonstrating the use of ChorusOS--specific imake rules can be found in the ChorusOS 5.0 Application Developer's Guide. Commercially available books offer extensive explanations of how to use imake to manage portable software.
The imake command uses Project.tmpl and Imakefiles you include in each directory of your component source to generate Makefiles. During builds managed with imake, only dependencies between source and binary files are taken into account.
Table 4-4 ChorusOS imake Targets
iMake Target |
Description |
---|---|
all (default target) |
Builds everything |
clean |
Removes generated files recursively |
depend |
Generates dependencies recursively |
Makefile |
Regenerates the Makefile in the current directory. |
Makefiles |
Regenerates Makefiles recursively |
Each file in the tgt-make directory deals with make rules for compiling target binary files. Certain files are specific to the gcc compiler, others to the ghs compiler. Only common and gcc/powerpc specific files are described here. All files listed in Table 4-5 are located in the bin_dir/tools/tgt-make directory:
Table 4-5 Target Rules for ChorusOS
File |
Description |
---|---|
gcc-devsys.mk | make rules used by the imake environment |
gcc-ld.ld | Linker script used to reduce the section number |
gcc-variables.rf | make variables, for the mkmk and imake environments |
gcc-tgtdevsys.rf | make rules, for mkmk |
variables.rf | Includes the compiler specific file about variables |
tgtdevsys.rf | Includes the compiler specific file about rules |
shared.rf | Calls mkmake |
Makefile.mkimage | Makefile used during image creation |
Makefile.conf | Makefile used during configurable actor links |
genLink | Generic linker, calls genLink.conf and genLink.noconf |
genLink.conf | Links configurable actors |
genLink.noconf | Links non-configurable actors |
mkdbginfo | Generates offsets and symbol information |
powerpc/genOff | Create offset files |
powerpc/genOff.awk | awk file used by genOff |
powerpc/act.ld | Linker script used for actors using dynamic libraries |
powerpc/lib.ld | Linker script used to create dynamic libraries |