我正在阅读本教程 ,它有这样的内容
# File names EXEC = run SOURCES = $(wildcard *.cpp) OBJECTS = $(SOURCES:.cpp=.o) ..... %.o: $(SRCPATH)/%.cpp $(INC) $(CC) $(CXXFLAGS) $(INCLUDES) -c $< -o $@
我不确定我是否理解该文档,如果有人可以解释最后两个声明,我将不胜感激。这是我与Makefile有关的三个问题
问题1:
之间有什么区别
SOURCES = $(wildcard *.cpp)
和
SOURCES = $(*.cpp)
它说第二种情况仅在.cpp文件存在的情况下有效,因为它们因此不起作用。我的问题是第一个为什么起作用?
问题2:什么'wildcard *'
意思?最后的陈述OBJECTS = $(SOURCES:.cpp=.o)
是什么意思?
问题3:%。o被放置为目标是什么意思?请告诉我之间的差异
*.o
,%.o
以及wildcard *.cpp