我知道makefile是用来编译的,有点像脚本且可以定义变量,大概格式知道,但下面几句不太懂:
####### Implicit rules
.SUFFIXES: .cpp .cxx .cc .C .c
.cpp.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.cxx.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.cc.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.C.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.c.o:
$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
####### Build rules
all: $(TARGET)
cp -f first.desktop $(DESKTOP)
cp -f first.png $(ICON)
$(TARGET) $(UICDECLS) $(OBJECTS) $(OBJMOC)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)
moc: $(SRCMOC)
tmake: Makefile
Makefile: first.pro
tmake first.pro -o Makefile
dist:
$(TAR) first.tar first.pro $(SOURCES) $(HEADERS) $(INTERFACES) $(DIST)
$(GZIP) first.tar
clean:
-rm -f $(OBJECTS) $(OBJMOC) $(DESKTOP) $(ICON) $(TARGET)
-rm -f *~core
我知道的是, 比如
first: first.cpp ..............
就是用后面的源码编译生成前面的first应用程序
但以上Makefile里面 .SUFFIXES: .cpp .cxx .cc .C .c 又是什么意思呢?
还有 all: $(TARGET)
cp -f first.desktop $(DESKTOP)
cp -f first.png $(ICON)
是编译出一个叫all的应用程序?
dist:...... 呢?
这些好像都是同一类,只是我没见过,亚瑟王帮帮我~ |