From 176016387f0a6ad16efcfdcef19fd90bdc3a77e4 Mon Sep 17 00:00:00 2001 From: "Chen, Christine" Date: Fri, 8 Jul 2022 21:10:00 +0800 Subject: 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 Cc: Liming Gao Signed-off-by: Yuwei Chen Reviewed-by: Bob Feng --- BaseTools/Source/Python/AutoGen/GenMake.py | 2 +- BaseTools/Source/Python/Workspace/DscBuildData.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'BaseTools') 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) -- cgit v1.2.3