Support using @ToolChainFamily in <Filename> to do the filter. This is also to fix...
[mirror_edk2.git] / Tools / Java / Source / GenBuild / org / tianocore / build / ModuleBuildFileGenerator.java
index c02bc1fce8873a467934e77e4e8b567bbfc320d4..a38c3c69d19989ab5c87a2e35f365b3d0089bc39 100644 (file)
@@ -363,7 +363,9 @@ public class ModuleBuildFileGenerator {
     **/\r
     private void applyCompileElement(Document document, Node root) {\r
         //\r
-        // sourceFiles[][0] is FileType, [][1] is File name relative to Module_Dir\r
+        // sourceFiles[][0] is FileType, \r
+        // [][1] is File name relative to Module_Dir, \r
+        // [][2] is ToolChainFamily\r
         //\r
         String[][] sourceFiles = saq.getSourceFiles(fpdModuleId.getArch());\r
 \r
@@ -374,6 +376,13 @@ public class ModuleBuildFileGenerator {
         // Initialize some properties by user\r
         //\r
         Element initEle = document.createElement("Build_Init");\r
+        Element initIncEle = document.createElement("EXTRA.INC");\r
+        for (int i = 0; i < includes.length; i++) {\r
+            Element includeEle = document.createElement("includepath");\r
+            includeEle.setAttribute("path", includes[i]);\r
+            initIncEle.appendChild(includeEle);\r
+        }\r
+        initEle.appendChild(initIncEle);\r
         root.appendChild(initEle);\r
 \r
         String moduleDir = project.getProperty("MODULE_DIR");\r
@@ -388,9 +397,9 @@ public class ModuleBuildFileGenerator {
             sourceFiles[i][1] = sourceFile.getPath();\r
             String filetype = sourceFiles[i][0];\r
             if (filetype != null) {\r
-                fileProcess.parseFile(sourceFiles[i][1], filetype, root, true);\r
+                fileProcess.parseFile(sourceFiles[i][1], filetype, sourceFiles[i][2], root, true);\r
             } else {\r
-                fileProcess.parseFile(sourceFiles[i][1], root, true);\r
+                fileProcess.parseFile(sourceFiles[i][1], sourceFiles[i][2], root, true);\r
             }\r
         }\r
         \r
@@ -415,7 +424,7 @@ public class ModuleBuildFileGenerator {
         // Parse AutoGen.c & AutoGen.h\r
         //\r
         if ( ! fpdModuleId.getModule().getName().equalsIgnoreCase("Shell")) {\r
-            fileProcess.parseFile(project.getProperty("DEST_DIR_DEBUG") + File.separatorChar + "AutoGen.c", root, false);\r
+            fileProcess.parseFile(project.getProperty("DEST_DIR_DEBUG") + File.separatorChar + "AutoGen.c", null, root, false);\r
         }\r
         \r
         //\r
@@ -424,9 +433,9 @@ public class ModuleBuildFileGenerator {
         for (int i = 0; i < sourceFiles.length; i++) {\r
             String filetype = sourceFiles[i][0];\r
             if (filetype != null) {\r
-                fileProcess.parseFile(sourceFiles[i][1], filetype, root, false);\r
+                fileProcess.parseFile(sourceFiles[i][1], filetype, sourceFiles[i][2], root, false);\r
             } else {\r
-                fileProcess.parseFile(sourceFiles[i][1], root, false);\r
+                fileProcess.parseFile(sourceFiles[i][1], sourceFiles[i][2], root, false);\r
             }\r
         }\r
         \r