Recompile a source file, for example pathName.C, by removing the object file, <work_dir>/build-IOM/src/os/iom/sys/sys/lib/mem/pathName.o and running the make command. You get a very long output which includes the following:
host% rm <work_dir>/build-IOM/src/os/iom/sys/sys/lib/mem/pathName.o host% make >> In src/os/iom/sys/sys/lib/mem prod ... CC pathName.C ... ar -> mem.a ... sh <bin_dir>/tools/host/bin//../../tgt-make/genLink \ <work_dir>/build-NUCLEUS/ <work_dir> -r -c -e _start -o N_iom.r -B \ ...<work_dir>/build-NUCLEUS/lib/classix/libsys.s.a <bin_dir>/tools/host/bin/configurator \ -c <work_dir>/conf/ChorusOS.xml -action configure <bin_dir>/tools/powerpc/solaris/5.00/powerpc-elf/bin/gcc \ ... bsd/kern/vfs/vfs_vnops.o \ ... <bin_dir>/tools/host/bin/mkctors -T <work_dir>/obj/os/iom/sys/tunables.k \ <work_dir>/obj/os/iom/sys/N_iom.r.xpO > <work_dir>/obj/os/iom/sys/N_iom.r.CT.s <bin_dir>/tools/powerpc/solaris/5.00/powerpc-elf/bin/gcc ... <work_dir>/obj/os/iom/sys/N_iom.r.CT.o ... <bin_dir>/tools/powerpc/solaris/5.00/powerpc-elf/bin/gcc ... <work_dir>/obj/os/iom/sys/N_iom.r.CT.o ...
Look at this output as occurring in several steps.
... >> In src/os/iom/sys/sys/lib/mem prod ... CC pathName.C ... ar -> mem.a ...
The <work_dir>/build-IOM/src/os/iom/sys/sys/lib/mem directory builds a library used during the IOM link. The object file is generated, the library is updated, and the mkmake command continues.
... sh <bin_dir>/tools/host/bin//../../tgt-make/genLink \ <work_dir>/build-NUCLEUS/ <work_dir> -r -c -e _start -o N_iom.r -B \ ...<work_dir>/build-NUCLEUS/lib/classix/libsys.s.a
The linked actor is copied back to the source directory.
Step 3 calls the configurator command:
<bin_dir>/tools/host/bin/configurator \ -c <work_dir>/conf/ChorusOS.xml -action configure
This gets the IOM configuration settings from the XML configuration file.
The last step is the link itself.
<bin_dir>/tools/powerpc/solaris/5.00/powerpc-elf/bin/gcc ... bsd/kern/vfs/vfs_vnops.o \... <bin_dir>/tools/host/bin/mkctors -T <work_dir>/obj/os/iom/sys/tunables.k \ <work_dir>/obj/os/iom/sys/N_iom.r.xpO > <work_dir>/obj/os/iom/sys/N_iom.r.CT.s <bin_dir>/tools/powerpc/solaris/5.00/powerpc-elf/bin/gcc ... <work_dir>/obj/os/iom/sys/N_iom.r.CT.o ... <bin_dir>/tools/powerpc/solaris/5.00/powerpc-elf/bin/gcc ... <work_dir>/obj/os/iom/sys/N_iom.r.CT.o ...
This is done after several loops of gcc, and a call to mkctors, in order to set the values of the tunable parameters.