如何更改makefile中的gcc编译信息
How to change gcc compile message in makefile
我是编程新手。
我需要帮助我在 makefile 中隐藏消息。
让我告诉你:
编译这组文件时(grid.cc attribute.cc targa.cc) http://prntscr.com/67ack4
我看到这条消息:gcc5 -Wall -O2 -pipe -mtune=i686 -c attribute.cc
我想为自己辩护:合辑 targa.cc
我想为自己辩护,比如:汇编 attribute.cc
ETC
等...
希望你明白我的意思。
这是我的 makefile :
BIN = ../libgame.a
CXX = gcc5
CFLAGS = -Wall -O2 -pipe -mtune=i686
OBJFILES = grid.o attribute.o targa.o
########################################################################################################
default:
$(CXX) $(CFLAGS) -c grid.cc
$(CXX) $(CFLAGS) -c attribute.cc
$(CXX) $(CFLAGS) -c targa.cc
ar cru $(BIN) $(OBJFILES)
ranlib $(BIN)
rm -f *.o
您可以使用 automake 样式的静默规则技巧来控制命令的输出内容。
要直接执行此操作,您可以这样做:
BIN = ../libgame.a
CXX = gcc5
CFLAGS = -Wall -O2 -pipe -mtune=i686
OBJFILES = grid.o attribute.o targa.o
########################################################################################################
default:
@echo 'Compiling grid.cc';$(CXX) $(CFLAGS) -c grid.cc
@echo 'Compiling attribute.cc';$(CXX) $(CFLAGS) -c attribute.cc
@echo 'Compiling targa.cc';$(CXX) $(CFLAGS) -c targa.cc
ar cru $(BIN) $(OBJFILES)
ranlib $(BIN)
rm -f *.o
或者您可以使用我的 silent_rules.mk
并使用:
$(eval $(call vrule,Compile,Compiling $$(value 1))
$(call Compile,grid.cc);$(CXX) $(CFLAGS) -c grid.cc
$(call Compile,attribute.cc);$(CXX) $(CFLAGS) -c attribute.cc
$(call Compile,targa.cc);$(CXX) $(CFLAGS) -c targa.cc
改为获取 Compiling grid.cc
、Compiling attribute.cc
和 Compiling targa.cc
消息。 (如果您为目标文件使用了正确的目标,您可以使用默认的 $(GEN)
静默规则来自动获得 GEN xxx.o
输出。
我是编程新手。
我需要帮助我在 makefile 中隐藏消息。 让我告诉你:
编译这组文件时(grid.cc attribute.cc targa.cc) http://prntscr.com/67ack4
我看到这条消息:gcc5 -Wall -O2 -pipe -mtune=i686 -c attribute.cc
我想为自己辩护:合辑 targa.cc 我想为自己辩护,比如:汇编 attribute.cc ETC 等...
希望你明白我的意思。
这是我的 makefile :
BIN = ../libgame.a
CXX = gcc5
CFLAGS = -Wall -O2 -pipe -mtune=i686
OBJFILES = grid.o attribute.o targa.o
########################################################################################################
default:
$(CXX) $(CFLAGS) -c grid.cc
$(CXX) $(CFLAGS) -c attribute.cc
$(CXX) $(CFLAGS) -c targa.cc
ar cru $(BIN) $(OBJFILES)
ranlib $(BIN)
rm -f *.o
您可以使用 automake 样式的静默规则技巧来控制命令的输出内容。
要直接执行此操作,您可以这样做:
BIN = ../libgame.a
CXX = gcc5
CFLAGS = -Wall -O2 -pipe -mtune=i686
OBJFILES = grid.o attribute.o targa.o
########################################################################################################
default:
@echo 'Compiling grid.cc';$(CXX) $(CFLAGS) -c grid.cc
@echo 'Compiling attribute.cc';$(CXX) $(CFLAGS) -c attribute.cc
@echo 'Compiling targa.cc';$(CXX) $(CFLAGS) -c targa.cc
ar cru $(BIN) $(OBJFILES)
ranlib $(BIN)
rm -f *.o
或者您可以使用我的 silent_rules.mk
并使用:
$(eval $(call vrule,Compile,Compiling $$(value 1))
$(call Compile,grid.cc);$(CXX) $(CFLAGS) -c grid.cc
$(call Compile,attribute.cc);$(CXX) $(CFLAGS) -c attribute.cc
$(call Compile,targa.cc);$(CXX) $(CFLAGS) -c targa.cc
改为获取 Compiling grid.cc
、Compiling attribute.cc
和 Compiling targa.cc
消息。 (如果您为目标文件使用了正确的目标,您可以使用默认的 $(GEN)
静默规则来自动获得 GEN xxx.o
输出。