GenFdsGlobalVariable.EdkSourceDir = os.path.normcase(os.environ['EDK_SOURCE'])\r
if (Options.debug):\r
GenFdsGlobalVariable.VerboseLogger("Using Workspace:" + Workspace)\r
+ if Options.GenfdsMultiThread:\r
+ GenFdsGlobalVariable.EnableGenfdsMultiThread = True\r
os.chdir(GenFdsGlobalVariable.WorkSpaceDir)\r
\r
# set multiple workspace\r
Parser.add_option("--conf", action="store", type="string", dest="ConfDirectory", help="Specify the customized Conf directory.")\r
Parser.add_option("--ignore-sources", action="store_true", dest="IgnoreSources", default=False, help="Focus to a binary build and ignore all source files")\r
Parser.add_option("--pcd", action="append", dest="OptionPcd", help="Set PCD value by command line. Format: \"PcdName=Value\" ")\r
+ Parser.add_option("--genfds-multi-thread", action="store_true", dest="GenfdsMultiThread", default=False, help="Enable GenFds multi thread to generate ffs file.")\r
\r
(Options, args) = Parser.parse_args()\r
return Options\r
for DriverName in GenFdsGlobalVariable.FdfParser.Profile.OptRomDict.keys():\r
OptRomObj = GenFdsGlobalVariable.FdfParser.Profile.OptRomDict[DriverName]\r
OptRomObj.AddToBuffer(None)\r
+ @staticmethod\r
+ def GenFfsMakefile(OutputDir, FdfParser, WorkSpace, ArchList, GlobalData):\r
+ GenFdsGlobalVariable.SetEnv(FdfParser, WorkSpace, ArchList, GlobalData)\r
+ for FdName in GenFdsGlobalVariable.FdfParser.Profile.FdDict.keys():\r
+ FdObj = GenFdsGlobalVariable.FdfParser.Profile.FdDict[FdName]\r
+ FdObj.GenFd(Flag=True)\r
+\r
+ for FvName in GenFdsGlobalVariable.FdfParser.Profile.FvDict.keys():\r
+ FvObj = GenFdsGlobalVariable.FdfParser.Profile.FvDict[FvName]\r
+ FvObj.AddToBuffer(Buffer=None, Flag=True)\r
+\r
+ if GenFdsGlobalVariable.FdfParser.Profile.OptRomDict != {}:\r
+ for DriverName in GenFdsGlobalVariable.FdfParser.Profile.OptRomDict.keys():\r
+ OptRomObj = GenFdsGlobalVariable.FdfParser.Profile.OptRomDict[DriverName]\r
+ OptRomObj.AddToBuffer(Buffer=None, Flag=True)\r
+\r
+ return GenFdsGlobalVariable.FfsCmdDict\r
\r
## GetFvBlockSize()\r
#\r