Make:Allow for extension in tool names.

In some build environments executable programs have a specific file
extension.  The value of BIN_EXT is appended to the relevant tool file
names to allow for this.
The value of BIN_EXT is set, where appropriate, by the build environment
specific make helper (to .exe for Windows build environments).

.gitignore is updated to hide the new (.exe) files.

Change-Id: Icc32f64b750e425265075ad4e0dea18129640b86
diff --git a/.gitignore b/.gitignore
index a3b5e39..7447227 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,9 +11,11 @@
 # Ignore build products from tools
 tools/**/*.o
 tools/fip_create/fip_create
+tools/fip_create/fip_create.exe
 tools/cert_create/src/*.o
 tools/cert_create/src/**/*.o
 tools/cert_create/cert_create
+tools/cert_create/cert_create.exe
 
 # Ignore header files copied.
 tools/fip_create/firmware_image_package.h
diff --git a/Makefile b/Makefile
index c20bf91..828ff57 100644
--- a/Makefile
+++ b/Makefile
@@ -377,11 +377,11 @@
 
 # Variables for use with Certificate Generation Tool
 CRTTOOLPATH		?=	tools/cert_create
-CRTTOOL			?=	${CRTTOOLPATH}/cert_create
+CRTTOOL			?=	${CRTTOOLPATH}/cert_create${BIN_EXT}
 
 # Variables for use with Firmware Image Package
 FIPTOOLPATH		?=	tools/fip_create
-FIPTOOL			?=	${FIPTOOLPATH}/fip_create
+FIPTOOL			?=	${FIPTOOLPATH}/fip_create${BIN_EXT}
 
 
 ################################################################################
diff --git a/make_helpers/cygwin.mk b/make_helpers/cygwin.mk
index f99be13..e69c0b1 100644
--- a/make_helpers/cygwin.mk
+++ b/make_helpers/cygwin.mk
@@ -37,4 +37,7 @@
 
     include ${MAKE_HELPERS_DIRECTORY}unix.mk
 
+    # In cygwin executable files have the Windows .exe extension type.
+    BIN_EXT := .exe
+
 endif
diff --git a/make_helpers/msys.mk b/make_helpers/msys.mk
index ca0f72b..188dc6c 100644
--- a/make_helpers/msys.mk
+++ b/make_helpers/msys.mk
@@ -37,5 +37,8 @@
 
     include ${MAKE_HELPERS_DIRECTORY}unix.mk
 
+    # In MSYS executable files have the Windows .exe extension type.
+    BIN_EXT := .exe
+
 endif
 
diff --git a/make_helpers/windows.mk b/make_helpers/windows.mk
index 92cc8f6..394df3a 100644
--- a/make_helpers/windows.mk
+++ b/make_helpers/windows.mk
@@ -38,9 +38,9 @@
     WINDOWS_MK := $(lastword $(MAKEFILE_LIST))
 
     ECHO_BLANK_LINE := @cmd /c echo.
-
     DIR_DELIM := $(strip \)
-    PATH_SEP := ;
+    BIN_EXT   := .exe
+    PATH_SEP  := ;
 
     # For some Windows native commands there is a problem with the directory delimiter.
     # Make uses / (slash) and the commands expect \ (backslash)
diff --git a/tools/cert_create/Makefile b/tools/cert_create/Makefile
index 8218ab7..27545ba 100644
--- a/tools/cert_create/Makefile
+++ b/tools/cert_create/Makefile
@@ -32,7 +32,7 @@
 PLAT		:= none
 V		:= 0
 DEBUG		:= 0
-BINARY		:= ${PROJECT}
+BINARY		:= ${PROJECT}${BIN_EXT}
 OPENSSL_DIR	:= /usr
 
 OBJECTS := src/cert.o \
diff --git a/tools/fip_create/Makefile b/tools/fip_create/Makefile
index b12e063..2e367c2 100644
--- a/tools/fip_create/Makefile
+++ b/tools/fip_create/Makefile
@@ -32,7 +32,7 @@
 include ${MAKE_HELPERS_DIRECTORY}build_macros.mk
 include ${MAKE_HELPERS_DIRECTORY}build_env.mk
 
-PROJECT := fip_create
+PROJECT := fip_create${BIN_EXT}
 OBJECTS := fip_create.o
 COPIED_H_FILES := uuid.h firmware_image_package.h