wme*_*cer 16 makefile gnu-make
我正在尝试编译一组目标.然而它似乎只做第一个.下面是我的makefile的减少,显示错误.
OBJECTS = abc def ghi
SOURCES = abc.c def.c ghi.c
$(OBJECTS): $(SOURCES)
@echo target is $@, source is $<
Run Code Online (Sandbox Code Playgroud)
在壳中,
$ touch abc.c def.c ghi.c
$ make
Run Code Online (Sandbox Code Playgroud)
当我运行make时,我得到以下输出:
target is abc, source is abc.c
Run Code Online (Sandbox Code Playgroud)
所以它似乎只是在运行第一个目标.
如果我用$ ^替换$ <,则输出为:
target is abc, source is abc.c def.c ghi.c
Run Code Online (Sandbox Code Playgroud)
我的问题是,是否可以对变量进行扩展,例如(%:%)模式?
Bet*_*eta 21
试试这个:
OBJECTS = abc def ghi
all: $(OBJECTS)
$(OBJECTS):%:%.c
@echo target is $@, source is $<
Run Code Online (Sandbox Code Playgroud)
麻烦是