Nmake 从 .cpp 文件中获取所有 .o 文件的列表

Tom*_*ney 3 nmake wildcard

我正在使用 nmake 将多个源文件编译成一个精灵。但是我不想在像这样的长列表中指定 .o 文件:

OBJS = file1.o file2.o file3.o
Run Code Online (Sandbox Code Playgroud)

我更喜欢使用通配符将当前目录中的所有 .o 文件指定为 .elf 的依赖项。但是,在我从 .cpp 文件编译它们之前,.o 文件不存在。有什么方法可以使用通配符扩展来获取 cpp 文件列表,然后进行字符串替换以将 .cpp 替换为 .o。

Eri*_*ski 5

在 NMAKE 中没有一种特别优雅的方法来做到这一点。如果可以,您应该改用 GNU Make,它在 Windows 上可用,可以使许多任务变得更容易。

如果必须使用 NMAKE,则必须使用递归 make 以自动执行此操作,因为 NMAKE 仅扩展先决条件列表中的通配符。我演示了如何在此处回答另一个类似问题。

希望有帮助。