diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-06-28 09:49:50 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2018-10-15 18:22:47 +0200 |
commit | 498a9946dd380ed78f301be5cec76a11e68a68ad (patch) | |
tree | 7d1f7caa0b4afd367a34016c00dc299620eb394a /autobuild/linux/autobuild.in | |
parent | b8458fc63a173bb69d39f18e84034a2536c5cce5 (diff) |
templated autobuild script generation.
Change-Id: Ie7e411f30a30e073570c546aeec6ee05972f8e2a
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'autobuild/linux/autobuild.in')
-rwxr-xr-x | autobuild/linux/autobuild.in | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/autobuild/linux/autobuild.in b/autobuild/linux/autobuild.in new file mode 100755 index 0000000..0ff3384 --- /dev/null +++ b/autobuild/linux/autobuild.in @@ -0,0 +1,49 @@ +#!/usr/bin/make -f +# Copyright (C) 2015, 2016 "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. + +BUILD_DIR := @CMAKE_BINARY_DIR@ +PACKAGING_DIR := @PROJECT_PKG_ENTRY_POINT@ + +VPATH = etc:$(PACKAGING_DIR):$(PACKAGING_DIR)/etc:$(BUILD_DIR) + +.PHONY: all clean distclean configure build package + +all: build + +clean: + @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} clean) || echo Nothing to clean + +distclean: + @rm -rf ${BUILD_DIR} + +configure: ${BUILD_DIR}/Makefile + +build: configure + @cmake --build ${BUILD_DIR} ${BUILD_ARGS} --target all + +package: build + @mkdir -p ${BUILD_DIR}/$@/bin + @mkdir -p ${BUILD_DIR}/$@/etc + @mkdir -p ${BUILD_DIR}/$@/lib + @mkdir -p ${BUILD_DIR}/$@/htdocs + @mkdir -p ${BUILD_DIR}/$@/data + @mkdir -p ${DEST} + @cmake --build ${BUILD_DIR} --target packaging + @cmake --build ${BUILD_DIR} --target all + +${BUILD_DIR}/Makefile: + @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR} + @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake ${CONFIGURE_ARGS} ..) |