string substitution removes part of path when linking versioned shared libraries
|Janet B. Anderson|
I am building an EPICS extension which has the shared library version inside of it's directory name.
The full path is:
and the shared library version is 2:
SHRLIB_VERSION = 2
Once the versioned library was built the build system tried to create a symbolic link:
ln -s libNDPluginGeom
ln: creating symbolic link `/home/
The error occurred because the linking command in RULES_BUILD removes all substrings of the form ".$(SHRLIB_
To fix this problem I changed the two linking commands in RULES_BUILD from
line 389: ln -s $< $(subst .$(SHRLIB_
line 412: ln -s $< $(subst .$(LOADABLE_
line 389: ln -s $< $(@:.$(
line 412: ln -s $< $(@:.$(
This is a greedier substitution which will only remove the last occurrence of the substring.