## @file\r
# Create makefile for MS nmake and GNU make\r
#\r
-# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2019 - 2021, Intel Corporation. All rights reserved.<BR>\r
# Copyright (c) 2020, ARM Limited. All rights reserved.<BR>\r
# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
#\r
@cached_property\r
def BuildCommand(self):\r
- RetVal = []\r
- if "MAKE" in self.ToolDefinition and "PATH" in self.ToolDefinition["MAKE"]:\r
- RetVal += _SplitOption(self.ToolDefinition["MAKE"]["PATH"])\r
- if "FLAGS" in self.ToolDefinition["MAKE"]:\r
- NewOption = self.ToolDefinition["MAKE"]["FLAGS"].strip()\r
- if NewOption != '':\r
- RetVal += _SplitOption(NewOption)\r
- if "MAKE" in self.EdkIIBuildOption:\r
- if "FLAGS" in self.EdkIIBuildOption["MAKE"]:\r
- Flags = self.EdkIIBuildOption["MAKE"]["FLAGS"]\r
- if Flags.startswith('='):\r
- RetVal = [RetVal[0]] + [Flags[1:]]\r
- else:\r
- RetVal.append(Flags)\r
+ if "MAKE" in self.EdkIIBuildOption and "PATH" in self.EdkIIBuildOption["MAKE"]:\r
+ # MAKE_PATH in DSC [BuildOptions] section is higher priority\r
+ Path = self.EdkIIBuildOption["MAKE"]["PATH"]\r
+ if Path.startswith('='):\r
+ Path = Path[1:].strip()\r
+ RetVal = _SplitOption(Path)\r
+ elif "MAKE" in self.ToolDefinition and "PATH" in self.ToolDefinition["MAKE"]:\r
+ RetVal = _SplitOption(self.ToolDefinition["MAKE"]["PATH"])\r
+ else:\r
+ return []\r
+ if "MAKE" in self.ToolDefinition and "FLAGS" in self.ToolDefinition["MAKE"]:\r
+ NewOption = self.ToolDefinition["MAKE"]["FLAGS"].strip()\r
+ if NewOption != '':\r
+ RetVal += _SplitOption(NewOption)\r
+ if "MAKE" in self.EdkIIBuildOption and "FLAGS" in self.EdkIIBuildOption["MAKE"]:\r
+ Flags = self.EdkIIBuildOption["MAKE"]["FLAGS"]\r
+ if Flags.startswith('='):\r
+ RetVal = [RetVal[0]] + _SplitOption(Flags[1:].strip())\r
+ else:\r
+ RetVal = RetVal + _SplitOption(Flags.strip())\r
return RetVal\r
\r
## Get tool chain definition\r