Я работаю над GNUmake, чтобы создать символическую ссылку на конкретный файл, анализируя весь каталог, в котором есть папка, с которой необходимо связать.
Вот мой фрагмент makefile.
TGT_LINK = /lan/test/workspace/build/tools
all_target: release_buid complete_test $(TGT_LINK)
$(TGT_LINK):
if [ ! -d $@ ]; then mkdir -p $@; fi
cd $@; \
tar_ln=`\ls -d synopsystcl* | sed 's/synopsys//'`; \
sour_dir=`\ls -d synopsystcl*`; \
if ! [ -e $tar_ln ]; then \
ln -s $sour_dir $tar_ln; \
fi
Каталог: / lan / test / workspace / build / tools Содержит следующее содержимое
polaris.so link.a dynamic.so kbuild.so README.txt license.txt synopsystcl5.5 build.json
Здесь я пытаюсь создать символическую ссылку с именем tcl5.5
, указывающим на synopsystcl5.5
с указанным выше кодом цели $(TGT_LINK)
.
tcl5.5 -> synopsystcl5.5
После успешного завершения двух целей: release_buid complete_test
, сборка не переходит к следующей цели $(TGT_LINK)
для создания символической ссылки. Не могли бы вы помочь, что не так в коде?