1local architecture = $(HAIKU_PACKAGING_ARCHS[1]) ; 2 3 4local haikuPackage = haiku.hpkg ; 5HaikuPackage $(haikuPackage) ; 6 7 8# wifi firmware 9local driver ; 10for driver in $(SYSTEM_ADD_ONS_DRIVERS_NET) { 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) : : $(archive) : $(extract) ; 15 } 16} 17 18# bootloaders 19local bootTarget ; 20for bootTarget in $(HAIKU_BOOT_TARGETS) { 21 AddFilesToPackage data platform_loaders : haiku_loader.$(bootTarget) ; 22} 23 24# modules 25AddFilesToPackage add-ons kernel bus_managers : $(SYSTEM_ADD_ONS_BUS_MANAGERS) ; 26AddFilesToPackage add-ons kernel busses agp_gart : 27 <agp_gart>intel@x86,x86_64 28 ; 29 30AddFilesToPackage add-ons kernel busses ata : 31 generic_ide_pci 32 it8211 33 legacy_sata 34 silicon_image_3112 35 highpoint_ide_pci 36 ide_isa@x86 37 ; 38 39AddFilesToPackage add-ons kernel busses i2c : 40 pch_i2c@x86,x86_64 41 ; 42AddFilesToPackage add-ons kernel busses mmc : 43 sdhci 44 ; 45AddFilesToPackage add-ons kernel busses pci : 46 <pci>designware@riscv64 47 <pci>ecam@riscv64,arm,arm64 48 <pci>x86@x86,x86_64 49 ; 50AddFilesToPackage add-ons kernel busses random : 51 ccp_rng@x86,x86_64 52 virtio_rng 53 ; 54AddFilesToPackage add-ons kernel busses scsi : 55 ahci 56 virtio_scsi 57 ; 58AddFilesToPackage add-ons kernel busses usb : 59 <usb>uhci 60 <usb>ohci 61 <usb>ehci 62 <usb>xhci 63 ; 64AddFilesToPackage add-ons kernel busses virtio : 65 virtio_mmio@riscv64,arm,arm64 66 virtio_pci 67 ; 68AddFilesToPackage add-ons kernel console : 69 vga_text 70 ; 71AddFilesToPackage add-ons kernel debugger : 72 <kdebug>demangle 73 <kdebug>disasm@x86,x86_64 74 <kdebug>hangman 75 <kdebug>invalidate_on_exit 76 <kdebug>usb_keyboard 77 <kdebug>qrencode@libqrencode 78 <kdebug>run_on_exit 79 ; 80AddFilesToPackage add-ons kernel file_systems 81 : $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ; 82AddFilesToPackage add-ons kernel generic : 83 ata_adapter 84 bios@x86,x86_64 85 dpc 86 mpu401 87 scsi_periph 88 smbios@x86,x86_64 89 <module>tty 90 ; 91AddFilesToPackage add-ons kernel partitioning_systems : 92 amiga_rdb@m68k 93 apple@ppc 94 sun@sparc 95 efi_gpt 96 intel 97 session 98 ; 99AddFilesToPackage add-ons kernel interrupt_controllers : 100 openpic@ppc 101 ; 102AddFilesToPackage add-ons kernel power cpufreq : 103 amd_pstates@x86,x86_64 104 intel_pstates@x86,x86_64 105 ; 106AddFilesToPackage add-ons kernel power cpuidle : 107 x86_cstates@x86,x86_64 108 ; 109 110if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 { 111 AddFilesToPackage add-ons kernel cpu : 112 generic_x86 113 ; 114} 115 116# drivers 117AddNewDriversToPackage : 118 wmi@x86,x86_64 119 ; 120AddNewDriversToPackage disk : 121 nvme_disk 122 usb_disk 123 ; 124AddNewDriversToPackage disk mmc : 125 mmc_disk 126 ; 127AddNewDriversToPackage disk scsi : 128 scsi_cd 129 scsi_disk 130 ; 131AddNewDriversToPackage disk virtual : 132 ram_disk 133 virtio_block 134 ; 135AddNewDriversToPackage graphics : 136 virtio_gpu 137 ; 138AddNewDriversToPackage power 139 : $(SYSTEM_ADD_ONS_DRIVERS_POWER) ; 140AddNewDriversToPackage sensor 141 : $(SYSTEM_ADD_ONS_DRIVERS_SENSOR) ; 142AddNewDriversToPackage network : 143 usb_ecm 144 virtio_net 145 ; 146AddNewDriversToPackage input : 147 i2c_elan 148 virtio_input 149 ; 150AddNewDriversToPackage display : 151# display_adapter@x86 152 ; 153AddNewDriversToPackage audio hmulti : 154# virtio_sound 155 ; 156 157# legacy drivers 158AddDriversToPackage : 159 console 160 dprintf 161 null 162 <driver>tty 163 usb_modeswitch 164 zero 165 ; 166AddDriversToPackage audio hmulti : 167 $(SYSTEM_ADD_ONS_DRIVERS_AUDIO) ; 168AddDriversToPackage audio old : 169 $(SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD) ; 170AddDriversToPackage bluetooth h2 : 171 $(SYSTEM_ADD_ONS_DRIVERS_BT_H2) ; 172AddDriversToPackage midi : 173 $(SYSTEM_ADD_ONS_DRIVERS_MIDI) ; 174AddDriversToPackage bus : 175 usb_raw 176 ; 177AddDriversToPackage disk virtual : 178 nbd 179 ; 180AddDriversToPackage dvb : 181 cx23882 182 ; 183AddDriversToPackage graphics 184 : $(SYSTEM_ADD_ONS_DRIVERS_GRAPHICS) ; 185AddDriversToPackage input : 186 ps2_hid 187 usb_hid 188 wacom 189 ; 190AddDriversToPackage misc : 191 <driver>poke 192 <driver>mem 193 ; 194AddDriversToPackage net 195 : $(SYSTEM_ADD_ONS_DRIVERS_NET) ; 196AddDriversToPackage ports : 197 pc_serial 198 usb_serial 199 ; 200 201# kernel 202AddFilesToPackage : <revisioned>kernel_$(TARGET_ARCH) ; 203 204# libs 205AddLibrariesToPackage lib 206 : [ HaikuImageGetSystemLibs ] [ HaikuImageGetPrivateSystemLibs ] ; 207 208# libnetwork.so replaces quite a few libraries 209if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 1 { 210 local libNetworkAliases = libsocket.so libbind.so libnet.so ; 211 local lib ; 212 for lib in $(libNetworkAliases) { 213 AddSymlinkToPackage lib : libnetwork.so : $(lib) ; 214 } 215 216 AddSymlinkToPackage lib : libbnetapi.so : libnetapi.so ; 217} 218 219 220# trusted keys 221SEARCH on haiku-2019.pub = [ FDirName $(HAIKU_TOP) data trust_db ] ; 222AddFilesToPackage data trust_db : haiku-2019.pub ; 223 224# servers 225AddFilesToPackage servers : $(SYSTEM_SERVERS) ; 226 227# apps 228AddFilesToPackage : 229 runtime_loader 230 Deskbar 231 Tracker 232 ; 233AddFilesToPackage bin : 234 $(SYSTEM_BIN) 235 consoled 236 ; 237AddFilesToPackage apps 238 : $(SYSTEM_APPS) ; 239AddFilesToPackage preferences 240 : $(SYSTEM_PREFERENCES) ; 241AddFilesToPackage demos 242 : $(SYSTEM_DEMOS) ; 243 244SEARCH on install-wifi-firmwares.sh = [ FDirName $(HAIKU_TOP) data bin ] ; 245AddFilesToPackage bin : install-wifi-firmwares.sh ; 246 247AddSymlinkToPackage bin : trash : untrash ; 248AddSymlinkToPackage bin : less : more ; 249 250# scripts and data files 251local bootScripts = PostInstallScript SetupEnvironment ; 252SEARCH on $(bootScripts) = [ FDirName $(HAIKU_TOP) data system boot ] ; 253AddFilesToPackage boot : $(bootScripts) ; 254 255local launchScripts = <data!launch>system ; 256SEARCH on $(launchScripts) = [ FDirName $(HAIKU_TOP) data launch ] ; 257AddFilesToPackage data launch : $(launchScripts) ; 258 259local userLaunchScripts = <data!launch>user ; 260SEARCH on $(userLaunchScripts) = [ FDirName $(HAIKU_TOP) data launch ] ; 261AddFilesToPackage data user_launch : $(userLaunchScripts) ; 262 263# first login scripts 264local firstLoginFiles = default_deskbar_items.sh ; 265firstLoginFiles = $(firstLoginFiles:G=first-login) ; 266SEARCH on $(firstLoginFiles) 267 = [ FDirName $(HAIKU_TOP) data system boot first_login ] ; 268AddFilesToPackage boot first-login : $(firstLoginFiles) ; 269 270# artwork and sounds 271local logoArtwork = 272 $(HAIKU_INCLUDE_TRADEMARKS)"HAIKU logo - white on blue - big.png" 273 $(HAIKU_INCLUDE_TRADEMARKS)"HAIKU logo - white on blue - normal.png" ; 274SEARCH on $(logoArtwork) = [ FDirName $(HAIKU_TOP) data artwork ] ; 275AddFilesToPackage data artwork : $(logoArtwork) ; 276 277# Mail spell check dictionaries 278local spellFiles = words geekspeak ; 279spellFiles = $(spellFiles:G=spell) ; 280SEARCH on $(spellFiles) = [ FDirName $(HAIKU_TOP) src apps mail ] ; 281AddFilesToPackage data spell_check word_dictionary : $(spellFiles) ; 282 283local fortuneFiles = [ Glob $(HAIKU_TOP)/data/system/data/fortunes 284 : [a-zA-Z0-9]* ] ; 285fortuneFiles = $(fortuneFiles:G=data!fortunes) ; 286AddFilesToPackage data fortunes : $(fortuneFiles) ; 287 288local fontDir = [ FDirName $(HAIKU_TOP) data system data fonts ] ; 289local psFonts = [ Glob $(fontDir)/psfonts : *.afm *.pfb ] ; 290AddFilesToPackage data fonts psfonts : $(psFonts) ; 291 292# keymaps 293AddFilesToPackage data Keymaps : $(HAIKU_KEYMAP_FILES) ; 294local keymapAlias ; 295for keymapAlias in $(HAIKU_KEYMAP_ALIASES) { 296 local aliasedTo = [ on $(keymapAlias) return $(HAIKU_KEYMAP_FILE) ] ; 297 AddSymlinkToPackage data Keymaps : $(aliasedTo:BSM) : $(keymapAlias:BSM) ; 298} 299 300# keyboard layouts 301AddFilesToPackage data KeyboardLayouts 302 : $(HAIKU_KEYBOARD_LAYOUT_FILES) ; 303AddFilesToPackage data KeyboardLayouts Apple\ Aluminum 304 : $(HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES) ; 305AddFilesToPackage data KeyboardLayouts ThinkPad 306 : $(HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES) ; 307 308# terminal themes 309local terminalThemes = [ Glob $(HAIKU_TOP)/data/system/data/terminal_themes : "[a-zA-Z0-9 ]*" ] ; 310AddFilesToPackage data Terminal Themes : $(terminalThemes) ; 311 312# boot module links 313AddBootModuleSymlinksToPackage 314 acpi@x86,x86_64,arm64 315 ahci 316 ata 317 ata_adapter 318 bfs 319 dpc 320 efi_gpt 321 generic_ide_pci 322 ide_isa@x86 323 isa@x86,x86_64 324 intel 325 it8211 326 legacy_sata 327 mmc 328 mmc_disk 329 nvme_disk 330 openpic@ppc 331 packagefs 332 pci 333 <pci>designware@riscv64 334 <pci>ecam@riscv64,arm,arm64 335 <pci>x86@x86,x86_64 336 fdt@riscv64,arm,arm64 337 scsi 338 scsi_cd 339 scsi_disk 340 scsi_periph 341 silicon_image_3112 342 highpoint_ide_pci 343 sdhci 344 usb 345 usb_disk 346 <usb>ehci 347 <usb>ohci 348 <usb>uhci 349 <usb>xhci 350 virtio 351 virtio_block 352 virtio_mmio@riscv64,arm,arm64 353 virtio_pci 354 virtio_scsi 355; 356 357# add-ons 358AddFilesToPackage add-ons accelerants : 359 $(SYSTEM_ADD_ONS_ACCELERANTS) ; 360AddFilesToPackage add-ons locale catalogs : 361 $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ; 362 363AddFilesToPackage add-ons mail_daemon inbound_protocols : 364 POP3 365 IMAP 366 ; 367AddFilesToPackage add-ons mail_daemon outbound_protocols : 368 SMTP 369 ; 370AddFilesToPackage add-ons mail_daemon inbound_filters : 371 MatchHeader 372 SpamFilter 373 NewMailNotification 374 ; 375AddFilesToPackage add-ons mail_daemon outbound_filters : 376 Fortune 377 ; 378 379AddFilesToPackage add-ons media : $(SYSTEM_ADD_ONS_MEDIA) ; 380 381AddFilesToPackage add-ons Network\ Settings : 382 IPv4Interface 383 IPv6Interface 384 DNSClientService 385 Hostname 386 FTPService 387 SSHService 388 TelnetService 389 ; 390 391AddFilesToPackage add-ons Tracker : 392 FileType 393 Mark\ as… 394 Mark\ as\ Read 395 Open\ Target\ Folder 396 Open\ Terminal 397 ZipOMatic 398 ; 399AddSymlinkToPackage add-ons Tracker 400 : /boot/system/preferences/Backgrounds : Background ; 401AddSymlinkToPackage add-ons Tracker 402 : /boot/system/apps/TextSearch : TextSearch ; 403AddSymlinkToPackage add-ons Tracker 404 : /boot/system/apps/DiskUsage : DiskUsage ; 405 406AddFilesToPackage add-ons input_server devices : 407 <input>keyboard 408 <input>mouse 409 <input>tablet 410 <input>virtio 411 <input>wacom 412 ; 413AddFilesToPackage add-ons input_server filters : 414 padblocker 415 screen_saver 416 shortcut_catcher 417 switch_workspace 418 ; 419AddDirectoryToPackage add-ons input_server methods ; 420 421AddFilesToPackage add-ons kernel network : 422 <net>notifications 423 stack 424 ; 425AddFilesToPackage add-ons kernel network : 426 dns_resolver 427 ; 428AddFilesToPackage add-ons kernel network devices 429 : $(SYSTEM_NETWORK_DEVICES) ; 430AddFilesToPackage add-ons kernel network datalink_protocols 431 : $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ; 432AddFilesToPackage add-ons kernel network ppp 433 : $(SYSTEM_NETWORK_PPP) ; 434AddFilesToPackage add-ons kernel network protocols 435 : $(SYSTEM_NETWORK_PROTOCOLS) ; 436 437AddFilesToPackage add-ons Screen\ Savers : $(SYSTEM_ADD_ONS_SCREENSAVERS) ; 438 439AddFilesToPackage add-ons disk_systems : 440 <disk_system>fat 441 <disk_system>intel 442 <disk_system>gpt 443 <disk_system>bfs 444 <disk_system>ntfs 445 ; 446 447# Kernel bluetooth stack 448AddFilesToPackage add-ons kernel bluetooth : $(SYSTEM_BT_STACK) ; 449 450# the MIME DB 451CopyDirectoryToPackage data : <mimedb>mime_db : : : isTarget ; 452 453# directory attributes 454AddDirectoryToPackage apps : system-apps.rdef ; 455AddDirectoryToPackage preferences : system-preferences.rdef ; 456 457# Deskbar menu symlinks 458 459local linkTarget ; 460 461# "Applications" links 462AddDirectoryToPackage data deskbar menu Applications 463 : deskbar-applications.rdef ; 464for linkTarget in $(DESKBAR_APPLICATIONS) { 465 AddSymlinkToPackage data deskbar menu Applications 466 : ../../../../apps/$(linkTarget) : $(linkTarget) ; 467} 468 469# "Desktop applets" links 470AddDirectoryToPackage data deskbar menu Desktop\ applets 471 : deskbar-applets.rdef ; 472for linkTarget in $(DESKBAR_DESKTOP_APPLETS) { 473 AddSymlinkToPackage data deskbar menu Desktop\ applets 474 : ../../../../apps/$(linkTarget) : $(linkTarget) ; 475} 476 477# "Preferences" links 478AddDirectoryToPackage data deskbar menu Preferences 479 : deskbar-preferences.rdef ; 480DESKBAR_PREFERENCES = $(SYSTEM_PREFERENCES:B) ; 481for linkTarget in $(DESKBAR_PREFERENCES) { 482 AddSymlinkToPackage data deskbar menu Preferences 483 : ../../../../preferences/$(linkTarget) 484 : $(linkTarget) ; 485} 486 487# "Demo" links 488AddDirectoryToPackage data deskbar menu Demos 489 : deskbar-demos.rdef ; 490for linkTarget in $(SYSTEM_DEMOS) { 491 AddSymlinkToPackage data deskbar menu Demos 492 : ../../../../demos/$(linkTarget) : $(linkTarget) ; 493} 494 495# Deskbar menu entries file 496AddFilesToPackage data deskbar : <deskbar>menu_entries ; 497 498# licenses 499CopyDirectoryToPackage data 500 : [ FDirName $(HAIKU_TOP) data system data licenses ] 501 : licenses ; 502 503# netresolv support files 504CopyDirectoryToPackage data 505 : [ FDirName $(HAIKU_TOP) data system data network ] 506 : network ; 507 508# Copy documentation as per DiskUsage's license requirement. 509CopyDirectoryToPackage documentation 510 : [ FDirName $(HAIKU_TOP) docs apps diskusage ] 511 : diskusage ; 512 513 514# empty directory 515AddDirectoryToPackage data empty ; 516 517 518BuildHaikuPackage $(haikuPackage) : haiku ; 519