(The error you quoted is actually from the compile stage, not the linking stage. Did you try what I suggested, and if so, what happened?)
In answer to your most recent question, "make" is a declarative language -- instead of telling it what to do, you tell it what your targets depend on and (in theory) it works out what to do to build them. So if you write
simpleClass.o: simpleClass.cpp simpleClass.h
you are telling make that the .o file depends on the .cpp file and the .h file. That's great -- it's what you want -- but it's only a dependency, not an instruction. You also need to give make a hint that it actually needs to produce the .o file.
To do this, you'd normally add the .o file as a dependency of something somewhere else, such as the library file. There is often a variable that contains a list of the object files that need to be linked together to put together the library, and you'll want to add you new .o file to that.
Chris