Makefile 通配符依赖项
Makefile wildcard dependencies
我想使用通配符将所有 .cpp 和 .cc 文件包含在目标的依赖项中。
目前,我必须执行以下操作:
all: main.cpp file1.cc file2.cc
g++ -O3 -o all main.cpp file1.cc file2.cc -I./include -L./lib
以下似乎不起作用:
all: %.cpp %.cc
g++ -O3 -o $@ $^ -I./include -L./lib
我收到错误 make: *** 没有规则来创建 'all' 需要的目标“%.cc”。停止。
targets := $(wildcard *.cpp) $(wildcard *.cc)
all: $(targets)
g++ $(targets)
这对我有用
“%”表示隐式模式规则,“*”为通配符
targets := $(wildcard *.cpp *.c)
all: $(targets)
g++ $(targets)
我想使用通配符将所有 .cpp 和 .cc 文件包含在目标的依赖项中。
目前,我必须执行以下操作:
all: main.cpp file1.cc file2.cc
g++ -O3 -o all main.cpp file1.cc file2.cc -I./include -L./lib
以下似乎不起作用:
all: %.cpp %.cc
g++ -O3 -o $@ $^ -I./include -L./lib
我收到错误 make: *** 没有规则来创建 'all' 需要的目标“%.cc”。停止。
targets := $(wildcard *.cpp) $(wildcard *.cc)
all: $(targets)
g++ $(targets)
这对我有用
“%”表示隐式模式规则,“*”为通配符
targets := $(wildcard *.cpp *.c)
all: $(targets)
g++ $(targets)