【发布时间】:2022-01-05 09:31:23
【问题描述】:
我的源文件很好地组织在一个文件夹中,其中包含子文件夹,还包含源文件。
子文件夹不再分支。
所有目标文件都只是被创建并存储在同一个文件夹中。
在编写生成我的目标文件的目标时,我不想在先决条件中手动列出子目录的名称:
现在这可行:
$(OBJ)/%.o: $(SRC)/%.c
$(CC) -c $< -o $@ $(CFLAGS)
$(OBJ)/%.o: $(SRC)/$(subdir1)/%.c
$(CC) -c $< -o $@ $(CFLAGS)
$(OBJ)/%.o: $(SRC)/$(subdir2)/%.c
$(CC) -c $< -o $@ $(CFLAGS)
...
但我希望它看起来像这样:
$(OBJ)/%.o: $(SRC)/%.c OR $(SRC)/*/%.c
$(CC) -c $< -o $@ $(CFLAGS)
我知道标题很可能不是要问的真正问题,但我正在寻找任何解决方案。另外,我知道* 在这里不能用作占位符。
【问题讨论】: