summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChen, Christine <Yuwei.Chen@intel.com>2022-07-08 21:10:00 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2022-07-17 02:20:51 +0000
commit176016387f0a6ad16efcfdcef19fd90bdc3a77e4 (patch)
tree54dc6a352d5d38f780083909e5d956fb868b9cab
parent07c8e5e59b117f2414d7c928d3f86c85574f1fc3 (diff)
downloadedk2-176016387f0a6ad16efcfdcef19fd90bdc3a77e4.tar.gz
edk2-176016387f0a6ad16efcfdcef19fd90bdc3a77e4.tar.bz2
edk2-176016387f0a6ad16efcfdcef19fd90bdc3a77e4.zip
BaseTools: add '-p' for Linux 'cp' command.
Currently BaseTools use 'cp' command for PcdValueInit and GenMake process, as the command can not keep the time info of the source file, which will cause incremental build issue in Linux system, thus the '-p' need be added to keep the source file's attributes in copy process. This patch fixes this issue. Cc: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Yuwei Chen <yuwei.chen@intel.com> Reviewed-by: Bob Feng <bob.c.feng@intel.com>
-rwxr-xr-xBaseTools/Source/Python/AutoGen/GenMake.py2
-rw-r--r--BaseTools/Source/Python/Workspace/DscBuildData.py4
2 files changed, 3 insertions, 3 deletions
diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/Python/AutoGen/GenMake.py
index 92c7bf0cda..daec9c6d54 100755
--- a/BaseTools/Source/Python/AutoGen/GenMake.py
+++ b/BaseTools/Source/Python/AutoGen/GenMake.py
@@ -120,7 +120,7 @@ class BuildFile(object):
},
POSIX_PLATFORM : {
- "CP" : "cp -f",
+ "CP" : "cp -p -f",
"MV" : "mv -f",
"RM" : "rm -f",
"MD" : "mkdir -p",
diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/Source/Python/Workspace/DscBuildData.py
index a599c5bb76..e9f68384b4 100644
--- a/BaseTools/Source/Python/Workspace/DscBuildData.py
+++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
@@ -2932,7 +2932,7 @@ class DscBuildData(PlatformBuildClassObject):
MakeApp = MakeApp + PcdMakefileEnd
MakeApp = MakeApp + AppTarget % ("""\tcopy $(APPLICATION) $(APPFILE) /y """)
else:
- MakeApp = MakeApp + AppTarget % ("""\tcp $(APPLICATION) $(APPFILE) """)
+ MakeApp = MakeApp + AppTarget % ("""\tcp -p $(APPLICATION) $(APPFILE) """)
MakeApp = MakeApp + '\n'
IncludeFileFullPaths = []
for includefile in IncludeFiles:
@@ -2955,7 +2955,7 @@ class DscBuildData(PlatformBuildClassObject):
else:
PcdValueCommonPath = os.path.normpath(mws.join(GlobalData.gGlobalDefines["EDK_TOOLS_PATH"], "Source/C/Common/PcdValueCommon.c"))
MakeApp = MakeApp + '%s/PcdValueCommon.c : %s\n' % (self.OutputPath, PcdValueCommonPath)
- MakeApp = MakeApp + '\tcp -f %s %s/PcdValueCommon.c\n' % (PcdValueCommonPath, self.OutputPath)
+ MakeApp = MakeApp + '\tcp -p -f %s %s/PcdValueCommon.c\n' % (PcdValueCommonPath, self.OutputPath)
MakeFileName = os.path.join(self.OutputPath, 'Makefile')
MakeApp += "$(OBJECTS) : %s\n" % MakeFileName
SaveFileOnChange(MakeFileName, MakeApp, False)