diff --git a/.gitignore b/.gitignore
index a3b5e391d851469b28ac2827174a2a29342ec7e9..74472273a8315e46edd5f6d108eb5ef2099e4b38 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,9 +11,11 @@ build/
 # 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 c20bf912aeb631416ac38cf239ae73e2efddd3e4..828ff572867e4ebaac142f34e3fb9fca7073cdea 100644
--- a/Makefile
+++ b/Makefile
@@ -377,11 +377,11 @@ endif
 
 # 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 f99be134a35b48b4c7d826cf99ca46acba005a1b..e69c0b1babaed6fac8c1088167c8d3d92c56b76e 100644
--- a/make_helpers/cygwin.mk
+++ b/make_helpers/cygwin.mk
@@ -37,4 +37,7 @@ ifndef CYGWIN_MK
 
     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 ca0f72b0fdc20b280ad98d9470b7f80ee935cf45..188dc6ca781a5ee13ab4a5590801ff0aa30aa016 100644
--- a/make_helpers/msys.mk
+++ b/make_helpers/msys.mk
@@ -37,5 +37,8 @@ ifndef MSYS_MK
 
     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 92cc8f64d0454bcae7d675bf2a2e9a7bbc08ba2d..394df3a0b156ac1f02cb369e05a8bb08d15299ab 100644
--- a/make_helpers/windows.mk
+++ b/make_helpers/windows.mk
@@ -38,9 +38,9 @@ ifndef WINDOWS_MK
     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 8218ab71d9a3e1cf6501c180985353884835d920..27545bae88d8baadac77215eb3aba36b9244572c 100644
--- a/tools/cert_create/Makefile
+++ b/tools/cert_create/Makefile
@@ -32,7 +32,7 @@ PROJECT		:= cert_create
 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 b12e063848425e09e7ca050c198f03599f9d5948..2e367c2fa23cc172763af3e8c043135664f17fa7 100644
--- a/tools/fip_create/Makefile
+++ b/tools/fip_create/Makefile
@@ -32,7 +32,7 @@ MAKE_HELPERS_DIRECTORY := ../../make_helpers/
 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