The problem is that placing an uppercase letter in a filename is bad form in Linux. This becomes even more problematic as capitalizing the first letter breaks shell auto-complete. Not only this, if the file name is all lowecase in the makefile or in a preproessor directive, it hangs up the whole compile process if the actual file name has an upper case letter. In case-insensitive systems this is ignored and everything goes along fine.
The whole problem was you were not being consistent in the filename capitalzation in the preprosessor directives. #include "nocopy.h" and #include "NoCopy.h" are two different files.
So we have a problem with filenames, and we need to figure out a resolution.
So as not to make the problem worse, we have two solutions.
1) We can keep the Upper/lowercase names, but the maintainers of the case-insensitive systems have to be very aware that you could easily bork something by not being consistent.
2) We can make everything all lowercase and everything will go fine everywhere.
Now, I personally think that both CamelHumping and pHungarianNotation are a pain to read and use.
I'm open for debate. In the end we should draw up coding standars to keep everything conmsistent. I'll be happy to do that.
Also, I'm learning Autoconf (*YAY*) However for this project to sucessfully use it, someone needs to rename config.cpp and config.h to something else. config.h (lowercase) is required by Autoconf for including system include files that were set with M4.
Any input?
### EDIT ###
Akari, if you want, you can revert my case changes, but please try and be consistent with the preprocessor and makefile.