mirror_edk2/BaseTools/Source/Python/AutoGen
Pierre Gondois 818283de3f BaseTools: Rationalise makefile generation
The GenMake.py script tests the platform environment
to determine the type of makefile that needs to be
generated. If a Windows build host is detected, the
makefile generated is of Nmake type. Otherwise a
GNUmake type is generated.

Furthermore, the <TARGET>_<TAGNAME>_<ARCH>_MAKE_PATH
option in tools_def.template defines the make tool
to use.
E.g.: for VS2017 this is configured to use Nmake, cf.
*_VS2017_*_MAKE_PATH = DEF(VS2017_BIN_HOST)\nmake.exe
while for GCC5 it is setup to use GNU make.
*_GCC5_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make

This prevents using the GCC compiler toolchain on a
Windows build host.

To address this issue this patch introduces 2 factors
to determine the generated makefile output.
  1. Platform -> to determine shell commands used
                 in makefile.
  2. MakeTool -> to determine the type of makefile
                 that needs to be generated.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>

Reviewed-by: Bob Feng <bob.c.feng@intel.com>
2020-02-12 02:34:44 +00:00
..
__init__.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
AutoGen.py BaseTools: Decouple AutoGen Objects 2019-08-09 23:15:52 +08:00
AutoGenWorker.py BaseTools: Leverage compiler output to optimize binary cache 2019-12-10 02:07:12 +00:00
BuildEngine.py BaseTools:Fix GenFds issue for BuildOption replace GenFdsOption 2020-01-13 02:08:46 +00:00
DataPipe.py BaseTools: Leverage compiler output to optimize binary cache 2019-12-10 02:07:12 +00:00
GenC.py BaseTools: remove unnecessary calls of os.exist 2019-09-17 10:19:05 +08:00
GenDepex.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
GenMake.py BaseTools: Rationalise makefile generation 2020-02-12 02:34:44 +00:00
GenPcdDb.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
GenVar.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
IdfClassObject.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
IncludesAutoGen.py BaseTools: Rationalise makefile generation 2020-02-12 02:34:44 +00:00
InfSectionParser.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
ModuleAutoGen.py BaseTools: Fix build failure when multiple build targets given 2019-12-18 01:01:57 +00:00
ModuleAutoGenHelper.py BaseTools: Fixed issue for IgnoreAutoGen 2019-09-10 08:39:18 +08:00
PlatformAutoGen.py BaseTools: Rationalise makefile generation 2020-02-12 02:34:44 +00:00
StrGather.py BaseTools:Add extra debugging message 2019-08-01 15:36:48 +08:00
UniClassObject.py BaseTools: remove unnecessary calls of os.exist 2019-09-17 10:19:05 +08:00
ValidCheckingInfoObject.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
WorkspaceAutoGen.py BaseTools: Leverage compiler output to optimize binary cache 2019-12-10 02:07:12 +00:00