如何更改我的 makefile 以构建到单独的文件夹中
Posted
技术标签:
【中文标题】如何更改我的 makefile 以构建到单独的文件夹中【英文标题】:How to change my makefile to build into a separate folder 【发布时间】:2014-02-21 05:21:28 【问题描述】:我有以下生成文件:
CC=g++
CCOPTS=-Wall -Wextra -g
OBJS = manager.o tcpcon.o
TARGETS = manager
.PHONY: all clean
$(TARGETS) : $(OBJS)
$(CC) -o $@ $^ $(CFLAGS) $(LIBS)
all: $(TARGETS) $(OBJS)
clean:
rm -f $(TARGETS) $(OBJS)
%: %.cpp
$(CC) $(CCOPTS) -o $@ $<
有没有办法可以将我的 .o 和 bin 文件构建到名为 build
的目录中?我尝试过一些教程,但我想我只是不完全理解 makefile..
【问题讨论】:
我相信这应该会有所帮助:[单击此链接到 2009 年在 Stack Overflow 上回答的类似问题][1] [1]:***.com/questions/1950926/… 【参考方案1】:别难过;我不确定是否有人完全理解 makefile。
BUILD_DIR = build
OBJS = $(BUILD_DIR)/manager.o $(BUILD_DIR)/tcpcon.o
TARGETS = $(BUILD_DIR)/manager
...
$(BUILD_DIR)/%.o: %.cpp
$(CC) -c $(CCOPTS) -o $@ $<
【讨论】:
嗯,现在我得到以下信息:make: *** No rule to make targetbuild/manager.o', needed by
build/manager'。停止。 ....我已经用我现在所拥有的内容更新了我原来的问题。
@ctote:对不起,我的回答有问题,现在更正了。但是请不要这样“更新”您的问题;它使答案过时并破坏了问题对其他用户的价值。以上是关于如何更改我的 makefile 以构建到单独的文件夹中的主要内容,如果未能解决你的问题,请参考以下文章
如何修改此 Makefile 以分别构建 c 和 cxx 文件?