-
Se você não tem dependências para acompanhar, o Make provavelmente não é a ferramenta certa.
-
Make lança um shell por comando (ou por regra em algumas versões), se você precisar configurar o shell, precisará configurar cada instância.
-
Não é possível que um processo modifique seu pai. Portanto, se você quiser que o Make modifique o shell no qual ele foi executado, isso não será possível sem usar o mesmo tipo de truque do docker.
-
Como
$
é interpretado por Make, para que ele seja passado para o shell, ele precisa ser escapado. -
Aqui está uma estrutura que pode ser viável (note que eu combine as regras em um comando), mas novamente eu não acho que o Make é a ferramenta certa para esse tipo de coisa e eu não sei nada sobre o docker, então eu posso sentir falta algo relevante.
start: @sh run.sh -d; \ echo $$(docker-machine env dev) > ./docker-config start-compose: @eval $$(cat ./docker-config); \ docker-compose up -d clean: @eval $$(cat ./docker-config); \ docker-compose rm --force stop: @eval $$(cat ./docker-config); \ docker-compose stop shutdown: @eval $$(cat ./docker-config); \ docker-compose stop ; \ docker-machine stop dev