@copying
Manual for Ocera Make System (OMK) version $Id$
-Copyright @copyright{} 2007, 2008, 2009 Michal Sojka, Pavel Pisa
+Copyright @copyright{} 2007, 2008, 2009, 2010 Michal Sojka, Pavel Pisa
@end copying
@titlepage
@contents
@ifnottex
-@node Top, Overview of OMK, (dir), (dir)
+@node Top, Overview, (dir), (dir)
@top Ocera Make System
@insertcopying
@menu
-* Overview of OMK::
-* OMK User's Manual::
+* Overview::
+* User's Manual::
* Original README::
-* OMK Development::
+* Development::
* Variable Index::
@end menu
-@node Overview of OMK, OMK User's Manual, Top, Top
-@chapter OMK Overview
+@node Overview, User's Manual, Top, Top
+@chapter Overview
@cindex overview
OMK is an advanced make system written entirely in GNU make. Compiling
* History::
@end menu
-@node Why to Use OMK?, Quick Start, Overview of OMK, Overview of OMK
+@node Why to Use OMK?, Quick Start, Overview, Overview
@section Why to Use OMK?
Here we list some of OMK features, which we think are important for
-@node Quick Start, History, Why to Use OMK?, Overview of OMK
+@node Quick Start, History, Why to Use OMK?, Overview
@section Quick Start
If you get some sources, which are distributed with OMK, usually the
to the root directory of your project.
@item
Create @file{Makefile.omk} files in all directories you want to
- compile something. Please refer to @ref{OMK User's Manual} to learn
+ compile something. Please refer to @ref{User's Manual} to learn
what to write in @file{Makefile.omk} files.
@item
Run @command{make omkize} in the root directory.
@noindent Your project is now ready to compile.
-@node History, , Quick Start, Overview of OMK
+@node History, , Quick Start, Overview
@section History
OMK was originally written by Pavel Píša as a solution to have one
the make system to support more ``targets''. Michal Sojka took care
about the process of modularization.
-@node OMK User's Manual, Original README, Overview of OMK, Top
-@chapter OMK User's Manual
+@node User's Manual, Original README, Overview, Top
+@chapter User's Manual
@menu
* Basic Concepts::
* Troubleshooting::
@end menu
-@node Basic Concepts, Invoking OMK, OMK User's Manual, OMK User's Manual
+@node Basic Concepts, Invoking OMK, User's Manual, User's Manual
@section Basic Concepts
The main concept of OMK is very simple. In the root directory of the
variables was inspired by Automake so most OMK variables have the name
like @samp{@var{target}_@var{TYPE}}.
-@node Invoking OMK, Compiling Programs, Basic Concepts, OMK User's Manual
+@node Invoking OMK, Compiling Programs, Basic Concepts, User's Manual
@section Invoking OMK
Before using OMK for the first time, you have to call:
printed.
@end defvar
-@node Compiling Programs, Libraries, Invoking OMK, OMK User's Manual
+@node Compiling Programs, Libraries, Invoking OMK, User's Manual
@section Compiling Programs
To tell OMK to compile a program, you need to set some variables in
@c FIXME: INCLUDES variable should not be set by rtlinux rules.
-@node Libraries, Multiple Directories, Compiling Programs, OMK User's Manual
+@node Libraries, Multiple Directories, Compiling Programs, User's Manual
@section Libraries
top level configuration file @file{config.omk} or on command line.
@end defvar
-@node Multiple Directories, Dependency Tracking, Libraries, OMK User's Manual
+@node Multiple Directories, Dependency Tracking, Libraries, User's Manual
@section Multiple Directories
OMK is probably most useful in projects consisting of multiple
value @code{$(ALL_OMK_SUBDIRS)}.
@end defvar
-@node Dependency Tracking, Configuration and Conditional Compilation, Multiple Directories, OMK User's Manual
+@node Dependency Tracking, Configuration and Conditional Compilation, Multiple Directories, User's Manual
@section Dependency Tracking
OMK automatically handles tracking of dependencies of files in compiled
dependencies, OMK parses linker map files, so a change to some library
causes recompilation of all programs using that library.
-@node Configuration and Conditional Compilation, Advanced OMK Features, Dependency Tracking, OMK User's Manual
+@node Configuration and Conditional Compilation, Advanced OMK Features, Dependency Tracking, User's Manual
@section Configuration and Conditional Compilation
In many projects, it is necessary to configure the compilation process. By
compiler.
@end vtable
-@node Advanced OMK Features, Properties of Specific Makefile.rules, Configuration and Conditional Compilation, OMK User's Manual
+@node Advanced OMK Features, Properties of Specific Makefile.rules, Configuration and Conditional Compilation, User's Manual
@section Advanced OMK Features
In this section we list several OMK features, which are more complicated
@end example
@end defvar
-@node Properties of Specific Makefile.rules, Running OMK under Windows OS, Advanced OMK Features, OMK User's Manual
+@node Properties of Specific Makefile.rules, Running OMK under Windows OS, Advanced OMK Features, User's Manual
@section Properties of Specific Makefile.rules
In previous sections, general properties of @file{Makefile.rules} were
TODO
-@node Running OMK under Windows OS, Interfacing OMK to popular IDEs, Properties of Specific Makefile.rules, OMK User's Manual
+@node Running OMK under Windows OS, Interfacing OMK to popular IDEs, Properties of Specific Makefile.rules, User's Manual
@section Running OMK under Windows OS
It is possible to use OMK under Windows OS with MinGW (see
TODO: Is it necessary to install anything special?
-@node Interfacing OMK to popular IDEs, Troubleshooting, Running OMK under Windows OS, OMK User's Manual
+@node Interfacing OMK to popular IDEs, Troubleshooting, Running OMK under Windows OS, User's Manual
@section Interfacing OMK to popular IDEs
@menu
Under Emacs, you can use @command{compile} or @command{recompile}
commands as you are used to do.
-@node Troubleshooting, , Interfacing OMK to popular IDEs, OMK User's Manual
+@node Troubleshooting, , Interfacing OMK to popular IDEs, User's Manual
@section Troubleshooting & Knows Bugs
@itemize
distclean} before you run @command{make}.
@end itemize
-@node Original README, OMK Development, OMK User's Manual, Top
+@node Original README, Development, User's Manual, Top
@chapter Original README
Since this manual still doesn't cover all aspects of OMK, we include
@c @chapter OMK Reference
-@node OMK Development, Variable Index, Original README, Top
-@chapter OMK Development
+@node Development, Variable Index, Original README, Top
+@chapter Development
This section is far from complete. Its purpose is to document internals
of @file{Makefile.rules} as well as other things needed only by people
subdirectories specified in @code{@ref{SUBDIRS}} variable.
@end table
-@node Variable Index, , OMK Development, Top
+@node Variable Index, , Development, Top
@unnumbered Variable Index
@printindex vr