The Makefile generated by mkmk contains two parts. View the contents of the Makefile. The first part has a list of the definitions of variables as defined in Table 4-2, Table 4-3, Table 4-4 and Table 4-5. The second part contains preprocessed copies of the .bf, .lf, and .mf files found in the work directory. In this example there is only a .bf file present in the work directory.
#
# This makefile is generated automatically
# in build-IOM/src/os/iom/sys
#
...
BDIR = <work_dir>
BNAME = sys
MPATH = build-IOM/src/os/iom/sys
DEFINES = -DNDEBUG -DKERNEL -D_KERNEL -D__FreeBSD__ -DINET \
-DNO_CACHE -DMSDOSFS -DNFS -DIOM_MALLOC -DSHARED_FD
INCLUDES = -Isys/include -Ibsd -Ibsd/sys
-I/<work_dir>/build-OS/include/sys -Ibsd/machine \
-I/<work_dir>/build-OS/include/machine \
-I/<work_dir>/build-OS/include/chorus/iom \
...
FEXCEPTION = OFF
FFPU = ON
FOPTIM = ON
FPROF = OFF
...
FAMILY = ppc60x
COMPILER = gcc
VARIABLES = OS_DIR IOM_DIR NUCLEUS_DIR DRV_DIR
SUB_DIRS = bsd sys
EXTRA_DIRS =
BFILES = sys.bf
MFILES =
DFILES = sys.df
MODULES =
OS_DIR = <work_dir>/build-OS
IOM_DIR = <work_dir>/build-IOM
NUCLEUS_DIR = <work_dir>/build-NUCLEUS
DRV_DIR = <work_dir>/build-DRV
include $(BDIR)/Paths
include $(DEVTOOLS_DIR)/tgt-make/shared.rf
# produced from sys.bf -- begin
S_LIBS = $(IOM_DIR)/lib/os/iom/sys/lib/ufs.a \
$(IOM_DIR)/lib/os/iom/sys/lib/disk.a \
$(IOM_DIR)/lib/os/iom/sys/lib/gen.a \
$(IOM_DIR)/lib/os/iom/sys/lib/mem.a \
$(IOM_DIR)/lib/os/iom/sys/lib/unresolved.a \
$(NUCLEUS_DIR)/lib/stdc/libC.a \
$(NUCLEUS_DIR)/lib/embedded/libebd.s.a \
$(NUCLEUS_DIR)/lib/cpu/cpu.s.a \
$(OS_DIR)/lib/classix/libcx.a \
$(NUCLEUS_DIR)/lib/classix/libsys.s.a
BINARY += N_iom.r
N_iom.r: $(S_LIBS)
$(MKLINK) -r -c -e _start -o N_iom.r -B $(S_LIBS)
# produced from sys.bf -- end
include all.dp
include $(DEVTOOLS_DIR)/tgt-make/mktgt.rf