bakefile — native makefiles generator
bakefile
[
--version
] [
--help
]
-f
FORMAT
-o
OUTFILE
[
--eol=[format|dos|unix|mac|native]
] [
--wrap-output=[no|
] [
LENGTH
]-D
VAR
=VALUE
...] [
-I
PATH
...] [
-v
] [
-q
] [
--dry-run
] [
--touch
] [
--dump
]
file.bkl
bakefile creates various types of Makefiles and project files from a single project description called a "Bakefile".
--version
Display Bakefile version and exit.
-h
, --help
Display usage information and exit.
-f
FORMAT
,
--format
=FORMAT
Specify output format. Bakefile supports the following formats:
Format | File(s) Generated |
---|---|
autoconf | Makefile.in for GNU Autoconf |
borland | Makefile for Borland C++ and Borland make |
dmars | Generic Makefile for Digital Mars C/C++ |
dmars_smake | Makefile for Digital Mars C/C++ with SMAKE |
gnu | Makefile for GNU toolchain: GNU Make, GCC, etc. |
mingw | Makefile for MinGW toolchain: mingw32-make, MinGW port of GCC, etc. |
msvc | Makefile for Visual C++ with Microsoft nmake |
msvc6prj | Microsoft Visual C++ 6.0 project files |
msevc4prj | Microsoft Embedded Visual C++ 4 project files |
msvs2003prj | MS Visual Studio 2003 project files |
msvs2005prj | MS Visual Studio 2005 project files |
msvs2008prj | MS Visual Studio 2008 project files |
suncc | GNU makefile for SunCC compiler |
symbian | Symbian development files |
watcom | Makefile for OpenWatcom C/C++ |
xcode2 | Apple Xcode 2.4 project files |
-o
OUTFILE
,
--output
=OUTFILE
File to write generated makefile to. For those backends that generate more than one file, this option specifies the name of the main makefile.
This option has special meaning for msvs200xprj formats: by default, both the project files (one for each target) and a solution file, containing all the project files, are generated. However if OUTFILE is a file with .vcproj extension, then only the (necessarily unique) project file will be generated.
-D
VAR
=VALUE
Define Bakefile variable. This definition overrides any definition from the ruleset or input makefile. You can use it to customize generated output.
--eol
=[format|dos|unix|mac|native]
Change the type of line endings used by general files.
dos
, unix
and
mac
specify the line endings used by
respective platforms. native
will use
line endings of the platform Bakefile is ran on (doing this is
usually a bad idea, but it is useful e.g. when checking
generated files into RCS system that can't deal with line
endings correctly, such as CVS). The default value is
format
and means that the most appropriate
line endings for the output format will
be used - Windows makefiles will use DOS line endings,
Autoconf makefiles will use Unix ones and so on.
--wrap-output
=[no|LENGTH]
Change line wrappings behavior. By default, Bakefile wraps
generated makefiles so that lines don't exceed 75 characters.
Use this option to either change the limit or to disable
wrapping entirely by using no
as the value.
-I
PATH
Add path to the list of directories where Bakefile looks for rules and output templates.
--dry-run
Process the bakefile normally, but instead of creating or modifying files, just print which files would be changed without actually modifying them.
-v
, --verbose
Be verbose.
-q
, --quiet
Supress all output except for errors.
--touch
Always touch output files, even if their content doesn't change.
--debug
show internal debugging information
--dump
Dump all Bakefile variables and targets to standard output instead of generating output. This is only useful for debugging Bakefile or ill-behaving makefiles.
--output-deps
=FILE
Output dependency information needed by bakefile_gen utility
--output-changes
=FILE
Store list of changed files to the given file
--xml-cache
=FILE
specify cache file where bakefile_gen stores pre-parsed XML files