# This file defines what ends up in the alternative GCC archive and it executes # the rules building the archive. Included by HaikuImage. #sanity check - make sure the primary gcc is different than the alternative gcc if $(HAIKU_PRIMARY_GCC) = $(HAIKU_GCC_VERSION[1]) { Exit "Error: Your alternative gcc is the same as the main gcc!" "You need to reconfigure your generated directories." ; } #pragma mark - Build The Archive # archive target HAIKU_ALTERNATIVE_GCC_ARCHIVE = alternative_system_libs.zip ; MakeLocate $(HAIKU_ALTERNATIVE_GCC_ARCHIVE) : $(HAIKU_OUTPUT_DIR) ; # the pseudo target all archive contents is attached to NotFile $(HAIKU_ALTERNATIVE_GCC_ARCHIVE_CONTAINER_NAME) ; # prepare the script that initializes the shell variables local initVarsScript = haiku-alternative-gcc-init-vars ; local script = $(initVarsScript) ; MakeLocate $(script) : $(HAIKU_OUTPUT_DIR) ; Always $(script) ; AddVariableToScript $(script) : tmpDir : $(HAIKU_TMP_DIR) ; AddVariableToScript $(script) : addBuildCompatibilityLibDir : $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ; AddTargetVariableToScript $(script) : copyattr ; AddTargetVariableToScript $(script) : zip ; if $(HOST_RM_ATTRS_TARGET) { AddTargetVariableToScript $(script) : $(HOST_RM_ATTRS_TARGET) : rmAttrs ; } else { AddVariableToScript $(script) : rmAttrs : rm ; } # create the other scripts local makeDirsScript = haiku-alternative-gcc-make-dirs ; local copyFilesScript = haiku-alternative-gcc-copy-files ; MakeLocate $(makeDirsScript) $(copyFilesScript) : $(HAIKU_OUTPUT_DIR) ; CreateAlternativeGCCArchiveMakeDirectoriesScript $(makeDirsScript) ; CreateAlternativeGCCArchiveCopyFilesScript $(copyFilesScript) ; # build the archive BuildAlternativeGCCArchive $(HAIKU_ALTERNATIVE_GCC_ARCHIVE) : $(initVarsScript) $(makeDirsScript) $(copyFilesScript) ; # remove the scripts we have generated RmTemps $(HAIKU_ALTERNATIVE_GCC_ARCHIVE) : $(initVarsScript) $(makeDirsScript) $(copyFilesScript) ; NotFile haiku-alternative-gcc-archive ; Depends haiku-alternative-gcc-archive : $(HAIKU_ALTERNATIVE_GCC_ARCHIVE) ;