Renamed variable linux because it is actually a macro in gnu++98

Fixes #167
This caused compilation to fail because linux is defined as 1 in the preprocessor for gnu++98,
which is the default when compiling with g++. This could also have been solved by
chaging the c++ dialect to c++98 or something newer.
Fixed directory creation and cleanup in Makefile

Fixes #172
Merge pull request #175 from bobbaluba/fixlinuxidebuilderrors

Fixed build errors on linux