summaryrefslogtreecommitdiffstats
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-11 17:11:51 +0200
commitef6fe8f196227531c7a5de1790d9223e36732516 (patch)
tree80c8eec0fa6def472e1ac715d3b520b9be485412
parentf4cb3ec807e23788299f9bf1d9c323ff5690aafd (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>
-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
+