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