@@ -934,11 +934,39 @@ private static void setTheEnvironmentVariablesPostProcessing(IContributedEnviron
934
934
Collections .sort (objcopyCommand );
935
935
setBuildEnvironmentVariable (contribEnv , confDesc , "JANTJE.OBJCOPY" , StringUtil .join (objcopyCommand , "\n \t " ));
936
936
937
+ //handle the hooks
938
+ setHookBuildEnvironmentVariable (contribEnv , confDesc , "A.JANTJE.PRE.LINK" ,"A.RECIPE.HOOKS.LINKING.PRELINK.XX.PATTERN" ,false );
939
+ setHookBuildEnvironmentVariable (contribEnv , confDesc , "A.JANTJE.POST.LINK" ,"A.RECIPE.HOOKS.LINKING.POSTLINK.XX.PATTERN" ,true );
940
+ setHookBuildEnvironmentVariable (contribEnv , confDesc , "A.JANTJE.PREBUILD" ,"A.RECIPE.HOOKS.PREBUILD.XX.PATTERN" ,false );
941
+
937
942
}
938
943
939
944
940
945
941
- /**
946
+ private static void setHookBuildEnvironmentVariable (IContributedEnvironment contribEnv ,
947
+ ICConfigurationDescription confDesc , String varName , String hookName , boolean post ) {
948
+ String envVarString = new String ();
949
+ String postSeparator = "}\n \t " ;
950
+ String preSeparator = "${" ;
951
+ if (post ) {
952
+ postSeparator = "${" ;
953
+ preSeparator = "}\n \t " ;
954
+ }
955
+ for (int numDigits = 1 ; numDigits <= 2 ; numDigits ++) {
956
+ int counter = 1 ;
957
+ String hookVarName = hookName .replace ("XX" ,
958
+ String .format ("%0" + Integer .toString (numDigits ) + "d" , new Integer (counter )));
959
+ while (!getBuildEnvironmentVariable (confDesc , hookVarName , "" , true ).isEmpty ()) {
960
+ envVarString = envVarString + preSeparator + hookVarName + postSeparator ;
961
+ hookVarName = hookName .replace ("XX" ,
962
+ String .format ("%0" + Integer .toString (numDigits ) + "d" , new Integer (++counter )));
963
+ }
964
+ if (!envVarString .isEmpty ()) {
965
+ setBuildEnvironmentVariable (contribEnv , confDesc , varName , envVarString );
966
+ }
967
+ }
968
+ }
969
+ /**
942
970
* When parsing boards.txt and platform.txt some processing needs to be done to
943
971
* get "acceptable environment variable values" This method does the parsing
944
972
* {xx} is replaced with ${XX} if to uppercase is true {xx} is replaced with
0 commit comments