@@ -693,6 +693,8 @@ private void compileFilesInFolder(File buildFolder, File srcFolder, List<File> i
693693
694694 // 3. compile the core, outputting .o files to <buildPath> and then
695695 // collecting them into the core.a library file.
696+ // Also compiles the variant (if it supplies actual source files),
697+ // which are included in the link directly (not through core.a)
696698 void compileCore ()
697699 throws RunnerException {
698700
@@ -705,13 +707,9 @@ void compileCore()
705707 if (variantFolder != null )
706708 includeFolders .add (variantFolder );
707709
708- List <File > objectFiles = compileFiles (buildFolder , coreFolder , true ,
709- includeFolders );
710- if (variantFolder != null )
711- objectFiles .addAll (compileFiles (buildFolder , variantFolder , true ,
712- includeFolders ));
713-
714- for (File file : objectFiles ) {
710+ List <File > coreObjectFiles = compileFiles (buildFolder , coreFolder , true ,
711+ includeFolders );
712+ for (File file : coreObjectFiles ) {
715713
716714 PreferencesMap dict = new PreferencesMap (prefs );
717715 dict .put ("ide_version" , "" + Base .REVISION );
@@ -727,6 +725,10 @@ void compileCore()
727725 }
728726 execAsynchronously (cmdArray );
729727 }
728+
729+ if (variantFolder != null )
730+ objectFiles .addAll (compileFiles (buildFolder , variantFolder , true ,
731+ includeFolders ));
730732 }
731733
732734 // 4. link it all together into the .elf file
0 commit comments