diff options
Diffstat (limited to 'docs/dev_guide/autobuild.md')
-rwxr-xr-x | docs/dev_guide/autobuild.md | 34 |
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: |