diff options
author | Raquel Medina <raquel.medina@konsulko.com> | 2019-03-06 17:33:35 +0200 |
---|---|---|
committer | Raquel Medina <raquel.medina@konsulko.com> | 2019-03-11 17:11:51 +0200 |
commit | ef6fe8f196227531c7a5de1790d9223e36732516 (patch) | |
tree | 80c8eec0fa6def472e1ac715d3b520b9be485412 /autobuild | |
parent | f4cb3ec807e23788299f9bf1d9c323ff5690aafd (diff) |
autobuild: add autobuild scripts
The autobuild scripts provide an unified way
to build agl apps & services; for the agl
modules missing these scripts, a workaround is
in place to warn of this scenario and allow
for build completion.
This commit add these missing scripts for hvac
app withoud modifying the existing qmake files.
The original scripts, which were designed for
cmake use, are slimmed down and adapted to use
qmake.
- autobuild/agl/autobuild: allows aglwgt_package
task to complete, eliminating the verbose
warnings.
- autobuild/linux/autobuild: allows to build
the wgt file natively on linux using the agl
sdk.
Change-Id: I609e59c2915833f44dbdfc006fba15a8841f3c5f
Bug-AGL: SPEC-2164
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Diffstat (limited to 'autobuild')
-rwxr-xr-x | autobuild/agl/autobuild | 59 | ||||
-rwxr-xr-x | autobuild/linux/autobuild | 62 |
2 files changed, 121 insertions, 0 deletions
diff --git a/autobuild/agl/autobuild b/autobuild/agl/autobuild new file mode 100755 index 0000000..a14fd78 --- /dev/null +++ b/autobuild/agl/autobuild @@ -0,0 +1,59 @@ +#!/usr/bin/make -f +# Copyright (C) 2015 - 2018 "IoT.bzh" +# Author "Romain Forlot" <romain.forlot@iot.bzh> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +THISFILE := $(lastword $(MAKEFILE_LIST)) +BUILD_DIR := $(abspath $(dir $(THISFILE))/../../build) +DEST := ${BUILD_DIR} + +.PHONY: all clean distclean configure build package help + +all: help + +help: + @echo "List of targets available:" + @echo "" + @echo "- all" + @echo "- clean" + @echo "- distclean" + @echo "- configure" + @echo "- build: compilation, link and prepare files for package into a widget" + @echo "- package: output a widget file '*.wgt'" + @echo "- install: install in the path specified by the qmake project files" + @echo "" + @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt" + @echo "Don't use your build dir as DEST as wgt file is generated at this location" + +clean: + @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} ${CLEAN_ARGS} clean) || echo Nothing to clean + +distclean: + @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} distclean) || echo Nothing to distclean + +configure: + @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR} + @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && qmake ${CONFIGURE_ARGS} ..) + +build: configure + @make -C ${BUILD_DIR} ${BUILD_ARGS} all + +package: build + @mkdir -p ${DEST} + @if [ "${DEST}" != "${BUILD_DIR}/$@" ]; then \ + cp ${BUILD_DIR}/$@/*.wgt ${DEST}; \ + fi + +install: build + @make -C ${BUILD_DIR} ${INSTALL_ARGS} install diff --git a/autobuild/linux/autobuild b/autobuild/linux/autobuild new file mode 100755 index 0000000..569d692 --- /dev/null +++ b/autobuild/linux/autobuild @@ -0,0 +1,62 @@ +#!/usr/bin/make -f +# Copyright (C) 2015 - 2018 "IoT.bzh" +# Author "Romain Forlot" <romain.forlot@iot.bzh> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +THISFILE := $(lastword $(MAKEFILE_LIST)) +BUILD_DIR := $(abspath $(dir $(THISFILE))/../../build) +DEST := ${BUILD_DIR} + +.PHONY: all clean distclean configure build package help update + +all: help + +help: + @echo "List of targets available:" + @echo "" + @echo "- all + @echo "- clean" + @echo "- distclean" + @echo "- configure" + @echo "- build: compilation, link and prepare files for package into a widget" + @echo "- package: output a widget file '*.wgt'" + @echo "- install: install in your defined DEST directory" + @echo "" + @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt" + @echo "Don't use your build dir as DEST as wgt file is generated at this location" + + clean: + @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} ${CLEAN_ARGS} clean) || echo Nothing to clean + +distclean: + @[ -d ${DEST} ] && find ${DEST} -name "*.wgt" -delete + @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} distclean) || echo Nothing to distclean + +configure: + @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR} + @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && qmake ${CONFIGURE_ARGS} ..) + +build: configure + @make -C ${BUILD_DIR} ${BUILD_ARGS} all + +package: build + @if [ "${DEST}" != "${BUILD_DIR}/$@" ]; then \ + mkdir -p ${DEST} && cp ${BUILD_DIR}/$@/*.wgt ${DEST}; \ + fi + +install: build + @if [ "${DEST}" != "${BUILD_DIR}" ]; then \ + mkdir -p ${DEST} && cp -rf ${BUILD_DIR}/package/root/* ${DEST}; \ + fi + |