作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望能够将我的 bin 和代码文件拆分到单独的目录中,因为在当前状态下管理起来变得困难。
我理想中希望拥有
project_dir
|-Makefile
|-run_tests.sh
|
|__source
| |-program1.cpp
| |-program2.cpp
|
|__bin
|-program1
|-program2
但是,如果不手动编写每个程序的规则,我就无法让它在我当前的系统中工作(请记住,每个程序都是一个单独的程序,而不是一系列链接在一起的对象)
#Current make system
BIN=./bin/
SOURCE=./source/
LIST=program1 program2...
all: $(LIST)
%: $(SOURCE)%.cpp
$(CC) $(INC) $< $(CFLAGS) -o $(BIN)$@ $(LIBS)
除了我看不到当前路径中的目标之外,它仍然有效,因此它认为即使源文件没有更改,它也总是会重建二进制文件。
我现在唯一的想法是编写一个程序来制作makefile,但我不想这样做。
最佳答案
你就快到了...
#Current make system
BIN=./bin/
SOURCE=./source/
LIST=$(BIN)/program1 $(BIN)/program2...
all: $(LIST)
$(BIN)/%: $(SOURCE)%.cpp
$(CC) $(INC) $< $(CFLAGS) -o $@ $(LIBS)
您还可以使用以下内容使LIST
更容易
PROG=program1 program2
LIST=$(addprefix $(BIN)/, $(PROG))
关于makefile - Makefile 如何使用单独的目录来存放源代码和二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9178285/
我有一个 Vagrant 盒子(ubuntu 16.04)用于开发,我做了几个apt install并在初始化后对配置文件(.ini、.cnf 等)进行了一些更改。现在,我对这个盒子和它的内容很满意。
我是一名优秀的程序员,十分优秀!