1BAKEFILE(1) Running Bakefile BAKEFILE(1)
2
3
4
6 bakefile - native makefiles generator
7
9 bakefile [--version] [--help] -fFORMAT -oOUTFILE
10 [--eol=[format|dos|unix|mac|native]]
11 [--wrap-output=[no|LENGTH]] [-DVAR=VALUE...] [-IPATH...] [-v]
12 [-q] [--dry-run] [--touch] [--dump] file.bkl
13
15 bakefile creates various types of Makefiles and project files from a
16 single project description called a "Bakefile".
17
19 --version
20 Display Bakefile version and exit.
21
22 -h, --help
23 Display usage information and exit.
24
25 -fFORMAT, --format=FORMAT
26 Specify output format. Bakefile supports the following formats:
27
28
29 ┌────────────┬───────────────────────────────────────┐
30 │Format │ File(s) Generated │
31 ├────────────┼───────────────────────────────────────┤
32 │autoconf │ Makefile.in for GNU │
33 │ │ Autoconf │
34 ├────────────┼───────────────────────────────────────┤
35 │borland │ Makefile for Borland C++ │
36 │ │ and Borland │
37 │ │ make │
38 ├────────────┼───────────────────────────────────────┤
39 │dmars │ Generic Makefile for Digital │
40 │ │ Mars C/C++ │
41 ├────────────┼───────────────────────────────────────┤
42 │dmars_smake │ Makefile for Digital Mars │
43 │ │ C/C++ with │
44 │ │ SMAKE │
45 ├────────────┼───────────────────────────────────────┤
46 │gnu │ Makefile for GNU toolchain: │
47 │ │ GNU Make, GCC, │
48 │ │ etc. │
49 ├────────────┼───────────────────────────────────────┤
50 │mingw │ Makefile for MinGW toolchain: │
51 │ │ mingw32-make, │
52 │ │ MinGW port of GCC, etc. │
53 ├────────────┼───────────────────────────────────────┤
54 │msvc │ Makefile for Visual C++ with │
55 │ │ Microsoft │
56 │ │ nmake │
57 ├────────────┼───────────────────────────────────────┤
58 │msvc6prj │ Microsoft Visual C++ 6.0 project │
59 │ │ files │
60 ├────────────┼───────────────────────────────────────┤
61 │msevc4prj │ Microsoft Embedded Visual C++ 4 │
62 │ │ project │
63 │ │ files │
64 ├────────────┼───────────────────────────────────────┤
65 │msvs2003prj │ MS Visual Studio 2003 project files │
66 ├────────────┼───────────────────────────────────────┤
67 │msvs2005prj │ MS Visual Studio 2005 project files │
68 ├────────────┼───────────────────────────────────────┤
69 │msvs2008prj │ MS Visual Studio 2008 project files │
70 ├────────────┼───────────────────────────────────────┤
71 │symbian │ Symbian development files │
72 ├────────────┼───────────────────────────────────────┤
73 │watcom │ Makefile for OpenWatcom C/C++ │
74 ├────────────┼───────────────────────────────────────┤
75 │xcode2 │ Apple Xcode 2.4 project files │
76 └────────────┴───────────────────────────────────────┘
77
78 -oOUTFILE, --output=OUTFILE
79 File to write generated makefile to. For those backends that
80 generate more than one file, this option specifies the name of the
81 main makefile.
82
83 This option has special meaning for msvs200xprj formats: by
84 default, both the project files (one for each target) and a
85 solution file, containing all the project files, are generated.
86 However if OUTFILE is a file with .vcproj extension, then only the
87 (necessarily unique) project file will be generated.
88
89 -DVAR=VALUE
90 Define Bakefile variable. This definition overrides any definition
91 from the ruleset or input makefile. You can use it to customize
92 generated output.
93
94 --eol=[format|dos|unix|mac|native]
95 Change the type of line endings used by general files. dos, unix
96 and mac specify the line endings used by respective platforms.
97 native will use line endings of the platform Bakefile is ran on
98 (doing this is usually a bad idea, but it is useful e.g. when
99 checking generated files into RCS system that can´t deal with line
100 endings correctly, such as CVS). The default value is format and
101 means that the most appropriate line endings for the output format
102 will be used - Windows makefiles will use DOS line endings,
103 Autoconf makefiles will use Unix ones and so on.
104
105 --wrap-output=[no|LENGTH]
106 Change line wrappings behavior. By default, Bakefile wraps
107 generated makefiles so that lines don´t exceed 75 characters. Use
108 this option to either change the limit or to disable wrapping
109 entirely by using no as the value.
110
111 -IPATH
112 Add path to the list of directories where Bakefile looks for rules
113 and output templates.
114
115 --dry-run
116 Process the bakefile normally, but instead of creating or modifying
117 files, just print which files would be changed without actually
118 modifying them.
119
120 -v, --verbose
121 Be verbose.
122
123 -q, --quiet
124 Supress all output except for errors.
125
126 --touch
127 Always touch output files, even if their content doesn´t change.
128
129 --debug
130 show internal debugging information
131
132 --dump
133 Dump all Bakefile variables and targets to standard output instead
134 of generating output. This is only useful for debugging Bakefile or
135 ill-behaving makefiles.
136
137 --output-deps=FILE
138 Output dependency information needed by bakefile_gen utility
139
140 --output-changes=FILE
141 Store list of changed files to the given file
142
143 --xml-cache=FILE
144 specify cache file where bakefile_gen stores pre-parsed XML files
145
147 BAKEFILE_PATHS
148 List of directories where ruleset files are looked for (syntax is
149 same as in PATH). Bakefile´s data directory is always searched in
150 addition to paths listed in BAKEFILE_PATHS, but BAKEFILE_PATHS has
151 higher priority.
152
153
154
155[FIXME: source] 10/24/2009 BAKEFILE(1)