我做了一个C/C++makefile项目,现在需要与项目组中的其他人共享。它可以通过USB或邮件等方式移交。这对我来说无关紧要。
我的问题是,我在我的makefile中使用了完全写入的路径("/home/name/…/project/…/src/etc"(来连接我的project中的库和src文件。
现在我想知道,是否有可能将完全写入的路径更改为其他路径,这样其他人就不必更改这些完全写入的道路。
如果你对我能做什么有任何建议,那将是非常有用的。
您可以使用环境变量(如${HOME}
(来替换/home/name
和任何与环境相关的变量。
至于完整编写路径的其余部分,要么使用相同Makefile的人必须具有某种相似的体系结构,要么您必须将参数传递给规则。
例如,您可以执行make ARGS="path" all
,其中path是一个自定义路径,然后使用${ARGS}
,它将等效于Makefile中all:
规则中的path
。
但正如Triplee所说,最好的做法是使用相对路径。
在这种情况下,Makefile可以在项目的根目录下载,源文件可以创建在src
目录中,如下所示:
.
├── Makefile
└── src
├── file1.c
└── file2.c
使用相对路径编译src
中所有.c
文件的(非常基本的(Makefile是:
CC=gcc
SRC=./src/*.c
all:
${CC} ${SRC}