O -o serve para gerar o arquivo executavel. Acredito que blood dev c ja tenha essa opção por padrão, então ele deve dar erro pq vc ta colocando ela duas vezes.
Então se ta gerando o executavel normal sem essa opção tudo bem de compilar sem ela.
O -lm ("L" minusculo), serve para carregar o biblioteca da math.h.
Fórum