1local architecture = $(HAIKU_PACKAGING_ARCHS[1]) ; 2 3 4local haikuPackage = haiku.hpkg ; 5HaikuPackage $(haikuPackage) ; 6 7 8# wifi firmware 9for driver in $(SYSTEM_ADD_ONS_DRIVERS_NET) { 10 local package = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_PACKAGE) ] ; 11 local archive = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_ARCHIVE) ] ; 12 local extract = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_DO_EXTRACT) ] ; 13 if $(archive) { 14 AddWifiFirmwareToPackage $(driver) : $(package) : $(archive) 15 : $(extract) ; 16 } 17 local packages = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_PACKAGES) ] ; 18 local archives = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_ARCHIVES) ] ; 19 for archive in $(archives) { 20 AddWifiFirmwareToPackage $(driver) : $(packages[1]) : $(archive) 21 : $(extract) ; 22 packages = $(packages[2-]) ; 23 } 24} 25 26 27# modules 28AddFilesToPackage add-ons kernel bus_managers : $(SYSTEM_ADD_ONS_BUS_MANAGERS) ; 29AddFilesToPackage add-ons kernel busses agp_gart : <agp_gart>intel@x86 ; 30 31if $(HAIKU_ATA_STACK) = 1 { 32 AddFilesToPackage add-ons kernel busses ata 33 : generic_ide_pci it8211 legacy_sata silicon_image_3112 ide_isa@x86 ; 34} else { 35 AddFilesToPackage add-ons kernel busses ide 36 : generic_ide_pci it8211 legacy_sata silicon_image_3112 ide_isa@x86 ; 37} 38 39AddFilesToPackage add-ons kernel busses scsi : ahci virtio_scsi ; 40AddFilesToPackage add-ons kernel busses usb : <usb>uhci <usb>ohci <usb>ehci ; 41AddFilesToPackage add-ons kernel busses virtio : virtio_pci ; 42AddFilesToPackage add-ons kernel console : vga_text ; 43AddFilesToPackage add-ons kernel debugger 44 : <kdebug>demangle <kdebug>disasm@x86 <kdebug>hangman 45 <kdebug>invalidate_on_exit <kdebug>usb_keyboard <kdebug>qrencode 46 <kdebug>run_on_exit ; 47AddFilesToPackage add-ons kernel file_systems : $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ; 48AddFilesToPackage add-ons kernel generic 49 : ata_adapter@ata bios@x86,x86_64 dpc ide_adapter@ide 50 locked_pool mpu401 scsi_periph <module>tty ; 51AddFilesToPackage add-ons kernel partitioning_systems 52 : amiga_rdb apple efi_gpt intel session ; 53AddFilesToPackage add-ons kernel interrupt_controllers : openpic@ppc ; 54 55if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 { 56 AddFilesToPackage add-ons kernel cpu : generic_x86 ; 57} 58 59# drivers 60AddNewDriversToPackage disk scsi : scsi_cd scsi_disk ; 61AddNewDriversToPackage disk virtual : virtio_block ; 62AddNewDriversToPackage power : enhanced_speedstep@x86 ; 63AddNewDriversToPackage power : acpi_battery@x86 ; 64#AddNewDriversToPackage display : display_controls@x86 ; 65 66# legacy drivers 67AddDriversToPackage : console dprintf null random <driver>tty 68 zero ; 69AddDriversToPackage audio hmulti : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO) ; 70AddDriversToPackage audio old : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD) ; 71AddDriversToPackage midi : $(SYSTEM_ADD_ONS_DRIVERS_MIDI) ; 72AddDriversToPackage bus : usb_raw fw_raw@x86 ; 73AddDriversToPackage disk floppy : pc_floppy@x86 ; 74AddDriversToPackage disk usb : usb_disk ; 75AddDriversToPackage disk usb : usb_floppy ; 76AddDriversToPackage printer usb : usb_printer ; 77AddDriversToPackage disk virtual : nbd ; 78AddDriversToPackage graphics : $(SYSTEM_ADD_ONS_DRIVERS_GRAPHICS) ; 79AddDriversToPackage input : ps2_hid usb_hid wacom ; 80AddDriversToPackage misc : <driver>poke <driver>mem ; 81AddDriversToPackage net : $(SYSTEM_ADD_ONS_DRIVERS_NET) ; 82AddDriversToPackage ports : usb_serial ; 83AddDriversToPackage power : $(SYSTEM_ADD_ONS_DRIVERS_POWER) ; 84 85# kernel 86AddFilesToPackage : <revisioned>kernel_$(TARGET_ARCH) ; 87 88# libs 89AddLibrariesToPackage lib 90 : [ HaikuImageGetSystemLibs ] [ HaikuImageGetPrivateSystemLibs ] ; 91 92# libnetwork.so replaces quite a few libraries 93if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 { 94 local libNetworkAliases = libsocket.so libbind.so libnet.so ; 95 local lib ; 96 for lib in $(libNetworkAliases) { 97 AddSymlinkToPackage lib : libnetwork.so : $(lib) ; 98 } 99 100 AddSymlinkToPackage lib : libbnetapi.so : libnetapi.so ; 101} 102 103 104# servers 105AddFilesToPackage servers : $(SYSTEM_SERVERS) ; 106 107# apps 108AddFilesToPackage : runtime_loader Deskbar Tracker ; 109AddFilesToPackage bin : $(SYSTEM_BIN) consoled ; 110AddFilesToPackage apps : $(SYSTEM_APPS) ; 111AddFilesToPackage preferences : $(SYSTEM_PREFERENCES) ; 112AddFilesToPackage demos : $(SYSTEM_DEMOS) ; 113 114SEARCH on which = [ FDirName $(HAIKU_TOP) data bin ] ; 115AddFilesToPackage bin : which ; 116SEARCH on install-wifi-firmwares.sh = [ FDirName $(HAIKU_TOP) data bin ] ; 117AddFilesToPackage bin : install-wifi-firmwares.sh ; 118 119AddSymlinkToPackage bin : bash : sh ; 120AddSymlinkToPackage bin : trash : untrash ; 121AddSymlinkToPackage bin : less : more ; 122AddSymlinkToPackage bin : gzip : gunzip ; 123AddSymlinkToPackage bin : gzip : zcat ; 124AddSymlinkToPackage bin : zdiff : zcmp ; 125AddSymlinkToPackage bin : unzip : zipinfo ; 126AddSymlinkToPackage bin : gawk : awk ; 127 128# scripts and data files 129local bootScripts = Bootscript Bootscript.cd SetupEnvironment Netscript 130 InstallerInitScript InstallerFinishScript ; 131SEARCH on $(bootScripts) = [ FDirName $(HAIKU_TOP) data system boot ] ; 132AddFilesToPackage boot : $(bootScripts) ; 133 134# post install scripts 135local postInstallFiles = default_deskbar_items.sh ; 136postInstallFiles = $(postInstallFiles:G=post-install) ; 137SEARCH on $(postInstallFiles) 138 = [ FDirName $(HAIKU_TOP) data common boot post_install ] ; 139AddFilesToPackage boot post-install : $(postInstallFiles) ; 140 141local fortuneFiles = [ Glob $(HAIKU_TOP)/data/system/data/fortunes 142 : [a-zA-Z0-9]* ] ; 143fortuneFiles = $(fortuneFiles:G=data!fortunes) ; 144AddFilesToPackage data fortunes : $(fortuneFiles) ; 145 146local fontDir = [ FDirName $(HAIKU_TOP) data system data fonts ] ; 147local psFonts = [ Glob $(fontDir)/psfonts : *.afm *.pfb ] ; 148local ttFonts = [ Glob $(fontDir)/ttfonts : *.ttf ] ; 149AddFilesToPackage data fonts psfonts : $(psFonts) ; 150AddFilesToPackage data fonts ttfonts : $(ttFonts) ; 151 152local keymapFiles = [ Glob [ FDirName $(HAIKU_TOP) src data keymaps ] 153 : *.keymap ] ; 154keymapFiles = $(keymapFiles:BG=keymap) ; 155AddFilesToPackage data Keymaps : $(keymapFiles) ; 156AddSymlinkToPackage data Keymaps : Swedish : Finnish ; 157AddSymlinkToPackage data Keymaps : Slovene : Croatian ; 158AddSymlinkToPackage data Keymaps : US-International : Brazilian ; 159 160# Copy keyboard layout files to the image one-by-one. 161local keyboardLayoutsDir 162 = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ] ; 163local keyboardLayoutFiles = 164 "Generic 104-key" 165 "Generic 105-key International" 166 "Kinesis Advantage" 167 "Kinesis Ergo Elan International" 168 "TypeMatrix 2030" ; 169keyboardLayoutFiles = $(keyboardLayoutFiles:G=keyboard-layout) ; 170SEARCH on $(keyboardLayoutFiles) = $(keyboardLayoutsDir) ; 171AddFilesToPackage data KeyboardLayouts 172 : $(keyboardLayoutFiles) ; 173 174# Add Apple Aluminum keyboard layout files to the image in an Apple Aluminum 175# subdirectory. The subdirectory is turned into a submenu in the Layout menu 176# of the Keymap preference app. 177local appleAluminumDir 178 = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts 179 Apple\ Aluminum ] ; 180local appleAluminumFiles = 181 "Apple Aluminium Extended International" 182 "Apple Aluminium International" 183 "Apple Aluminum (US)" 184 "Apple Aluminum Extended (US)" ; 185appleAluminumFiles = $(appleAluminumFiles:G=keyboard-layout) ; 186SEARCH on $(appleAluminumFiles) = $(appleAluminumDir) ; 187AddFilesToPackage data KeyboardLayouts Apple\ Aluminum 188 : $(appleAluminumFiles) ; 189 190# Add ThinkPad keyboard layout files to the image in a ThinkPad 191# subdirectory. The subdirectory is turned into a submenu in the Layout menu 192# of the Keymap preference app. 193local thinkpadDir 194 = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ThinkPad ] ; 195local thinkPadFiles = 196 "ThinkPad (US)" 197 "ThinkPad International" 198 "ThinkPad T400s (US)" 199 "ThinkPad T400s International" 200 "ThinkPad X1 (US)" 201 "ThinkPad X1 International" 202 "ThinkPad X100e (US)" 203 "ThinkPad X100e International" ; 204thinkPadFiles = $(thinkPadFiles:G=keyboard-layout) ; 205SEARCH on $(thinkPadFiles) = $(thinkpadDir) ; 206AddFilesToPackage data KeyboardLayouts ThinkPad 207 : $(thinkPadFiles) ; 208 209# boot module links 210AddBootModuleSymlinksToPackage 211 acpi@x86 ata@ata pci isa@x86 config_manager dpc 212 ide@ide scsi usb 213 openpic@ppc 214 ata_adapter@ata ide_adapter@ide locked_pool scsi_periph 215 ahci generic_ide_pci it8211 legacy_sata silicon_image_3112 216 ide_isa@x86 217 <usb>uhci <usb>ohci <usb>ehci 218 scsi_cd scsi_disk usb_disk 219 virtio virtio_pci virtio_block virtio_scsi 220 efi_gpt 221 intel 222 bfs packagefs 223; 224 225# add-ons 226AddFilesToPackage add-ons accelerants : $(SYSTEM_ADD_ONS_ACCELERANTS) ; 227AddFilesToPackage add-ons Translators : $(SYSTEM_ADD_ONS_TRANSLATORS) ; 228AddFilesToPackage add-ons locale catalogs : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ; 229 230AddFilesToPackage add-ons Tracker 231 : FileType-F Mark\ as… Mark\ as\ Read-R Open\ Target\ Folder-O 232 Open\ Terminal-T ZipOMatic-Z ; 233AddSymlinkToPackage add-ons Tracker 234 : /boot/system/preferences/Backgrounds : Background-B ; 235AddSymlinkToPackage add-ons Tracker 236 : /boot/system/apps/TextSearch : TextSearch-G ; 237AddSymlinkToPackage add-ons Tracker 238 : /boot/system/apps/DiskUsage : DiskUsage-I ; 239 240AddFilesToPackage add-ons input_server devices 241 : <input>keyboard <input>mouse <input>tablet <input>wacom ; 242AddFilesToPackage add-ons input_server filters 243 : screen_saver shortcut_catcher ; 244 245AddFilesToPackage add-ons kernel network : <net>notifications stack ; 246AddFilesToPackage add-ons kernel network : dns_resolver ; 247AddFilesToPackage add-ons kernel network devices : $(SYSTEM_NETWORK_DEVICES) ; 248AddFilesToPackage add-ons kernel network datalink_protocols 249 : $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ; 250AddFilesToPackage add-ons kernel network ppp: $(SYSTEM_NETWORK_PPP) ; 251AddFilesToPackage add-ons kernel network protocols 252 : $(SYSTEM_NETWORK_PROTOCOLS) ; 253 254AddFilesToPackage add-ons disk_systems 255 : <disk_system>intel <disk_system>gpt <disk_system>bfs <disk_system>ntfs ; 256 257 258# the MIME DB 259CopyDirectoryToPackage data : <mimedb>mime_db : : : isTarget ; 260 261 262# Deskbar menu symlinks 263 264# "Applications" links 265DESKBAR_APPLICATIONS = ActivityMonitor CharacterMap DeskCalc 266 Devices DiskProbe DriveSetup DiskUsage Expander Installer 267 StyledEdit Terminal 268; 269local linkTarget ; 270for linkTarget in $(DESKBAR_APPLICATIONS) { 271 AddSymlinkToPackage data deskbar menu Applications 272 : ../../../../apps/$(linkTarget) : $(linkTarget) ; 273} 274 275# "Desktop applets" links 276DESKBAR_DESKTOP_APPLETS = LaunchBox NetworkStatus PowerStatus ProcessController 277 Workspaces 278; 279for linkTarget in $(DESKBAR_DESKTOP_APPLETS) { 280 AddSymlinkToPackage data deskbar menu Desktop\ applets 281 : ../../../../apps/$(linkTarget) : $(linkTarget) ; 282} 283 284# "Preferences" links 285AddDirectoryToPackage data deskbar menu Preferences ; 286DESKBAR_PREFERENCES = $(SYSTEM_PREFERENCES:B) ; 287for linkTarget in $(DESKBAR_PREFERENCES) { 288 AddSymlinkToPackage data deskbar menu Preferences 289 : ../../../../preferences/$(linkTarget) 290 : $(linkTarget) ; 291} 292 293# Deskbar menu entries file 294AddFilesToPackage data deskbar : <deskbar>menu_entries ; 295 296 297# licenses 298CopyDirectoryToPackage data 299 : [ FDirName $(HAIKU_TOP) data system data licenses ] 300 : licenses ; 301 302# Copy documentation as per DiskUsage's license requirement. 303CopyDirectoryToPackage documentation 304 : [ FDirName $(HAIKU_TOP) docs apps diskusage ] 305 : diskusage ; 306 307 308BuildHaikuPackage $(haikuPackage) : haiku ; 309