0

假设我们有一个非 C/C++ 语言的项目,由一堆源文件组成。我们如何使用make或类似的工具从命令行编译这束?它应该只编译项目目录中的每个源文件并从中创建一个可执行文件。听起来不太难,但我似乎无法找到一个简单的答案。

4

2 回答 2

1

您能否更具体地了解您需要编译的语言和平台?

对于不同的语言/平台,编译过程是不同的。例如,你可能不想用makeJava 来编译一些东西: 为什么没有人使用 make for Java? (至少,与 C++ 的方式不同)

于 2013-03-29T20:11:35.240 回答
1

makes 模式规则相当强大。假设您要构建程序ab并且c从 C# 源文件a.csb.cs并且c.cs,Makefile 看起来像:

all : a.exe b.exe c.exe

%.exe : %.cs
     csc.exe /out:$@ $^

文件中的第一条规则告诉make我们要做什么。它是all按约定命名的。第二条规则是一个模板,它定义了如何通过调用下一行给出的编译器.exe来使以 结尾的文件名具有相同的结尾。.cs请记住在最后一行前面放置一个制表符。

$^$@是自动变量,分别表示“目标名称”和“所有先决条件”。

于 2013-04-02T20:54:11.133 回答