我有几个类似于这样的应用程序特定目录中的Makefile:
/project1/apps/app_typeA/Makefile
/project1/apps/app_typeB/Makefile
/project1/apps/app_typeC/Makefile
每个Makefile在此路径的上一级中包含一个.inc文件:
/project1/apps/app_rules.inc
在 app_rules.inc 中,我正在设置构建时想要二进制文件放置的目标位置。我希望所有的二进制文件都在它们各自的 app_type
路径中:
/project1/bin/app_typeA/
我尝试使用$(CURDIR)
,就像这样:
OUTPUT_PATH = /project1/bin/$(CURDIR)
但实际上,我得到的二进制文件却被埋藏在整个路径名中,就像这样:(请注意冗余)
/project1/bin/projects/users/bob/project1/apps/app_typeA
我该怎么做才能获取"当前目录"的执行路径,以便我只能知道app_typeX
,从而将二进制文件放入它们各自的类型文件夹中?
$(lastword "$(MAKEFILE_LIST)")
将会给你"Directory/Makefile"
。我认为这方面没有任何解决方法,因为带有两个makefile的$(MAKEFILE_LIST)
会给出一个字符串"Makefile One Makefile Two"
,无法处理空格。 - mrosalescurrent_dir
对我没用,而$(PWD)
可以,并且更简单。 - CaTx