|
|
|
|
|
|
ACDK Make is a platform neutral make
utility.
The makefiles are named build.csf and
are written in a simple scripting language
called CfgScript.
The build.csf has no special syntax for make files,
but uses dmi to create and configure Tasks.
It was designed to compile ACDK projects, but can be
used as general replacement for other make tools.
Two basic environmet variable has to be set using acdkmake:
The installation directory of the ACDK tools including acdkmake.
If this environmnent variable is not set, or not passed
as command line argument (see man acdk_core)
will be asumed as parent directory of current binary
directory.
The acdkmake has to be found in:
# Unix
$ACDK_TOOLS_HOME/bin/acdkmake
# Win32
%ACDK_TOOLS_HOME%/bin/acdkmake_r.exe
In the $ACDK_TOOLS_HOME/bin directory also the ACDK shared libraries
can be found.
The ACDKHOME environment variable is used while
compiling ACDK projects.
-
-j numberofjobs: Parallize the compile jobs.
- -f buildfile
: Load build file. If not given
try to load build.csf in current directory.
-
-dn : No source dependemcies.
-
-dd : Only source dependencies which are
included via #include "file.h" not via #include <file.h>.
-
-df : Full include dependencies.
-
-k : Don't abort if an task fails.
-
-D <LABEL[=VALUE]> : Add define passed to compile tasks.
-
-I <include path> : Add include path passed to compile tasks.
-
-L <library path> : Add library search path passed to link tasks.
-
-PATH <execution path> : Add path to execution search path.
-
-dump-tasks : print task definitions before starting.
-
-dump-targets : print targets known by this acdkmake installation.
-
-dump-target <targetname> : Dump target definitions.
-
-dump-sel-target : Dump target definitions choosen by acdkmake.
-
-acdk-home <ACDKHOME> .
-
-acdk-tools-home <ACDK_TOOLS_HOME> .
-
-loglevel <Threshold log level> : suppress all logging below this log level.
[TaskName [TaskTargetTags] [TaskCommand]] [TaskName [TaskTargetTags] [TaskCommand]]
Where
- TaskName: The name of the task. If no TaskName is specified
The first task specified or a task with the name "default" will
be executed. If an amake argument is not found as task it will
be interpreted as TaskTargetTags.
- TaskTargetTags are modifier like DEBUG, RELEASE, STATIC, SHARED.
If an amake argument is not found as TaskTargetTags it will
be passed as TaskCommand to the task while executing the
task.
- TaskCommand are string which are passed to the tasks. Some
Task ignores the command, other requires the TaskCommand.
If the Task want to have a valid TaskCommand it should
also support the TaskCommand "help".
given build.csf:
#include "amake_config.cfg"
/* create a library acdk_boot */
acdk_boot = new acdk.make.AcdkLibTask("acdk_boot");
acdk_boot.addModule("src/acdk/boot");
acdk_boot.addAcdkLib("acdk_core");
acdk_boot.addAcdkLib("acdk_text");
HelloWorld = new acdk.make.AcdkExeTask("HelloWorld");
HelloWorld.addSource("src/acdk/HelloWorld.cpp");
HelloWorld.addAcdkLib("acdk_core");
HelloWorld.addAcdkLib("acdk_text");
HelloWorld.addAcdkLib("acdk_boot");
HelloWorld.addSubTask("acdk_boot");
|
- make acdk_boot (DEBUG SHARED):
amake
- Clean acdk_boot STATIC (DEBUG) files:
amake acdk_boot STATIC clean
- build and install acdk_boot and HelloWorld:
amake acdk_boot all HelloWorld all
|
|