Есть Makefile файл в котором я добавил такой блок:
ifeq ($(GUI),1)
echo "$(MY_WAVES)" >> $@
echo "add wave -recursive /*" >> $@
echo "run -all" >> $@
else
echo "run -all" >> $@
echo "quit" >> $@
endif
MY_WAVES="add wave -color Red -analog-step -height 100 -radix decimal /real_nco_in"
echo "-----"
echo "$MY_WAVES"
echo "-----"
export MY_WAVES
export VSIM_ARGS=" -L altera_mf_ver -L lpm_ver "
linux32 make ARCH=i686 SIM=modelsim
-----
add wave -color Red -analog-step -height 100 -radix decimal /real_nco_in
-----
Проблема в том что если задать многострочное значение:
read -d '' MY_WAVES <<EOF
add wave -color Yellow -analog-step -height 100 -radix decimal /sig_in
add wave -color Red -analog-step -height 100 -radix decimal /real_nco_in
add wave -color Green -analog-step -height 100 -radix decimal /imag_nco_in
EOF
-----
add wave -color Yellow -analog-step -height 100 -radix decimal /sig_in
add wave -color Red -analog-step -height 100 -radix decimal /real_nco_in
add wave -color Green -analog-step -height 100 -radix decimal /imag_nco_in
-----
/bin/sh: 1: Syntax error: Unterminated quoted string
make[1]: *** [sim_build/runsim.do] Ошибка 2
make: *** [sim] Ошибка 2
Как можно сделать так, чтобы внутри Makefile команда echo выводила многострочник в файл?
echo "$(MY_WAVES)" >> $@