a474455132
Now that's done like building the network boot archive, which gives us a lot more flexibility for defining its contents. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30850 a95241bf-73f2-0310-859d-f6bbb57e9c96
75 lines
2.4 KiB
Plaintext
75 lines
2.4 KiB
Plaintext
# This file defines what ends up in the alternative GCC archive and it executes
|
|
# the rules building the archive. Included by HaikuImage.
|
|
|
|
|
|
# system/lib libraries
|
|
local alternativeSystemLibs ;
|
|
local libTarget ;
|
|
for libTarget in [ FFilesInHaikuImageDirectory system lib ] {
|
|
alternativeSystemLibs += [ on $(libTarget) return $(TARGET) ] ;
|
|
}
|
|
AddFilesToAlternativeGCCArchive system lib $(HAIKU_ALTERNATIVE_GCC_LIB_SUBDIR)
|
|
: $(alternativeSystemLibs) ;
|
|
|
|
# system/lib library symlinks
|
|
for libTarget in [ FSymlinksInHaikuImageDirectory system lib ] {
|
|
AddSymlinkToAlternativeGCCArchive
|
|
system lib $(HAIKU_ALTERNATIVE_GCC_LIB_SUBDIR)
|
|
: [ on $(libTarget) return $(SYMLINK_TARGET) ] : $(libTarget:BS) ;
|
|
}
|
|
|
|
|
|
#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 = <AlternativeGCCArchive>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) : <build>copyattr ;
|
|
AddTargetVariableToScript $(script) : <build>zip ;
|
|
if $(HOST_RM_ATTRS_TARGET) {
|
|
AddTargetVariableToScript $(script) : $(HOST_RM_ATTRS_TARGET) : rmAttrs ;
|
|
} else {
|
|
AddVariableToScript $(script) : rmAttrs : rm ;
|
|
}
|
|
|
|
# create the other scripts
|
|
local makeDirsScript = <AlternativeGCCArchive>haiku-alternative-gcc-make-dirs ;
|
|
local copyFilesScript
|
|
= <AlternativeGCCArchive>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) ;
|