我有一个makefile,它构建了一个由许多文件组成的项目,这些文件都需要构建.
为了使事情变得更复杂,我在每次调用gcc时都有一些包含的目录(因此每次调用gcc在命令行上看起来很长).
我想抑制除错误和警告之外的所有输出(这样我在make运行时就可以看到它们!)
有没有办法做到这一点?
Pau*_*ulW 31
make -s你应该做一些更整洁的事情.我不知道如何强制它在makefile上,但GNU手册可能有一个.
你没能检查Linux内核构建系统,因为这似乎自动隐藏了stdout.
小智 25
通过在命令的前面添加"@",命令行字符串例如从中被抑制
$(addprefix $(OUTPUT_PATH)/,$(C_OBJ)): $(OUTPUT_PATH)/%.o: %.c
$(CC) -c $(CFLAGS) $< -o $@
Run Code Online (Sandbox Code Playgroud)
至
$(addprefix $(OUTPUT_PATH)/,$(C_OBJ)): $(OUTPUT_PATH)/%.o: %.c
@$(CC) -c $(CFLAGS) $< -o $@
Run Code Online (Sandbox Code Playgroud)
会采取
make[1]: Entering directory `.../libraries/libgcdc/build'
/home/crowe/arm-tools/gcc-arm-none-eabi-4_6-2012q2/bin/arm-none-eabi-gcc -c -Wall -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -Werror-implicit-function-declaration -Wmain -Wparentheses -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wwrite-strings -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -Wpacked -Wredundant-decls -Wnested-externs -Winline -Wlong-long -Wunreachable-code -Wcast-align --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb -mlong-calls -ffunction-sections -g -O0 -D DEBUG -I.. -I../include -I../../libchip_sam3s -I../../libboard_arm_demo -I../../libboard_generic -I../../libusb/include -Dsam3s4 -DTRACE_LEVEL=5 -Dprintf=iprintf ../source/hid_callbacks.c -o debug_sam3s_svn2/hid_callbacks.o
make[1]: Leaving directory ` .../libraries/libgcdc/build'
Run Code Online (Sandbox Code Playgroud)
至
make[1]: Entering directory `.../libraries/libgcdc/build'
make[1]: Leaving directory `.../libraries/libgcdc/build'
Run Code Online (Sandbox Code Playgroud)
Mot*_*ine 16
您也可以-s直接在Makefile中强制使用PaulW建议的选项.只需添加:
.SILENT:
Run Code Online (Sandbox Code Playgroud)
小智 12
取决于报告"错误和警告"的方式......
make > /dev/null
Run Code Online (Sandbox Code Playgroud)
这将把所有STDOUT(标准输出)从make命令(以及它产生的所有子进程)重定向到无穷无尽的无用位.这可能太贪心了,因为有些程序使用STDOUT(而不是STDERR)来报告警告.
我不知道从Makefile本身的上下文中全局更改所有子进程的STDOUT的方法.
快乐的编码.
| 归档时间: |
|
| 查看次数: |
23200 次 |
| 最近记录: |