我有一個makefile,它構建了一個包含所有需要構建的文件的項目。爲了使事情更加複雜,我在每次調用gcc時都有一些包含的目錄(因此每次調用gcc在命令行上看起來都很長)。禁止所有make輸出,除了錯誤和警告
我想禁止所有輸出除了錯誤和警告(這樣我可以清楚地看到他們時許運行!)
有沒有辦法做到這一點?
我有一個makefile,它構建了一個包含所有需要構建的文件的項目。爲了使事情更加複雜,我在每次調用gcc時都有一些包含的目錄(因此每次調用gcc在命令行上看起來都很長)。禁止所有make輸出,除了錯誤和警告
我想禁止所有輸出除了錯誤和警告(這樣我可以清楚地看到他們時許運行!)
有沒有辦法做到這一點?
取決於如何「錯誤和警告」的報道......
make > /dev/null
將從make命令所有STDOUT(標準輸出)(以及所有子進程它產生)重定向到無盡一滴無用的東西。這可能太貪婪,因爲有些程序使用STDOUT(而不是STDERR)報告警告。
我不知道從Makefile本身的上下文中全局更改所有子進程的STDOUT。
快樂編碼。
謝謝!這正是我需要的。 (與gcc完美配合) – Steve
「make -s」應該做得更清晰一些。我不知道如何強制makefile,但GNU手冊可能有。
如果你不能檢查Linux內核構建系統,因爲這似乎自動隱藏標準輸出。
希望幫助, 保羅
非常好,正是我需要的 –
通過添加「@」的命令的前部,在命令行串被抑制 例如 從
$(addprefix $(OUTPUT_PATH)/,$(C_OBJ)): $(OUTPUT_PATH)/%.o: %.c
$(CC) -c $(CFLAGS) $< -o [email protected]
到
$(addprefix $(OUTPUT_PATH)/,$(C_OBJ)): $(OUTPUT_PATH)/%.o: %.c
@$(CC) -c $(CFLAGS) $< -o [email protected]
將採取
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'
到
make[1]: Entering directory `.../libraries/libgcdc/build'
make[1]: Leaving directory `.../libraries/libgcdc/build'
您也可以強制-s
選項,通過PaulW directl的建議y在Makefile中。只需添加:
.SILENT:
@pst你是男人!請發帖作爲答案,以便我可以標記爲已接受。順便說一句...你知道是否有什麼辦法可以從makefile中做到這一點,這樣'make'命令仍然是直截了當的? – Steve