summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BaseTools/Source/Python/AutoGen/AutoGen.py2
-rw-r--r--BaseTools/Source/Python/Workspace/WorkspaceDatabase.py5
-rw-r--r--BaseTools/Source/Python/build/build.py3
3 files changed, 10 insertions, 0 deletions
diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py
index 2b4ba52e09..8c62ac8e72 100644
--- a/BaseTools/Source/Python/AutoGen/AutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
@@ -3160,8 +3160,10 @@ class ModuleAutoGen(AutoGen):
# dependent libraries will be created
#
def CreateMakeFile(self, CreateLibraryMakeFile=True):
+ # Ignore generating makefile when it is a binary module
if self.IsBinaryModule:
return
+
if self.IsMakeFileCreated:
return
diff --git a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
index 8252a3180d..638df1f6ed 100644
--- a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
+++ b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
@@ -2051,6 +2051,11 @@ class InfBuildData(ModuleBuildClassObject):
return False
## Retrieve source files
def _GetSourceFiles(self):
+ #Ignore all source files in a binary build mode
+ if GlobalData.gIgnoreSource:
+ self._Sources = []
+ return self._Sources
+
if self._Sources == None:
self._Sources = []
RecordList = self._RawData[MODEL_EFI_SOURCE_FILE, self._Arch, self._Platform]
diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Python/build/build.py
index e463a57a91..2f8bfb42b1 100644
--- a/BaseTools/Source/Python/build/build.py
+++ b/BaseTools/Source/Python/build/build.py
@@ -736,6 +736,8 @@ class Build():
self.BuildReport = BuildReport(BuildOptions.ReportFile, BuildOptions.ReportType)
self.TargetTxt = TargetTxtClassObject()
self.ToolDef = ToolDefClassObject()
+ #Set global flag for build mode
+ GlobalData.gIgnoreSource = BuildOptions.IgnoreSources
if BuildOptions.DisableCache:
self.Db = WorkspaceDatabase(":memory:")
else:
@@ -1903,6 +1905,7 @@ def MyOptionParser():
"This option can also be specified by setting *_*_*_BUILD_FLAGS in [BuildOptions] section of platform DSC. If they are both specified, this value "\
"will override the setting in [BuildOptions] section of platform DSC.")
Parser.add_option("-N", "--no-cache", action="store_true", dest="DisableCache", default=False, help="Disable build cache mechanism")
+ Parser.add_option("--ignore-sources", action="store_true", dest="IgnoreSources", default=False, help="Focus to a binary build and ignore all source files")
(Opt, Args)=Parser.parse_args()
return (Opt, Args)