A "Makefile" is a file of that name which is used by the "make" utility, generally under Unix (Linux).
Instructions with their source will tell you to type "make". The program "make" looks for a (default) file name of "Makefile" which it then reads in to tell it what to do.
The command format is a bit cryptic, but in essence it has rules for rebuilding the source.
For example, in there you will, see something like this:
C_FILES = act_comm.c act_info.c act_move.c act_obj.c act_wiz.c boards.c \
build.c clans.c comm.c comments.c const.c db.c deity.c fight.c \
handler.c hashstr.c ibuild.c ident.c interp.c magic.c makeobjs.c \
mapout.c misc.c mpxset.c mud_comm.c mud_prog.c player.c polymorph.c \
requests.c reset.c save.c shops.c skills.c special.c tables.c \
track.c update.c grub.c stat_obj.c ban.c services.c planes.c \
imm_host.c $(IMC_CFILES) colorize.c
This puts the relevant list of files to be compiled into the variable C_FILES.
They then get compiled and linked. Make is smart enough not to recompile files whose object files are already up-to-date.
As for remaking the project under Visual C++, go to the Build menu, and select "Build smaug.exe" or just press F7.