自编辑Makefile

发布于 2025-01-03 11:47:18 字数 511 浏览 1 评论 0原文

这是我的源代码:

BUILD := 0001
VERSION := 0.00

COMPILER := g++
CFLAGS := 
LDFLAGS := 
EXECUTABLE := bin/conch$(VERSION)-$(BUILD).exe

all: src/conch.cc
    $(COMPILER) $(input) -o $(EXECUTABLE)

conch: obj/conch.o
    $(COMPILER) $(LDFLAGS) $(input) -o $(EXECUTABLE)

conch.o: src/conch.cc
    $(COMPILER) $(CFLAGS) -c src/conch.cc -o obj/conch.o

clean:
    rm -f obj/conch.o

如何制作 makefile,以便在 make conchmake allBUILD 值递增?或者这根本不可能?

Here's my source code:

BUILD := 0001
VERSION := 0.00

COMPILER := g++
CFLAGS := 
LDFLAGS := 
EXECUTABLE := bin/conch$(VERSION)-$(BUILD).exe

all: src/conch.cc
    $(COMPILER) $(input) -o $(EXECUTABLE)

conch: obj/conch.o
    $(COMPILER) $(LDFLAGS) $(input) -o $(EXECUTABLE)

conch.o: src/conch.cc
    $(COMPILER) $(CFLAGS) -c src/conch.cc -o obj/conch.o

clean:
    rm -f obj/conch.o

How can I make the makefile so that when I make conch or make all the BUILD value increments? Or is this not possible at all?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月亮坠入山谷 2025-01-10 11:47:18

您可以使用 将其他文件“包含”到 Makefile 中,您猜对了include 指令

这样你就可以拥有

Makefile

include buildinfo.inc

COMPILER := g++
# ... etc

buildinfo.inc

BUILD := 0001
VERSION := 0.00

然后,你需要做的就是修改(或简单地重写)buildinfo.inc来增加版本号。这些变量将像现在一样在您的 Makefile 中使用。

You can "include" other files into a Makefile using, you guessed it, the include directive.

So you can have

Makefile

include buildinfo.inc

COMPILER := g++
# ... etc

buildinfo.inc

BUILD := 0001
VERSION := 0.00

Then, all you need to do is modify (or simply rewrite) buildinfo.inc to increment the version number. Those variables will then be usable inside your Makefile just as they are now.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文