Это будет работать, но не совсем так, как у вас. make вызывает новую оболочку для каждой строки, поэтому в приведенном вами примере echo $ {FOO} находится в новой оболочке. Вы можете просто сделать:
target:
. myscript; \
echo $${FOO}
обратите внимание, что вам нужно два знака '$' на $$ {FOO}