Makeit
is a wrapper (a front end) to make
. Makeit
simplifies the builds and provides consistency. It can traverse project hierarchies and convert makefile descriptions to real makefiles (by calling CreateMake
).
Installation
Makeit
is located in /usr/taligent/bin
and requires no installation. Make sure this directory is in your command search path if Makeit
fails to run.Makeit
has only a few options; however, it passes all other options to make
. So in effect, Makeit
has the same options as make
, plus its own options. Syntax
Makeit [options] [Targets]
Makeit
passes any unrecognized arguments on to make
.
Arguments | -c |
Does not build subprojects. By default, Makeit operates recursively on subprojects from the bottom up, executing targets at every project it finds in a subproject{} block.
|
-D | Does not rebuild a makefile, even if it is out-of-date. | |
-i |
Does not stop when errors are encountered. This is passed to make as -i .
|
|
-fast |
CreateMake option; Makeit passes this option to CreateMake .
|
|
-M |
Forces all makefiles to be rebuilt on the fly by calling CreateMake even if files are up-to-date.
|
|
-T | Traverses the project tree, but does not build anything. | |
VAR=value |
Assigns value to the variable named VAR. Makeit passes this expression to make to alter makefile variable usage.
|
|
-vers |
Echoes the current version and copyright information to stderr .
|
|
Targets |
The targets to build. If you omit this option, Makeit builds each target in the current project (includes , objects , exports , and binaries ) and the necessary dependencies. You can also specify complete to build the four targets.
Makefiles is a special target that generates a new makefile, but does not build anything. Use this for debugging.
Makeit Makefiles
|
Go through each build process target (Includes, Objects, Exports, and Binaries) and build the necessary dependencies.
Usage
To build DemoApp and its subprojects:Makeit
A common mistake is to build one target (as in the previous example), and not realize that Makeit DemoApp
Makeit
is going to make all subprojects of DemoApp--many of which do not have a target DemoApp. To prevent Makeit
from building subprojects, include -c
:
To require Makeit -c DemoApp
Makeit
to execute only the Includes and Exports targets in each directory.
Makeit Includes Exports
Passing options to make
Makeit
accepts (and passes) all options to make
. You can use this feature to pass options to make
. For example, if you want make
to continue building even if an error occurs, include -i
for make
:
This works similarly for any Makeit -i Objects
make
option; Makeit
correctly passes arguments for options too. For example, you can override variables in makefiles as you can with make
. To override the COPTS
(compiler options) variable in the makefile:
Makeit COPTS=-g Binaries
Creating makefiles
Makeit
can build makefiles while it is running. Makeit
rebuilds a makefile if:
*.Make
file does not exist.
*.PinkMake
file is newer than the *.Make
file.
-M
to override the automatic makefile generation.
Makeit
uses CreateMake
to translate the makefile descriptions (*.PinkMake
) to UNIX makefiles (*.Make
).
Global target | Task | |
clean
|
Removes all .o and .e files, and libraries that were built. | |
complete
|
Expands into the four standard targets: Includes , Objects , Exports , and Binaries .
|
|
makefiles
|
Allows you to traverse the directory and rebuild makefiles as needed. |