这是我的源代码:

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值递增?还是根本不可能?

最佳答案

您可以使用 include directive将其他文件“包含”到Makefile中。

所以你可以有

生成文件

include buildinfo.inc

COMPILER := g++
# ... etc

buildinfo.inc
BUILD := 0001
VERSION := 0.00

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

09-06 09:43