ChorusOS 5.0 Source Delivery Guide

imake Rules

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.mkmake 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.rfmake rules, for mkmk
variables.rf Includes the compiler specific file about variables
tgtdevsys.rf Includes the compiler specific file about rules
shared.rfCalls mkmake
Makefile.mkimageMakefile used during image creation
Makefile.confMakefile used during configurable actor links
genLinkGeneric 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.awkawk 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