I understand the most simple (but kinda silly) way to write a Makefile is to simply put all related the cpp files after the colon and compile them all, like this:
testprogram: A.cpp B.cpp C1.cpp C2.cpp test.cpp <Tab>g++ $? -o $@ However, the wierd thing that I came across was: Every time I run "make testprogram" for the first time, the compiler (g ++) complaines that it cannot find the definitions of some member functions, which I have defined in A.cpp or B.cpp (Of course I hvae included C1.h and C2.h in test.cpp, included B.h in C1.h, and included A.h in B.h.) And, if I run "make testprogram" again (for the second time), then they all compile well and the executable is just made there in good state. Anybody knows why that is happening? I am using emacs and the running the compile command "make testprogram" within emacs, I am not sure if that matters. _______________________________________________ help-gplusplus mailing list help-gplusplus@gnu.org http://lists.gnu.org/mailman/listinfo/help-gplusplus