自编辑Makefile

时间:2012-02-09 04:42:21

标签: c++ makefile

这是我的源代码:

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 all BUILD值递增时?或者这根本不可能?

1 个答案:

答案 0 :(得分:1)

您可以使用({3}}推测,将其他文件“包含”到Makefile中。

所以你可以拥有

生成文件

include buildinfo.inc

COMPILER := g++
# ... etc

buildinfo.inc

BUILD := 0001
VERSION := 0.00

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