Actually make clean did work. That is what it is supposed to do.
It deletes all of the .o files.
More often then not you should use make clean, some say always use it before you compile.
Some changes what do anything or some code might not give errors but it doesn't function because it should have given errors but it didn't because you didn't use make clean.
For your menu question.
I would suggest looking through the menu.c file to see how things work because it is relatively simple and easy to understand once you look through it because each menu (Main menu, multiplayer menu, options menu etc) Is done in a similar matter.
You could also look at Kurok's menu file because it also does what your asking.
I will write up a tutorial on how to do it right now anyways.
EDIT: I made the tutorial and here it is: