Como qualquer processo, make não pode modificar o ambiente de um processo existente , ele só pode controlar o ambiente que é passado para os processos iniciados. Tão curto de encher o buffer de entrada, não há como fazer o que você está tentando fazer.
Além disso, make processa cada linha de comando em um shell diferente, portanto, as linhas set -a , . ./.env e set +a são executadas em shells separadas. Os efeitos de . ./.env só serão vistos no shell que executa esse comando.