Sometimes when I run my makefile that consist of the following

[code]
default:
g++ -o prog1 prog1.cpp

clean:
rm -rf *.o
rm -rf core*
[code]

It sometimes says the file is updated, but I've just updated the source and it won't call the default tag for some reason.

I'm suppose to make a makefile that properly makes the program. Calling "make default" should only do the necessary work - it shouldn't recompile anything that doesn't need it. "make clean" should remove any core dump files and the .o and executable files.

Is this correct? I think someone said I had to worry about depencies or something, I guess what I have to do is that if the source is update or executable is, then it shouldn't update or something?