I have a version.c file in my project that contains current revision of the project and some other stuff that is passed as a definition (-D compiler option) from makefile.
The quick hack version when you just need it to work and you don't want to play Make games:
# Hack to get main.c rebuilt hack := $(shell touch main.c)
Basically just make Make run touch for you.
touch