具有绝对路径和 Git 的 Makefile
Makefile with absolute paths and Git
我有一个带有自定义 Makefile 的 C 项目。它的第一行是项目目录的路径。因此,与该项目一起工作的每台机器都必须将此路径更改为其工作目录,这自然会导致新的不良提交,尤其是在推送数据时。此外还有几个外部SDK也需要路径。
你的解决方案是什么?
有条件地包含设置本地路径的未跟踪 makefile(例如 -include config.mak
)。
首先,您可以通过命令行覆盖通过简单 =
分配的变量:
$ cat Makefile
AAA = 1
all:
echo $(AAA)
$ make
1
$ make AAA=2
2
其次,您可以使用 ?=
,在这种情况下,Linux 环境也将覆盖 Makefile 的变量:
$ cat Makefile
AAA ?= 1
all:
echo $(AAA)
$ export AAA=3
$ make
3
然后您可以将变量添加到您的 .bashrc
而忘记它。
我有一个带有自定义 Makefile 的 C 项目。它的第一行是项目目录的路径。因此,与该项目一起工作的每台机器都必须将此路径更改为其工作目录,这自然会导致新的不良提交,尤其是在推送数据时。此外还有几个外部SDK也需要路径。
你的解决方案是什么?
有条件地包含设置本地路径的未跟踪 makefile(例如 -include config.mak
)。
首先,您可以通过命令行覆盖通过简单 =
分配的变量:
$ cat Makefile
AAA = 1
all:
echo $(AAA)
$ make
1
$ make AAA=2
2
其次,您可以使用 ?=
,在这种情况下,Linux 环境也将覆盖 Makefile 的变量:
$ cat Makefile
AAA ?= 1
all:
echo $(AAA)
$ export AAA=3
$ make
3
然后您可以将变量添加到您的 .bashrc
而忘记它。