2 # Copyright (C) 2015 - 2018 "IoT.bzh"
3 # Author "Romain Forlot" <romain.forlot@iot.bzh>
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
17 THISFILE := $(lastword $(MAKEFILE_LIST))
18 BUILD_DIR := $(abspath $(dir $(THISFILE))/../../build)
21 .PHONY: all clean distclean configure build package help update configure-debug configure-coverage build-debug build-coverage package-test package-debug package-coverage package-debug package-debug-test package-coverage-test package-all package-all-1 package-all-2
26 @echo "List of targets available:"
32 @echo "- build: compilation, link and prepare files for package into a widget"
33 @echo "- package: output a widget file '*.wgt'"
34 @echo "- install: install in your ${CMAKE_INSTALL_DIR} directory"
36 @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt"
37 @echo "Don't use your build dir as DEST as wgt file is generated at this location"
40 @cmake --build ${BUILD_DIR} --target autobuild
43 @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} ${CLEAN_ARGS} clean) || echo Nothing to clean
49 @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR}
50 @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake -DCMAKE_BUILD_TYPE=RELEASE ${CONFIGURE_ARGS} ..)
53 @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR}
54 @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake -DCMAKE_BUILD_TYPE=RELEASE ${CONFIGURE_ARGS} ..)
57 @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR}
58 @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake -DCMAKE_BUILD_TYPE=DEBUG ${CONFIGURE_ARGS} ..)
61 @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR}
62 @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake -DCMAKE_BUILD_TYPE=COVERAGE ${CONFIGURE_ARGS} ..)
65 @cmake --build ${BUILD_DIR} ${BUILD_ARGS} --target all
67 build-test: configure-test
68 @cmake --build ${BUILD_DIR} ${BUILD_ARGS} --target all
70 build-debug: configure-debug
71 @cmake --build ${BUILD_DIR} ${BUILD_ARGS} --target all
73 build-coverage: configure-coverage
74 @cmake --build ${BUILD_DIR} ${BUILD_ARGS} --target all
77 @mkdir -p ${BUILD_DIR}/$@/bin
78 @mkdir -p ${BUILD_DIR}/$@/etc
79 @mkdir -p ${BUILD_DIR}/$@/lib
80 @mkdir -p ${BUILD_DIR}/$@/htdocs
81 @mkdir -p ${BUILD_DIR}/$@/var
82 @cmake --build ${BUILD_DIR} ${PACKAGE_ARGS} --target widget
83 @if [ "${DEST}" != "${BUILD_DIR}" ]; then \
84 mkdir -p ${DEST} && cp ${BUILD_DIR}/*.wgt ${DEST}; \
86 @rm ${BUILD_DIR}/Makefile
87 @rm ${BUILD_DIR}/CMakeCache.txt
89 package-test: build-test
90 @mkdir -p ${BUILD_DIR}/$@/bin
91 @mkdir -p ${BUILD_DIR}/$@/etc
92 @mkdir -p ${BUILD_DIR}/$@/lib
93 @mkdir -p ${BUILD_DIR}/$@/htdocs
94 @mkdir -p ${BUILD_DIR}/$@/var
95 @cmake --build ${BUILD_DIR} ${PACKAGE_ARGS} --target widget
96 @cmake --build ${BUILD_DIR} ${PACKAGE_ARGS} --target test_widget
97 @if [ "${DEST}" != "${BUILD_DIR}" ]; then \
98 mkdir -p ${DEST} && cp ${BUILD_DIR}/*.wgt ${DEST}; \
100 @rm ${BUILD_DIR}/Makefile
101 @rm ${BUILD_DIR}/CMakeCache.txt
103 package-debug: build-debug
104 @mkdir -p ${BUILD_DIR}/$@/bin
105 @mkdir -p ${BUILD_DIR}/$@/etc
106 @mkdir -p ${BUILD_DIR}/$@/lib
107 @mkdir -p ${BUILD_DIR}/$@/htdocs
108 @mkdir -p ${BUILD_DIR}/$@/var
109 @cmake --build ${BUILD_DIR} ${PACKAGE_ARGS} --target widget
110 @if [ "${DEST}" != "${BUILD_DIR}" ]; then \
111 mkdir -p ${DEST} && cp ${BUILD_DIR}/*.wgt ${DEST}; \
113 @rm ${BUILD_DIR}/Makefile
114 @rm ${BUILD_DIR}/CMakeCache.txt
116 package-coverage: build-coverage
117 @mkdir -p ${BUILD_DIR}/$@/bin
118 @mkdir -p ${BUILD_DIR}/$@/etc
119 @mkdir -p ${BUILD_DIR}/$@/lib
120 @mkdir -p ${BUILD_DIR}/$@/htdocs
121 @mkdir -p ${BUILD_DIR}/$@/var
122 @cmake --build ${BUILD_DIR} ${PACKAGE_ARGS} --target widget
123 @if [ "${DEST}" != "${BUILD_DIR}" ]; then \
124 mkdir -p ${DEST} && cp ${BUILD_DIR}/*.wgt ${DEST}; \
126 @rm ${BUILD_DIR}/Makefile
127 @rm ${BUILD_DIR}/CMakeCache.txt
129 package-coverage-test: build-coverage
130 @mkdir -p ${BUILD_DIR}/$@/bin
131 @mkdir -p ${BUILD_DIR}/$@/etc
132 @mkdir -p ${BUILD_DIR}/$@/lib
133 @mkdir -p ${BUILD_DIR}/$@/htdocs
134 @mkdir -p ${BUILD_DIR}/$@/var
135 @cmake --build ${BUILD_DIR} ${PACKAGE_ARGS} --target widget
136 @cmake --build ${BUILD_DIR} ${PACKAGE_ARGS} --target test_widget
137 @if [ "${DEST}" != "${BUILD_DIR}" ]; then \
138 mkdir -p ${DEST} && cp ${BUILD_DIR}/*.wgt ${DEST}; \
140 @rm ${BUILD_DIR}/Makefile
141 @rm ${BUILD_DIR}/CMakeCache.txt
144 package-debug-test: build-debug
145 @mkdir -p ${BUILD_DIR}/$@/bin
146 @mkdir -p ${BUILD_DIR}/$@/etc
147 @mkdir -p ${BUILD_DIR}/$@/lib
148 @mkdir -p ${BUILD_DIR}/$@/htdocs
149 @mkdir -p ${BUILD_DIR}/$@/var
150 @cmake --build ${BUILD_DIR} ${PACKAGE_ARGS} --target widget
151 @cmake --build ${BUILD_DIR} ${PACKAGE_ARGS} --target test_widget
152 @if [ "${DEST}" != "${BUILD_DIR}" ]; then \
153 mkdir -p ${DEST} && cp ${BUILD_DIR}/*.wgt ${DEST}; \
155 @rm ${BUILD_DIR}/Makefile
156 @rm ${BUILD_DIR}/CMakeCache.txt
158 package-all: package package-test package-coverage package-debug
161 @cmake --build ${BUILD_DIR} ${INSTALL_ARGS} --target install