title: How to modify makefile to compile changed source into object directory except for a list of files
body: <p>I inherited a makefile that uses GNU Make 3.81.  It is overly complicated, IMHO because it does not use patterns.  In addition, it does not automatically create an object file directory when needed.  I've looked at several examples and read the a GNU makefile manual, but still not seeing something that should be simple.  There seem to be many ways recommended, but not clear what to use.  I have about 60 c files that need to be compiled into a directory named obj.  But, I don't want 6 test programs that have 'main' programs compiled into that directory.  They are in a list called OTHERSRCS.  I'd like to have the c files less the OTHERSRCS compiled into obj if anything changes in those files.  Also, if the obj directory doesn't exist, I'd like to create it.  The 'make clean' should remove that directory.  I've used ANT with Java and can get the dependencies to work, but I'm not succeeding with this makefile.  A simple example would be helpful that used some sort of exclusion along with the pattern for the c files.</p>