forked from analogdevicesinc/hdl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
quiet.mk
53 lines (48 loc) · 1.41 KB
/
quiet.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
####################################################################################
## Copyright (c) 2018 - 2021 Analog Devices, Inc.
## SPDX short identifier: BSD-1-Clause
####################################################################################
ifdef MAKE_TERMOUT
ESC:=$(shell printf '\033')
GREEN:=$(ESC)[1;32m
RED:=$(ESC)[1;31m
HL:=$(ESC)[0;33m
NC:=$(ESC)[0m
else
GREEN:=
RED:=
HL:=
NC:=
endif
ifneq ($(VERBOSE),1)
MAKEFLAGS += --quiet
# build - Run a build command
# $(1): Command to execute
# $(2): Logfile name
# $(3): Textual description of the task
define build
@echo $(if $(filter -j%,$(MAKEFLAGS)),,-n) "Building $(strip $(3)) [$(HL)$(CURDIR)/$(strip $(2))$(NC)] ..."
$(strip $(1)) >> $(strip $(2)) 2>&1; \
(ERR=$$?; if [ $$ERR = 0 ]; then \
echo "$(if $(filter -j%,$(MAKEFLAGS)),Build $(strip $(3)) [$(HL)$(CURDIR)/$(strip $(2))$(NC)]) $(GREEN)OK$(NC)"; \
else \
echo "$(if $(filter -j%,$(MAKEFLAGS)),Build $(strip $(3)) [$(HL)$(CURDIR)/$(strip $(2))$(NC)]) $(RED)FAILED$(NC)"; \
echo "For details see $(HL)$(CURDIR)/$(strip $(2))$(NC)"; \
echo ""; \
fi; exit $$ERR)
endef
# clean - Run a clean command
# $(1): Files to remove
# $(2): Textural description of the task
define clean
@echo "Cleaning $(strip $(2)) ..."
-rm -rf $(strip $(1))
endef
else
define build
$(strip $(1)) >> $(strip $(2)) 2>&1
endef
define clean
-rm -rf $(strip $(1))
endef
endif