make mario.c
говорит, что нужно собрать
mario.c, но собирать ведь надо не его,
mario.c -- это исходник. Пиши
make mario чтобы собрать
mario из
mario.c. И да, это работает без
Makefile за счёт втроенных в
make правил только для таких простых случаев. Для более сложных надо будет писать
Makefile.