Skip to content

Commit 3b15201

Browse files
committed
Extend non-quiet make mode with log echo
If `VERBOSE` is defined, cmake, sub-make, and tool logs are also echoed on stdout. Default behaviour is still quiet mode, however. JerryScript-DCO-1.0-Signed-off-by: Akos Kiss [email protected]
1 parent 50cb1ee commit 3b15201

File tree

1 file changed

+23
-21
lines changed

1 file changed

+23
-21
lines changed

Makefile

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,10 @@
7171
# Verbosity
7272
ifdef VERBOSE
7373
Q :=
74+
QLOG :=
7475
else
7576
Q := @
77+
QLOG := >/dev/null
7678
endif
7779

7880
# External build configuration
@@ -171,77 +173,77 @@ $(BUILD_DIRS_NATIVE): prerequisites
171173
fi; \
172174
mkdir -p $@ && \
173175
cd $@ && \
174-
cmake -DENABLE_VALGRIND=$(VALGRIND) -DENABLE_LOG=$(LOG) -DENABLE_LTO=$(LTO) -DCMAKE_TOOLCHAIN_FILE=$$TOOLCHAIN ../../.. &>cmake.log || \
176+
(cmake -DENABLE_VALGRIND=$(VALGRIND) -DENABLE_LOG=$(LOG) -DENABLE_LTO=$(LTO) -DCMAKE_TOOLCHAIN_FILE=$$TOOLCHAIN ../../.. 2>&1 | tee cmake.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
175177
(echo "CMake run failed. See "`pwd`"/cmake.log for details."; exit 1;); \
176178
echo "$$TOOLCHAIN" > toolchain.config
177179

178180
$(BUILD_DIRS_STM32F3): prerequisites
179181
$(Q) mkdir -p $@ && \
180182
cd $@ && \
181-
cmake -DENABLE_VALGRIND=$(VALGRIND) -DENABLE_LTO=$(LTO) -DCMAKE_TOOLCHAIN_FILE=build/configs/toolchain_mcu_stm32f3.cmake ../../.. &>cmake.log || \
183+
(cmake -DENABLE_VALGRIND=$(VALGRIND) -DENABLE_LTO=$(LTO) -DCMAKE_TOOLCHAIN_FILE=build/configs/toolchain_mcu_stm32f3.cmake ../../.. 2>&1 | tee cmake.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
182184
(echo "CMake run failed. See "`pwd`"/cmake.log for details."; exit 1;)
183185

184186
$(BUILD_DIRS_STM32F4): prerequisites
185187
$(Q) mkdir -p $@ && \
186188
cd $@ && \
187-
cmake -DENABLE_VALGRIND=$(VALGRIND) -DENABLE_LTO=$(LTO) -DCMAKE_TOOLCHAIN_FILE=build/configs/toolchain_mcu_stm32f4.cmake ../../.. &>cmake.log || \
189+
(cmake -DENABLE_VALGRIND=$(VALGRIND) -DENABLE_LTO=$(LTO) -DCMAKE_TOOLCHAIN_FILE=build/configs/toolchain_mcu_stm32f4.cmake ../../.. 2>&1 | tee cmake.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
188190
(echo "CMake run failed. See "`pwd`"/cmake.log for details."; exit 1;)
189191

190192
$(JERRY_LINUX_TARGETS): $(BUILD_DIR)/native
191193
$(Q) mkdir -p $(OUT_DIR)/$@
192-
$(Q) [ "$(STATIC_CHECK)" = "OFF" ] || $(MAKE) -C $(BUILD_DIR)/native VERBOSE=1 cppcheck.$@ &>$(OUT_DIR)/$@/cppcheck.log || \
194+
$(Q) [ "$(STATIC_CHECK)" = "OFF" ] || ($(MAKE) -C $(BUILD_DIR)/native VERBOSE=1 cppcheck.$@ 2>&1 | tee $(OUT_DIR)/$@/cppcheck.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
193195
(echo "cppcheck run failed. See $(OUT_DIR)/$@/cppcheck.log for details."; exit 1;)
194-
$(Q) $(MAKE) -C $(BUILD_DIR)/native VERBOSE=1 $@ &>$(OUT_DIR)/$@/make.log || \
196+
$(Q) ($(MAKE) -C $(BUILD_DIR)/native VERBOSE=1 $@ 2>&1 | tee $(OUT_DIR)/$@/make.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
195197
(echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;)
196198
$(Q) cp $(BUILD_DIR)/native/$@ $(OUT_DIR)/$@/jerry
197199

198200
unittests: $(BUILD_DIR)/native
199201
$(Q) mkdir -p $(OUT_DIR)/$@
200-
$(Q) [ "$(STATIC_CHECK)" = "OFF" ] || $(MAKE) -C $(BUILD_DIR)/native VERBOSE=1 cppcheck.$@ &>$(OUT_DIR)/$@/cppcheck.log || \
202+
$(Q) [ "$(STATIC_CHECK)" = "OFF" ] || ($(MAKE) -C $(BUILD_DIR)/native VERBOSE=1 cppcheck.$@ 2>&1 | tee $(OUT_DIR)/$@/cppcheck.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
201203
(echo "cppcheck run failed. See $(OUT_DIR)/$@/cppcheck.log for details."; exit 1;)
202-
$(Q) $(MAKE) -C $(BUILD_DIR)/native VERBOSE=1 $@ &>$(OUT_DIR)/$@/make.log || \
204+
$(Q) ($(MAKE) -C $(BUILD_DIR)/native VERBOSE=1 $@ 2>&1 | tee $(OUT_DIR)/$@/make.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
203205
(echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;)
204206
$(Q) cp $(BUILD_DIR)/native/unit-test-* $(OUT_DIR)/$@
205207

206208
$(BUILD_ALL)_native: $(BUILD_DIRS_NATIVE)
207209
$(Q) mkdir -p $(OUT_DIR)/$@
208-
$(Q) $(MAKE) -C $(BUILD_DIR)/native jerry-libc-all VERBOSE=1 &>$(OUT_DIR)/$@/make.log || \
210+
$(Q) ($(MAKE) -C $(BUILD_DIR)/native jerry-libc-all VERBOSE=1 2>&1 | tee $(OUT_DIR)/$@/make.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
209211
(echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;)
210-
$(Q) $(MAKE) -C $(BUILD_DIR)/native jerry-fdlibm-all VERBOSE=1 &>$(OUT_DIR)/$@/make.log || \
212+
$(Q) ($(MAKE) -C $(BUILD_DIR)/native jerry-fdlibm-all VERBOSE=1 2>&1 | tee $(OUT_DIR)/$@/make.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
211213
(echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;)
212-
$(Q) $(MAKE) -C $(BUILD_DIR)/native $(JERRY_LINUX_TARGETS) unittests VERBOSE=1 &>$(OUT_DIR)/$@/make.log || \
214+
$(Q) ($(MAKE) -C $(BUILD_DIR)/native $(JERRY_LINUX_TARGETS) unittests VERBOSE=1 2>&1 | tee $(OUT_DIR)/$@/make.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
213215
(echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;)
214216

215217
$(JERRY_STM32F3_TARGETS): $(BUILD_DIR)/stm32f3
216218
$(Q) mkdir -p $(OUT_DIR)/$@
217-
$(Q) [ "$(STATIC_CHECK)" = "OFF" ] || $(MAKE) -C $(BUILD_DIR)/stm32f3 VERBOSE=1 cppcheck.$@ &>$(OUT_DIR)/$@/cppcheck.log || \
219+
$(Q) [ "$(STATIC_CHECK)" = "OFF" ] || ($(MAKE) -C $(BUILD_DIR)/stm32f3 VERBOSE=1 cppcheck.$@ 2>&1 | tee $(OUT_DIR)/$@/cppcheck.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
218220
(echo "cppcheck run failed. See $(OUT_DIR)/$@/cppcheck.log for details."; exit 1;)
219-
$(Q) $(MAKE) -C $(BUILD_DIR)/stm32f3 VERBOSE=1 [email protected] &>$(OUT_DIR)/$@/make.log || \
221+
$(Q) ($(MAKE) -C $(BUILD_DIR)/stm32f3 VERBOSE=1 [email protected] 2>&1 | tee $(OUT_DIR)/$@/make.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
220222
(echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;)
221223
$(Q) cp $(BUILD_DIR)/stm32f3/$@ $(OUT_DIR)/$@/jerry
222224
$(Q) cp $(BUILD_DIR)/stm32f3/[email protected] $(OUT_DIR)/$@/jerry.bin
223225

224226
$(BUILD_ALL)_stm32f3: $(BUILD_DIRS_STM32F3)
225227
$(Q) mkdir -p $(OUT_DIR)/$@
226-
$(Q) $(MAKE) -C $(BUILD_DIR)/stm32f3 jerry-libc-all VERBOSE=1 &>$(OUT_DIR)/$@/make.log || \
228+
$(Q) ($(MAKE) -C $(BUILD_DIR)/stm32f3 jerry-libc-all VERBOSE=1 2>&1 | tee $(OUT_DIR)/$@/make.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
227229
(echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;)
228-
$(Q) $(MAKE) -C $(BUILD_DIR)/stm32f3 $(JERRY_STM32F3_TARGETS) VERBOSE=1 &>$(OUT_DIR)/$@/make.log || \
230+
$(Q) ($(MAKE) -C $(BUILD_DIR)/stm32f3 $(JERRY_STM32F3_TARGETS) VERBOSE=1 2>&1 | tee $(OUT_DIR)/$@/make.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
229231
(echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;)
230232

231233
$(JERRY_STM32F4_TARGETS): $(BUILD_DIR)/stm32f4
232234
$(Q) mkdir -p $(OUT_DIR)/$@
233-
$(Q) [ "$(STATIC_CHECK)" = "OFF" ] || $(MAKE) -C $(BUILD_DIR)/stm32f4 VERBOSE=1 cppcheck.$@ &>$(OUT_DIR)/$@/cppcheck.log || \
235+
$(Q) [ "$(STATIC_CHECK)" = "OFF" ] || ($(MAKE) -C $(BUILD_DIR)/stm32f4 VERBOSE=1 cppcheck.$@ 2>&1 | tee $(OUT_DIR)/$@/cppcheck.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
234236
(echo "cppcheck run failed. See $(OUT_DIR)/$@/cppcheck.log for details."; exit 1;)
235-
$(Q) $(MAKE) -C $(BUILD_DIR)/stm32f4 VERBOSE=1 [email protected] &>$(OUT_DIR)/$@/make.log || \
237+
$(Q) ($(MAKE) -C $(BUILD_DIR)/stm32f4 VERBOSE=1 [email protected] 2>&1 | tee $(OUT_DIR)/$@/make.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
236238
(echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;)
237239
$(Q) cp $(BUILD_DIR)/stm32f4/$@ $(OUT_DIR)/$@/jerry
238240
$(Q) cp $(BUILD_DIR)/stm32f4/[email protected] $(OUT_DIR)/$@/jerry.bin
239241

240242
$(BUILD_ALL)_stm32f4: $(BUILD_DIRS_STM32F4)
241243
$(Q) mkdir -p $(OUT_DIR)/$@
242-
$(Q) $(MAKE) -C $(BUILD_DIR)/stm32f4 jerry-libc-all VERBOSE=1 &>$(OUT_DIR)/$@/make.log || \
244+
$(Q) ($(MAKE) -C $(BUILD_DIR)/stm32f4 jerry-libc-all VERBOSE=1 2>&1 | tee $(OUT_DIR)/$@/make.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
243245
(echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;)
244-
$(Q) $(MAKE) -C $(BUILD_DIR)/stm32f4 $(JERRY_STM32F4_TARGETS) VERBOSE=1 &>$(OUT_DIR)/$@/make.log || \
246+
$(Q) ($(MAKE) -C $(BUILD_DIR)/stm32f4 $(JERRY_STM32F4_TARGETS) VERBOSE=1 2>&1 | tee $(OUT_DIR)/$@/make.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
245247
(echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;)
246248

247249
build_all: $(BUILD_ALL)_native $(BUILD_ALL)_stm32f3 $(BUILD_ALL)_stm32f4
@@ -252,12 +254,12 @@ build_all: $(BUILD_ALL)_native $(BUILD_ALL)_stm32f3 $(BUILD_ALL)_stm32f4
252254
#
253255
build: $(BUILD_ALL)
254256
$(Q) mkdir -p $(OUT_DIR)/$@
255-
$(Q) $(MAKE) VERBOSE=1 $(JERRY_TARGETS) &>$(OUT_DIR)/$@/make.log || \
257+
$(Q) ($(MAKE) VERBOSE=1 $(JERRY_TARGETS) 2>&1 | tee $(OUT_DIR)/$@/make.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
256258
(echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;)
257259
$(Q) rm -rf $(OUT_DIR)/$(BUILD_ALL)* $(OUT_DIR)/$@
258260

259261
$(FLASH_TARGETS): $(BUILD_DIR)/mcu
260-
$(Q) $(MAKE) -C $(BUILD_DIR)/mcu VERBOSE=1 $@ 1>/dev/null
262+
$(Q) $(MAKE) -C $(BUILD_DIR)/mcu VERBOSE=1 $@ $(QLOG)
261263

262264
push: ./tools/git-scripts/push.sh
263265
$(Q) ./tools/git-scripts/push.sh
@@ -285,7 +287,7 @@ prerequisites: $(PREREQUISITES_STATE_DIR)/.prerequisites
285287
$(PREREQUISITES_STATE_DIR)/.prerequisites:
286288
@ echo "Setting up prerequisites... (log file: $(PREREQUISITES_STATE_DIR)/prerequisites.log)"
287289
$(Q) mkdir -p $(PREREQUISITES_STATE_DIR)
288-
$(Q) ./tools/prerequisites.sh $(PREREQUISITES_STATE_DIR)/.prerequisites >&$(PREREQUISITES_STATE_DIR)/prerequisites.log || \
290+
$(Q) (./tools/prerequisites.sh $(PREREQUISITES_STATE_DIR)/.prerequisites 2>&1 | tee $(PREREQUISITES_STATE_DIR)/prerequisites.log $(QLOG) ; ( exit $${PIPESTATUS[0]} ) ) || \
289291
(echo "Prerequisites setup failed. See $(PREREQUISITES_STATE_DIR)/prerequisites.log for details."; exit 1;)
290292
@ echo "Prerequisites setup succeeded"
291293

0 commit comments

Comments
 (0)