Em primeiro lugar, o -lm
não é o "vinculador", é o nome de uma biblioteca que você está pedindo para vincular.
Em segundo lugar, a resposta simples para a sua pergunta é não, não há como evitar a necessidade de especificar isso - se você usa rotinas de uma biblioteca diferente da biblioteca C principal, então você precisa dizer ao compilador sabe onde encontrar as rotinas.