22
22
23
23
.SUFFIXES :
24
24
25
- ifeq ($(CONFIG_WINDOWS_NATIVE ) ,y)
26
- export SHELL =cmd
27
- endif
28
-
29
25
# Control build verbosity
30
26
#
27
+ # V=0: Exit silent mode
31
28
# V=1,2: Enable echo of commands
32
29
# V=2: Enable bug/verbose options in tools and scripts
33
30
39
36
export Q := @
40
37
endif
41
38
39
+ ifeq ($(CONFIG_WINDOWS_NATIVE ) ,y)
40
+ export SHELL =cmd
41
+ else ifeq ($(V),)
42
+ BASHCMD := $(shell command -v bash 2> /dev/null)
43
+ ifneq ($(BASHCMD),)
44
+ export SHELL =$(BASHCMD )
45
+ export ECHO_BEGIN =@echo -ne "\033[1K\r"
46
+ export ECHO_END =$(ECHO_BEGIN )
47
+ endif
48
+ endif
49
+
50
+ ifeq ($(ECHO_BEGIN ) ,)
51
+ export ECHO_BEGIN =@echo
52
+ export ECHO_END =
53
+ endif
54
+
42
55
# These are configuration variables that are quoted by configuration tool
43
56
# but which must be unquoted when used in the build system.
44
57
@@ -267,8 +280,9 @@ endif
267
280
# <filename>.S)
268
281
269
282
define PREPROCESS
270
- @echo "CPP: $1->$2"
283
+ $( ECHO_BEGIN ) "CPP: $1->$2 "
271
284
$(Q ) $(CPP ) $(CPPFLAGS ) $($(strip $1) _CPPFLAGS) $(abspath $1) -o $(abspath $2)
285
+ $(ECHO_END )
272
286
endef
273
287
274
288
# COMPILE - Default macro to compile one C file
@@ -284,8 +298,9 @@ endef
284
298
# change the options used with the single file <filename>.c
285
299
286
300
define COMPILE
287
- @echo "CC: $1"
301
+ $( ECHO_BEGIN ) "CC: $1 "
288
302
$(Q ) $(CCACHE ) $(CC ) -c $(CFLAGS ) $3 $($(strip $1) _CFLAGS) $(abspath $1) -o $(abspath $2)
303
+ $(ECHO_END )
289
304
endef
290
305
291
306
# COMPILEXX - Default macro to compile one C++ file
@@ -302,8 +317,9 @@ endef
302
317
# extension .cpp could also be used. The same applies mutatis mutandis.
303
318
304
319
define COMPILEXX
305
- @echo "CXX: $1"
320
+ $( ECHO_BEGIN ) "CXX: $1 "
306
321
$(Q ) $(CCACHE ) $(CXX ) -c $(CXXFLAGS ) $3 $($(strip $1) _CXXFLAGS) $(abspath $1) -o $(abspath $2)
322
+ $(ECHO_END )
307
323
endef
308
324
309
325
# COMPILERUST - Default macro to compile one Rust file
@@ -320,8 +336,9 @@ endef
320
336
# applies mutatis mutandis.
321
337
322
338
define COMPILERUST
323
- @echo "RUSTC: $1"
339
+ $( ECHO_BEGIN ) "RUSTC: $1 "
324
340
$(Q ) $(RUSTC ) --emit obj $(RUSTFLAGS ) $($(strip $1) _RUSTFLAGS) $(abspath $1) -o $(abspath $2)
341
+ $(ECHO_END )
325
342
endef
326
343
327
344
# COMPILEZIG - Default macro to compile one Zig file
@@ -338,8 +355,9 @@ endef
338
355
# applies mutatis mutandis.
339
356
340
357
define COMPILEZIG
341
- @echo "ZIG: $1"
358
+ $( ECHO_BEGIN ) "ZIG: $1 "
342
359
$(Q ) $(ZIG ) build-obj $(ZIGFLAGS ) $($(strip $1) _ZIGFLAGS) --name $(basename $2) $1
360
+ $(ECHO_END )
343
361
endef
344
362
345
363
# ASSEMBLE - Default macro to assemble one assembly language file
@@ -363,16 +381,18 @@ endef
363
381
# is used by some toolchains. The same applies mutatis mutandis.
364
382
365
383
define ASSEMBLE
366
- @echo "AS: $1"
384
+ $( ECHO_BEGIN ) "AS: $1 "
367
385
$(Q ) $(CCACHE ) $(CC ) -c $(AFLAGS ) $(abspath $1) $($(strip $1) _AFLAGS) -o $(abspath $2)
386
+ $(ECHO_END )
368
387
endef
369
388
370
389
# INSTALL_LIB - Install a library $1 into target $2
371
390
# Example: $(call INSTALL_LIB, libabc.a, $(TOPDIR)/staging/)
372
391
373
392
define INSTALL_LIB
374
- @echo "IN: $1 -> $2"
393
+ $( ECHO_BEGIN ) "IN: $1 -> $2 "
375
394
$(Q ) install -m 0644 $(abspath $1) $(abspath $2)
395
+ $(ECHO_END )
376
396
endef
377
397
378
398
# ARCHIVE_ADD - Add a list of files to an archive
@@ -392,8 +412,9 @@ endef
392
412
# CONFIG_WINDOWS_NATIVE - Defined for a Windows native build
393
413
394
414
define ARCHIVE_ADD
395
- @echo "AR (add): ${shell basename $(1 ) } $(2 ) "
415
+ $( ECHO_BEGIN ) "AR (add): ${shell basename $(1 ) } $(2 ) "
396
416
$(Q ) $(AR ) $(abspath $1) $(abspath $2)
417
+ $(ECHO_END )
397
418
endef
398
419
399
420
# ARCHIVE - Same as above, but ensure the archive is
0 commit comments