LinuxCFLAGS = 'BUILD_CFLAGS += -Wno-pointer-to-int-cast -Wno-unused-variable '\r
PcdMakefileEnd = '''\r
!INCLUDE $(BASE_TOOLS_PATH)\Source\C\Makefiles\ms.common\r
-\r
-LIBS = $(LIB_PATH)\Common.lib\r
-\r
!INCLUDE $(BASE_TOOLS_PATH)\Source\C\Makefiles\ms.app\r
'''\r
\r
\r
MakeApp = PcdMakefileHeader\r
if sys.platform == "win32":\r
- MakeApp = MakeApp + 'APPFILE = %s\%s.exe\n' % (self.OutputPath, PcdValueInitName) + 'APPNAME = %s\n' % (PcdValueInitName) + 'OBJECTS = %s\%s.obj\n' % (self.OutputPath, PcdValueInitName) + 'INC = '\r
+ MakeApp = MakeApp + 'APPFILE = %s\%s.exe\n' % (self.OutputPath, PcdValueInitName) + 'APPNAME = %s\n' % (PcdValueInitName) + 'OBJECTS = %s\%s.obj %s.obj\n' % (self.OutputPath, PcdValueInitName, os.path.normpath(mws.join(GlobalData.gGlobalDefines["EDK_TOOLS_PATH"], "Source/C/Common/PcdValueCommon"))) + 'INC = '\r
else:\r
MakeApp = MakeApp + PcdGccMakefile\r
- MakeApp = MakeApp + 'APPFILE = %s/%s\n' % (self.OutputPath, PcdValueInitName) + 'APPNAME = %s\n' % (PcdValueInitName) + 'OBJECTS = %s/%s.o\n' % (self.OutputPath, PcdValueInitName) + \\r
+ MakeApp = MakeApp + 'APPFILE = %s/%s\n' % (self.OutputPath, PcdValueInitName) + 'APPNAME = %s\n' % (PcdValueInitName) + 'OBJECTS = %s/%s.o %s.o\n' % (self.OutputPath, PcdValueInitName, os.path.normpath(mws.join(GlobalData.gGlobalDefines["EDK_TOOLS_PATH"], "Source/C/Common/PcdValueCommon"))) + \\r
'include $(MAKEROOT)/Makefiles/app.makefile\n' + 'INCLUDE +='\r
\r
IncSearchList = []\r
IncludeFileFullPaths.append(os.path.normpath(includefullpath))\r
break\r
SearchPathList = []\r
- SearchPathList.append(os.path.normpath(mws.join(GlobalData.gWorkspace, "BaseTools/Source/C/Include")))\r
- SearchPathList.append(os.path.normpath(mws.join(GlobalData.gWorkspace, "BaseTools/Source/C/Common")))\r
+ SearchPathList.append(os.path.normpath(mws.join(GlobalData.gGlobalDefines["EDK_TOOLS_PATH"], "BaseTools/Source/C/Include")))\r
+ SearchPathList.append(os.path.normpath(mws.join(GlobalData.gGlobalDefines["EDK_TOOLS_PATH"], "BaseTools/Source/C/Common")))\r
SearchPathList.extend(str(item) for item in IncSearchList)\r
IncFileList = GetDependencyList(IncludeFileFullPaths, SearchPathList)\r
for include_file in IncFileList:\r
returncode, StdOut, StdErr = DscBuildData.ExecuteCommand (MakeCommand)\r
Messages = StdErr\r
\r
+ EdkLogger.verbose ('%s\n%s\n%s' % (MakeCommand, StdOut, StdErr))\r
Messages = Messages.split('\n')\r
MessageGroup = []\r
if returncode != 0:\r
File.close()\r
for Message in Messages:\r
if " error" in Message or "warning" in Message:\r
- FileInfo = Message.strip().split('(')\r
- if len (FileInfo) > 1:\r
- FileName = FileInfo [0]\r
- FileLine = FileInfo [1].split (')')[0]\r
- else:\r
- FileInfo = Message.strip().split(':')\r
- if len(FileInfo) < 2:\r
- continue\r
- FileName = FileInfo [0]\r
- FileLine = FileInfo [1]\r
+ try:\r
+ FileInfo = Message.strip().split('(')\r
+ if len (FileInfo) > 1:\r
+ FileName = FileInfo [0]\r
+ FileLine = FileInfo [1].split (')')[0]\r
+ else:\r
+ FileInfo = Message.strip().split(':')\r
+ if len(FileInfo) < 2:\r
+ continue\r
+ FileName = FileInfo [0]\r
+ FileLine = FileInfo [1]\r
+ except:\r
+ continue\r
+ if "PcdValueInit.c" not in FileName:\r
+ continue\r
if FileLine.isdigit():\r
error_line = FileData[int (FileLine) - 1]\r
if r"//" in error_line:\r
if MessageGroup:\r
EdkLogger.error("build", PCD_STRUCTURE_PCD_ERROR, "\n".join(MessageGroup) )\r
else:\r
- EdkLogger.error('Build', COMMAND_FAILURE, 'Can not execute command: %s' % MakeCommand)\r
+ EdkLogger.error('Build', COMMAND_FAILURE, 'Can not execute command: %s\n%s\n%s' % (MakeCommand, StdOut, StdErr))\r
\r
if DscBuildData.NeedUpdateOutput(OutputValueFile, Dest_PcdValueInitExe, InputValueFile):\r
Command = Dest_PcdValueInitExe + ' -i %s -o %s' % (InputValueFile, OutputValueFile)\r
returncode, StdOut, StdErr = DscBuildData.ExecuteCommand (Command)\r
+ EdkLogger.verbose ('%s\n%s\n%s' % (Command, StdOut, StdErr))\r
if returncode != 0:\r
- EdkLogger.warn('Build', COMMAND_FAILURE, 'Can not collect output from command: %s' % Command)\r
+ EdkLogger.warn('Build', COMMAND_FAILURE, 'Can not collect output from command: %s\n%s\n' % (Command, StdOut, StdErr))\r
\r
File = open (OutputValueFile, 'r')\r
FileBuffer = File.readlines()\r