Como você tem dois comandos, seria melhor usar:
{ make clean && make DISABLE_ID3TAG=1 CFLAGS="-O2 -DNDEBUG -W64"; } 2>&1 | myprogram
Ou
( make clean && make DISABLE_ID3TAG=1 CFLAGS="-O2 -DNDEBUG -W64" ) 2>&1 | myprogram
O make clean
não está direcionando sua saída para o pipe, você desejará usar um dos dois acima para permitir que o shell redirecione a saída de ambas as chamadas make
como uma.