如何替换生成文件中的"/home/name/.../",以便将我的程序移交给其他人?



我做了一个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}

相关内容

最新更新