import Common.DataType as DataType\r
from Common.Misc import PathClass\r
from Common.LongFilePathSupport import OpenLongFilePath as open\r
+from Common.MultipleWorkspace import MultipleWorkspace as mws\r
\r
## Global variables\r
#\r
LibDir = ''\r
WorkSpace = None\r
WorkSpaceDir = ''\r
+ ConfDir = ''\r
EdkSourceDir = ''\r
OutputDirFromDscDict = {}\r
TargetName = ''\r
def __LoadBuildRule():\r
if GenFdsGlobalVariable.__BuildRuleDatabase:\r
return GenFdsGlobalVariable.__BuildRuleDatabase\r
- BuildConfigurationFile = os.path.normpath(os.path.join(GenFdsGlobalVariable.WorkSpaceDir, "Conf/target.txt"))\r
+ BuildConfigurationFile = os.path.normpath(os.path.join(GenFdsGlobalVariable.ConfDir, "target.txt"))\r
TargetTxt = TargetTxtClassObject()\r
if os.path.isfile(BuildConfigurationFile) == True:\r
TargetTxt.LoadTargetTxtFile(BuildConfigurationFile)\r
\r
TargetList = set()\r
FileList = []\r
- for File in Inf.Sources:\r
- if File.TagName in ("", "*", GenFdsGlobalVariable.ToolChainTag) and \\r
- File.ToolChainFamily in ("", "*", GenFdsGlobalVariable.ToolChainFamily):\r
- FileList.append((File, DataType.TAB_UNKNOWN_FILE))\r
- \r
+\r
+ if not Inf.IsBinaryModule:\r
+ for File in Inf.Sources:\r
+ if File.TagName in ("", "*", GenFdsGlobalVariable.ToolChainTag) and \\r
+ File.ToolChainFamily in ("", "*", GenFdsGlobalVariable.ToolChainFamily):\r
+ FileList.append((File, DataType.TAB_UNKNOWN_FILE))\r
+\r
for File in Inf.Binaries:\r
if File.Target in ['COMMON', '*', GenFdsGlobalVariable.TargetName]:\r
FileList.append((File, File.Type))\r
# @param String String that may contain macro\r
#\r
def ReplaceWorkspaceMacro(String):\r
+ String = mws.handleWsMacro(String)\r
Str = String.replace('$(WORKSPACE)', GenFdsGlobalVariable.WorkSpaceDir)\r
if os.path.exists(Str):\r
if not os.path.isabs(Str):\r
Str = os.path.abspath(Str)\r
else:\r
- Str = os.path.join(GenFdsGlobalVariable.WorkSpaceDir, String)\r
+ Str = mws.join(GenFdsGlobalVariable.WorkSpaceDir, String)\r
return os.path.normpath(Str)\r
\r
## Check if the input files are newer than output files\r
'$(EDK_SOURCE)' : GenFdsGlobalVariable.EdkSourceDir,\r
# '$(OUTPUT_DIRECTORY)': GenFdsGlobalVariable.OutputDirFromDsc,\r
'$(TARGET)' : GenFdsGlobalVariable.TargetName,\r
- '$(TOOL_CHAIN_TAG)' : GenFdsGlobalVariable.ToolChainTag\r
+ '$(TOOL_CHAIN_TAG)' : GenFdsGlobalVariable.ToolChainTag,\r
+ '$(SPACE)' : ' '\r
}\r
OutputDir = GenFdsGlobalVariable.OutputDirFromDscDict[GenFdsGlobalVariable.ArchList[0]]\r
if Arch != 'COMMON' and Arch in GenFdsGlobalVariable.ArchList:\r