Co rozumiesz przez "elastycznie"? Tak musisz tam wpisać nazwę pliku wyjściowego (pliki wejściowe można załatwić funkcją wildcard), ale to tylko raz na projekt. Ewentualnie możesz sobie też zrobić tak, że każdy plik zostanie zamieniony na plik wykonywalny w danym katalogu, wszystko zależy jak zdefiniujesz sobie zadania.
W większości przypadków masz jakiś projekt, który zawiera więcej plików niż 1 i musisz jakoś je wszystkie zbudować, najlepiej tak, by po zmianie w 1 pliku kompilować tylko część projektu, a nie całość. To właśnie zapewnia Ci make.
Cała ta dyskusja wygląda mi mocno na problem XY.