Removed the directory existence test for Linux since "test" command will return non...
authorjwang36 <jwang36@7335b38e-4728-0410-8992-fb3ffe349368>
Sun, 4 May 2008 09:46:19 +0000 (09:46 +0000)
committerjwang36 <jwang36@7335b38e-4728-0410-8992-fb3ffe349368>
Sun, 4 May 2008 09:46:19 +0000 (09:46 +0000)
git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1193 7335b38e-4728-0410-8992-fb3ffe349368

Source/Python/AutoGen/GenMake.py

index c544551..3cba43c 100755 (executable)
@@ -112,7 +112,7 @@ class BuildFile(object):
             "MD"    :   "mkdir",\r
             "RD"    :   "rmdir /s /q",\r
         },\r
-    \r
+\r
         "gmake" : {\r
             "CP"    :   "cp -f",\r
             "MV"    :   "mv -f",\r
@@ -124,7 +124,7 @@ class BuildFile(object):
 \r
     ## directory separator\r
     _SEP_ = {\r
-        "nmake" :   "\\", \r
+        "nmake" :   "\\",\r
         "gmake" :   "/"\r
     }\r
 \r
@@ -137,18 +137,18 @@ class BuildFile(object):
     ## directory removal template\r
     _RD_TEMPLATE_ = {\r
         "nmake" :   'if exist %(dir)s $(RD) %(dir)s',\r
-        "gmake" :   "test -e %(dir)s && $(RD) %(dir)s"\r
+        "gmake" :   "$(RD) %(dir)s"\r
     }\r
 \r
     _INC_FLAG_ = {"MSFT" : "/I", "GCC" : "-I", "INTEL" : "-I"}\r
-    \r
+\r
     _LIB_GROUP_START_ = {"MSFT" : "", "GCC" : "-(", "INTEL" : ""}\r
-    _LIB_GROUP_END = {"MSFT" : "", "GCC" : "-)", "INTEL" : ""}    \r
+    _LIB_GROUP_END = {"MSFT" : "", "GCC" : "-)", "INTEL" : ""}\r
 \r
     ## Constructor of BuildFile\r
     #\r
     #   @param  AutoGenObject   Object of AutoGen class\r
-    # \r
+    #\r
     def __init__(self, AutoGenObject):\r
         self._AutoGenObject = AutoGenObject\r
         self._FileType = gMakeType\r
@@ -156,10 +156,10 @@ class BuildFile(object):
     ## Create build file\r
     #\r
     #   @param  FileType    Type of build file. Only nmake and gmake are supported now.\r
-    # \r
+    #\r
     #   @retval TRUE        The build file is created or re-created successfully\r
     #   @retval FALSE       The build file exists and is the same as the one to be generated\r
-    # \r
+    #\r
     def Generate(self, FileType=gMakeType):\r
         if FileType not in self._FILE_NAME_:\r
             EdkLogger.error("build", PARAMETER_INVALID, "Invalid build type [%s]" % FileType)\r
@@ -389,14 +389,14 @@ cleanlib:
     ## Constructor of ModuleMakefile\r
     #\r
     #   @param  ModuleAutoGen   Object of ModuleAutoGen class\r
-    # \r
+    #\r
     def __init__(self, ModuleAutoGen):\r
         BuildFile.__init__(self, ModuleAutoGen)\r
         self.PlatformInfo = self._AutoGenObject.PlatformInfo\r
 \r
         self.ResultFileList = []\r
         self.IntermediateDirectoryList = ["$(DEBUG_DIR)", "$(OUTPUT_DIR)"]\r
-    \r
+\r
         self.SourceFileDatabase = {}        # {file type : file path}\r
         self.DestFileDatabase = {}          # {file type : file path}\r
         self.FileBuildTargetList = []       # [(src, target string)]\r
@@ -768,7 +768,7 @@ cleanlib:
     ## Process binary files to generate makefile targets and dependencies\r
     #\r
     # All binary files are just copied to $(OUTPUT_DIR)\r
-    # \r
+    #\r
     def ProcessBinaryFileList(self):\r
         BinaryFiles = self._AutoGenObject.BinaryFileDict\r
         BuildTargetString = "%(dst)s : %(src)s\n"\\r
@@ -803,7 +803,7 @@ cleanlib:
         for F in FileList:\r
             Dependency[F] = self.GetDependencyList(F, ForceInculeList, SearchPathList)\r
         return Dependency\r
-    \r
+\r
     ## Find dependencies for one source file\r
     #\r
     #  By searching recursively "#include" directive in file, find out all the\r
@@ -822,14 +822,14 @@ cleanlib:
         FileStack = [File] + ForceList\r
         DependencySet = set()\r
         MacroUsedByIncludedFile = False\r
-    \r
+\r
         if self._AutoGenObject.Arch not in gDependencyDatabase:\r
             gDependencyDatabase[self._AutoGenObject.Arch] = {}\r
         DepDb = gDependencyDatabase[self._AutoGenObject.Arch]\r
         while len(FileStack) > 0:\r
             EdkLogger.debug(EdkLogger.DEBUG_0, "Stack %s" % "\n\t".join(FileStack))\r
             F = FileStack.pop()\r
-    \r
+\r
             CurrentFileDependencyList = []\r
             if F in DepDb and not IsChanged(F):\r
                 CurrentFileDependencyList = DepDb[F]\r
@@ -841,16 +841,16 @@ cleanlib:
                     Fd = open(F, 'r')\r
                 except:\r
                     EdkLogger.error("AutoGen", FILE_OPEN_FAILURE, ExtraData=F)\r
-    \r
+\r
                 FileContent = Fd.read()\r
                 Fd.close()\r
                 if len(FileContent) == 0:\r
                     continue\r
-    \r
+\r
                 if FileContent[0] == 0xff or FileContent[0] == 0xfe:\r
                     FileContent = unicode(FileContent, "utf-16")\r
                 IncludedFileList = gIncludePattern.findall(FileContent)\r
-    \r
+\r
                 CurrentFilePath = os.path.dirname(F)\r
                 for Inc in IncludedFileList:\r
                     # if there's macro used to reference header file, expand it\r
@@ -875,7 +875,7 @@ cleanlib:
                         break\r
                     else:\r
                         EdkLogger.verbose("%s included by %s was not found in any given path:\n\t%s" % (Inc, F, "\n\t".join(SearchPathList)))\r
-    \r
+\r
                 if not MacroUsedByIncludedFile:\r
                     if F == File:\r
                         CurrentFileDependencyList += ForceList\r
@@ -885,7 +885,7 @@ cleanlib:
                     #\r
                     DepDb[F] = CurrentFileDependencyList\r
             DependencySet.update(CurrentFileDependencyList)\r
-    \r
+\r
         #\r
         # If there's macro used in included file, always build the file by\r
         # returning a empty dependency\r
@@ -895,8 +895,8 @@ cleanlib:
         else:\r
             DependencyList = list(DependencySet)  # remove duplicate ones\r
             DependencyList.append(File)\r
-    \r
-        return DependencyList        \r
+\r
+        return DependencyList\r
 \r
     _TemplateDict = property(_CreateTemplateDict)\r
 \r
@@ -999,7 +999,7 @@ ${BEGIN}\t-@${create_directory_command}\n${END}\
     ## Constructor of CustomMakefile\r
     #\r
     #   @param  ModuleAutoGen   Object of ModuleAutoGen class\r
-    # \r
+    #\r
     def __init__(self, ModuleAutoGen):\r
         BuildFile.__init__(self, ModuleAutoGen)\r
         self.PlatformInfo = self._AutoGenObject.PlatformInfo\r
@@ -1013,7 +1013,7 @@ ${BEGIN}\t-@${create_directory_command}\n${END}\
                 EdkLogger.error('build', OPTION_NOT_SUPPORTED, "No custom makefile for %s" % self._FileType,\r
                                 ExtraData=str(self._AutoGenObject))\r
             MakefilePath = os.path.join(\r
-                                    self._AutoGenObject.WorkspaceDir, \r
+                                    self._AutoGenObject.WorkspaceDir,\r
                                     self._AutoGenObject.CustomMakefile[self._FileType]\r
                                     )\r
             CustomMakefile = open(MakefilePath, 'r').read()\r
@@ -1062,7 +1062,7 @@ ${BEGIN}\t-@${create_directory_command}\n${END}\
 \r
 ## PlatformMakefile class\r
 #\r
-#  This class encapsules makefie and its generation for platform. It uses \r
+#  This class encapsules makefie and its generation for platform. It uses\r
 # template to generate the content of makefile. The content of makefile will be\r
 # got from PlatformAutoGen object.\r
 #\r
@@ -1164,7 +1164,7 @@ cleanlib:
     ## Constructor of PlatformMakefile\r
     #\r
     #   @param  ModuleAutoGen   Object of PlatformAutoGen class\r
-    # \r
+    #\r
     def __init__(self, PlatformAutoGen):\r
         BuildFile.__init__(self, PlatformAutoGen)\r
         self.ModuleBuildCommandList = []\r
@@ -1238,8 +1238,8 @@ cleanlib:
 \r
 ## TopLevelMakefile class\r
 #\r
-#  This class encapsules makefie and its generation for entrance makefile. It \r
-# uses template to generate the content of makefile. The content of makefile \r
+#  This class encapsules makefie and its generation for entrance makefile. It\r
+# uses template to generate the content of makefile. The content of makefile\r
 # will be got from WorkspaceAutoGen object.\r
 #\r
 class TopLevelMakefile(BuildFile):\r
@@ -1342,7 +1342,7 @@ ${END}\t@cd $(BUILD_DIR)\n
     ## Constructor of TopLevelMakefile\r
     #\r
     #   @param  Workspace   Object of WorkspaceAutoGen class\r
-    # \r
+    #\r
     def __init__(self, Workspace):\r
         BuildFile.__init__(self, Workspace)\r
         self.IntermediateDirectoryList = []\r
@@ -1367,7 +1367,7 @@ ${END}\t@cd $(BUILD_DIR)\n
             FdfFileList = [PlatformInfo.FdfFile]\r
             # macros passed to GenFds\r
             for MacroName in GlobalData.gGlobalDefines:\r
-                MacroList.append('"%s=%s"' % (MacroName, GlobalData.gGlobalDefines[MacroName]))    \r
+                MacroList.append('"%s=%s"' % (MacroName, GlobalData.gGlobalDefines[MacroName]))\r
         else:\r
             FdfFileList = []\r
 \r