我正在尝试这样做:
从目录中选择所有C
( .c
) 文件,生成.o
并将其添加到我的最终目标可执行文件中。这些C
文件可以随时添加或删除,因此当我make
为我的目标运行时,必须C
从目录中挑选可用的文件来编译并链接到我的目标。
到目前为止,我有以下几点:
define test_tgt =
DIR = full/path/to/dir
FILES = $(wildcard $(DIR)/*.c)
OBJS = <rule-to-convert-C-to-O>
endef
get_new_files:
$(eval $(test_tgt))
final-target: get_new_files
$(CC) <other-objs> $(OBJS)
Run Code Online (Sandbox Code Playgroud)
不知何故,这似乎不起作用。我看到很多类似的例子,但不确定这里有什么问题。如果这种方法不正确,任何人都可以提出更好的方法来实现这一点。
TIA。