from Common import EdkLogger\r
from Common.Misc import PathClass\r
from Common.String import NormPath\r
+from Common import GlobalData\r
\r
import re\r
import os\r
else:\r
FfsFileObj.FileName = self.__Token\r
if FfsFileObj.FileName.replace('$(WORKSPACE)', '').find('$') == -1:\r
- #do case sensitive check for file path\r
- ErrorCode, ErrorInfo = PathClass(NormPath(FfsFileObj.FileName), GenFdsGlobalVariable.WorkSpaceDir).Validate()\r
- if ErrorCode != 0:\r
- EdkLogger.error("GenFds", ErrorCode, ExtraData=ErrorInfo)\r
+ #\r
+ # For file in OUTPUT_DIRECTORY will not check whether it exist or not at AutoGen phase.\r
+ #\r
+ if not GlobalData.gAutoGenPhase:\r
+ #do case sensitive check for file path\r
+ ErrorCode, ErrorInfo = PathClass(NormPath(FfsFileObj.FileName), GenFdsGlobalVariable.WorkSpaceDir).Validate()\r
+ if ErrorCode != 0:\r
+ EdkLogger.error("GenFds", ErrorCode, ExtraData=ErrorInfo)\r
+ else:\r
+ if not InputMacroDict["OUTPUT_DIRECTORY"] in FfsFileObj.FileName:\r
+ #do case sensitive check for file path\r
+ ErrorCode, ErrorInfo = PathClass(NormPath(FfsFileObj.FileName), GenFdsGlobalVariable.WorkSpaceDir).Validate()\r
+ if ErrorCode != 0:\r
+ EdkLogger.error("GenFds", ErrorCode, ExtraData=ErrorInfo) \r
\r
if not self.__IsToken( "}"):\r
raise Warning("expected '}'", self.FileName, self.CurrentLineNumber)\r