Here we describe some of the more sophisticated m3makefile commands for reference. You won't need most of these commands for normal use of m3makefiles.
override( "pkg" , "dir" )
Look in directory dir/pkg for the package pkg instead of looking in the public repository. Use this command in conjunction with the import(P) when you want to import from a private library instead of the publicly shipped package.
c_source( "file" )
Declares that the file file.c contains C source code.
import_lib( "name" , "dir" )
If dir/libname.a is a library, includes -Ldir -lname in the final link command. Otherwise, includes -lname in the final link command. This command is quite useful in importing foreign libraries, like Win32, or X11.
import_obj( "libname" )
Include libname in the final link command.
m3_option( "option" )
remove_m3_option( "option" )
Add or remove option option to or from list of compiler options. Option must be enclosed in quotes; it can contain:
-why
Explain why each compilation is needed (default).
-commands
Print the compilation commands as they are started.
-verbose
Print what happens to each file.
-times
Print a breakdown of elapsed time.
-g
Generate debugging symbols (default).
-O
Optimize code.
-a
Turn off <*ASSERT*> checking.
-keep
Preserve intermediate files.
-once
Don't recompile modules with new opaque info.