Makefile 在GNU Make中管理简单变量
我试图在make上管理变量,但是我看到有几种类型,比如带有{}的shell变量,带有()和$$的变量集,但是现在我只是尝试使用Makefile中的简单代码来管理简单的文本变量Makefile 在GNU Make中管理简单变量,makefile,gnu-make,Makefile,Gnu Make,我试图在make上管理变量,但是我看到有几种类型,比如带有{}的shell变量,带有()和$$的变量集,但是现在我只是尝试使用Makefile中的简单代码来管理简单的文本变量 @WORD=GNUMAKE FOUND=1 PWD=$(PWD) $(findstring $$WORD,$$PWD) $(shell echo $$FOUND) $(shell echo $$PWD) 好吧,我真的很惊讶,我只能用$$注释变量,因为我的$make不能识别()或{}
@WORD=GNUMAKE
FOUND=1
PWD=$(PWD)
$(findstring $$WORD,$$PWD)
$(shell echo $$FOUND)
$(shell echo $$PWD)
好吧,我真的很惊讶,我只能用$$注释变量,因为我的$make不能识别()或{},但另一件事是编译器给了我一个错误
FOUND=1
PWD=/home/ogonzalezr/GNUMAKE/changedir
/home/ogonzalezr/GNUMAKE/changedir
make: execvp: /home/ogonzalezr/GNUMAKE/changedir: Permission denied
make: *** [all] Error 127
现在我想知道,我的make在操作系统上设置好了吗?也许我们正在谈论一些相关的bug?
我真的很失落,也很扭曲,因为我不明白会发生什么
谢谢你的回答
问候所有人从哪里开始?你使用变量是错误的 将其放在makefile的顶部:
FOUND = 1
all:
echo $(FOUND)
然后运行
make
。在你尝试任何更复杂的事情之前,你应该让它工作起来。如果你有任何关于变量的问题,那么变量并不是那么难;请不要犹豫,检查这个链接是的,就是这样,我在这个目标内设置了变量。这是一个混乱,但知道是好的。谢谢你的回答!但是,我想将这些变量管理到for循环中..我尝试