在我的makefile中,我有一个路径变量
SDK_PATH = /home/myname/Documents/SimplicityStudio_v4
但这个在我的另一台电脑上,每次我在git上推,开始在另一台计算机上工作时,我都必须适应另一条路径。我试图在.gitignore中添加makefile,但问题是它每次都会被删除。
我试图在.bachrc中添加一个变量,但没有成功
你能帮我找到的解决方案吗
问候,
您可以在makefile主机名中映射到变量值,例如:
hostname := $(shell hostname)
# Path for hostname one.
SDK_PATH.one := /home/someone/Documents/SimplicityStudio_v4
# Use a hostname-specific value, if any, otherwise a default.
SDK_PATH := $(or ${SDK_PATH.${hostname}},/home/myname/Documents/SimplicityStudio_v4)
$(info SDK_PATH=${SDK_PATH})
输出:
$ make
SDK_PATH=/home/myname/Documents/SimplicityStudio_v4
# Now override hostname value.
$ make hostname=one
SDK_PATH=/home/someone/Documents/SimplicityStudio_v4
在makefile中还有一个设置变量的选项:
VAR ?= value
在这种情况下,VAR
将被设置,如果它还没有被设置的话。在任何情况下,都可以在运行make
实用程序之前设置环境变量:
VAR=value make all