在我的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