假设我们有一个非 C/C++ 语言的项目,由一堆源文件组成。我们如何使用make
或类似的工具从命令行编译这束?它应该只编译项目目录中的每个源文件并从中创建一个可执行文件。听起来不太难,但我似乎无法找到一个简单的答案。
问问题
29 次
2 回答
1
您能否更具体地了解您需要编译的语言和平台?
对于不同的语言/平台,编译过程是不同的。例如,你可能不想用make
Java 来编译一些东西:
为什么没有人使用 make for Java?
(至少,与 C++ 的方式不同)
于 2013-03-29T20:11:35.240 回答
1
make
s 模式规则相当强大。假设您要构建程序a
,b
并且c
从 C# 源文件a.cs
,b.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 回答