software engineer &        architecture


ACDK Make manual

ACDK Make is a platform neutral make utility.

Content of this chapter:

     Command line options
       General ACDK command line options


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
# Win32
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.

 Command line options


  • -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.

 General ACDK command line options

  • -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");

HelloWorld = new acdk.make.AcdkExeTask("HelloWorld");

  • make acdk_boot (DEBUG SHARED):
  • Clean acdk_boot STATIC (DEBUG) files:
    amake acdk_boot STATIC clean
  • build and install acdk_boot and HelloWorld:
    amake acdk_boot all HelloWorld all

Last modified 2005-05-08 22:30 by SYSTEM By Artefaktur, Ing. Bureau Kommer