Allow overriding Makefile variables from the command line
Allow overriding protoc path from the command line
Install to /usr/local per default
Do not set file user:group to 'root:root' during installation

When run as root, files will be 'root:root' anyway. When run as user
changing user:group will fail. Furthermore, the group 'root' is not
available on all systems.
Use #define instead of const char* for version.

You can't initialize strings in header files, because they might be included from several source files and the linker will see several copies of the same string.
Compile with -fPIC

This is needed on 64bit machines when the resulting static library will later
be included in a dynamic library.
merged
merged