Bakefile Manual


Table of Contents

1. Introduction
Flow
2. Tutorial
Hello, world
3. Bakefile Concepts
Targets
Variables
Templates
Options
Conditions
Conditional Variables
Modules
Presets
Paths
4. Targets
Standard Target Types ("Rules")
exe
lib
dll
module
phony
action
subproject
Common tags
5. Commands Reference
Makefile Commands
set
unset
option
template
using
include
if
fragment
requires
error
warning
echo
Commands for Extending Bakefile
define-rule
define-tag
define-global-tag
add-target
modify-target
output
6. Frequently encountered issues
FIXME
7. Variables defined by Bakefile
Format independent variables
Changing Bakefile behaviour
Directories
Installation Directories
Recognizing Platform
Format features
Miscellaneous
Standard makefile variables
Format specific variables
autoconf
dmars, dmars_smake
msvs2005prj, msvs2008prj
msvs2003prj
8. Python functions
Introduction
How to use a Python function in a bakefile
Python functions
envvar
isconst
isdefined
isoption
iscondvar
ifthenelse
ref
isDeadTarget
substituteFromDict
nativePaths
addPrefixIfNotEmpty
addPrefixToList
safeSplit
fileList
removeDuplicates
9. Format specific documentation
MS VisualStudio 2005/2008 extended functionality
Watcom format extended functionality
Install and uninstall support on Windows
10. Modules
datafiles
data-files
data-files-ng
script-files
script-files-ng
data-files-tree
copy-files
copy-file-to-file
mkdir
pkgconfig
pkgconfig
11. Batch bakefile generation with bakefile_gen
Introduction
bakefile_gen tags
Processing order
I. Running Bakefile
bakefile — native makefiles generator
bakefile_gen — batch bakefile generation
bakefilize — prepare Bakefile project for use with Autoconf