summaryrefslogtreecommitdiffstats
path: root/docs/dev_guide/autobuild.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/dev_guide/autobuild.md')
-rwxr-xr-xdocs/dev_guide/autobuild.md34
1 files changed, 26 insertions, 8 deletions
diff --git a/docs/dev_guide/autobuild.md b/docs/dev_guide/autobuild.md
index 7eb09dd..ec1ece2 100755
--- a/docs/dev_guide/autobuild.md
+++ b/docs/dev_guide/autobuild.md
@@ -1,4 +1,4 @@
-# Autobuild
+# Autobuild
Applications based on the AGL framework should have a
full build and packaging solution that is independent of the
@@ -107,22 +107,40 @@ cmake .. && make autobuild
Following are the targets available from the **autobuild** script:
- **clean**: Removes all the object files and target results generated by Makefile.
-- **distclean**: Deletes the build directory.
-- **configure**: Generates the project Makefile from the `CMakeLists.txt` files.
-- **build**: Compiles all project targets.
-- **package**: Builds a widget (**wgt**) package.
-- **package-test**: Builds the test **wgt** package and the normal **wgt** package.
+- **clean-{release,debug,coverage,test}**: Removes all the object files and target results generated by Makefile for the specified build type.
+- **clean-all**: Deletes the build directories for all build types.
+- **distclean**: Deletes the build directories for all build types.
+- **configure**: Generates the project Makefile from the `CMakeLists.txt` files for the release build type.
+- **configure-{release,debug,coverage,test}**: Generates the project Makefile from the `CMakeLists.txt` files for the specified build type.
+- **build**: Compiles all project targets for the release build type.
+- **build-{release,debug,coverage,test}**: Compiles all project targets for the specified build type.
+- **build-all**: Compiles all project targets for all specified build types.
+- **package**: Builds the widget (**wgt**) package for the release build type.
+- **package-{release,debug,coverage}**: Builds the widget (**wgt**) package for the specified build type.
+- **package-test**: Builds the test **wgt** package.
+- **package-all**: Builds the widget (**wgt**) packages for all build types.
- **install**: Installs the project into your filesystem.
+Note that `aglwgt.bbclass` only will use the **package-{coverage,test}** targets (and thus the **build-{coverage,test}**, etc. targets) for service bindings by default, so **autobuild** scripts for applications may omit support for those.
+
Specifying the following variables lets you modify compilation behavior:
- **CLEAN_ARGS**: Variable used at **clean** time.
-- **DISTCLEAN_ARGS**: Variable used at **distclean** time.
- **CONFIGURE_ARGS**: Variable used at **configure** time.
- **BUILD_ARGS**: Variable used at **build** time.
-- **DEST**: Directory in which to place the created ***wgt*** file.
+- **BUILD_DIR**: Build directory for release type build.
+ The default value is a "build" directory in the root of the project.
+- **BUILD_DIR_DEBUG**: Build directory for debug type build.
+ The default value is a "build-debug" directory in the root of the project.
+- **BUILD_DIR_TEST**: Build directory for test type build.
+ The default value is a "build-test" directory in the root of the project.
+- **BUILD_DIR_COVERAGE**: Build directory for coverage type build.
+ The default value is a "build-coverage" directory in the root of the project.
+- **DEST**: Directory in which to place the created ***wgt*** file(s).
The default directory is the build root directory.
+Note that the values of **BUILD_DIR_{DEBUG,TEST,COVERAGE}** are defined based on the value of **BUILD_DIR**, so this needs to be kept in mind if over-riding it and building those other widget types.
+
When you provide a variable, use the CMake format (i.e.
BUILD_ARGS="-DC_FLAGS='-g -O2'").
Following is an example: