我可以在makefile中添加动态地址吗?

我可以在makefile中添加动态地址吗?,makefile,shared-libraries,abaqus,Makefile,Shared Libraries,Abaqus,我正在使用以下命令创建共享库: abaqus-make-library=myCode-directory='/usr/abaqus' 在目录(/usr/abaqus/文件夹)中,我有一个abaqus环境文件,其中包含其他共享库。以下是env文件中的link_sl参数: link_sl='link/nologo%B/usr/Dassault Systemes/SimulationServices/V6R2019x/linux_a64/code/lib/ABQSMAOdbApi.so/usr/Das

我正在使用以下命令创建共享库:
abaqus-make-library=myCode-directory='/usr/abaqus'

在目录(/usr/abaqus/文件夹)中,我有一个abaqus环境文件,其中包含其他共享库。以下是env文件中的link_sl参数:
link_sl='link/nologo%B/usr/Dassault Systemes/SimulationServices/V6R2019x/linux_a64/code/lib/ABQSMAOdbApi.so/usr/Dassault Systemes/SimulationServices/V6R2019x/linux_a64/code/lib/ABQSMAOdbCore.so ucrt.so'


现在,主要问题是。ABQSMAOdbApi.so文件在每台计算机中的位置不同。如何在此处使用动态地址或参数值来解决此问题。

欢迎使用堆栈溢出。你没有给我们太多的合作机会。在不知道如何使用此变量、如何合并env文件或如何控制address变量的情况下,我可以建议:

API_DIR = /usr/Dassault Systemes/SimulationServices/V6R2019x/linux_a64/code/lib

link_sl='LINK /nologo  %B $(API_DIR)/ABQSMAOdbApi.so /usr/Dassault Systemes/SimulationServices/V6R2019x/linux_a64/code/lib/ABQSMAOdbCore.so ucrt.so'

Make允许您使用以下命令设置默认值:

foo?=bar


如果在命令行中,您没有给
foo
变量
make
将其设置为
bar

,感谢您的响应。我的问题是,您在这里提到的API_DIR地址在每个系统中都是不同的。我需要创建一个例程,首先找到作为参数的位置,然后用这个API_DIR替换它,因为我只提供编译后的文件。然后,当用户使用这个库时,首先,我的例程查找正确的位置,然后替换它,然后运行代码。