summaryrefslogtreecommitdiffstats
path: root/autobuild
diff options
context:
space:
mode:
authorRaquel Medina <raquel.medina@konsulko.com>2019-03-06 17:33:35 +0200
committerraquel medina <raquel.medina@konsulko.com>2019-03-13 13:58:42 +0000
commit141a75d7e5d4d9b47ec0e37c26fd63027d4d1231 (patch)
treec104dabe431ca672287232150f5aac3bc3d37c17 /autobuild
parenta36adf56d988c4a93a18168f5c1f9235b43bb5b2 (diff)
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> (cherry picked from commit ef6fe8f196227531c7a5de1790d9223e36732516)
Diffstat (limited to 'autobuild')
-rwxr-xr-xautobuild/agl/autobuild59
-rwxr-xr-xautobuild/linux/autobuild62
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
+