Two fixes for v1.5 under Borland C++

The macros passed in the command line to Borland make are ignored if
similarly-named macros are already defined in makefiles. This behavior
is different from POSIX make and other make programs.

Surround the macro definitions with ifndef guards.