local architecture = $(HAIKU_PACKAGING_ARCHS[1]) ;local haikuPackage = haiku.hpkg ;HaikuPackage $(haikuPackage) ;# wifi firmwarelocal driver ;for driver in $(SYSTEM_ADD_ONS_DRIVERS_NET) {local archive = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_ARCHIVE) ] ;local extract = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_DO_EXTRACT) ] ;if $(archive) {AddWifiFirmwareToPackage $(driver) : : $(archive) : $(extract) ;}}# bootloaderslocal bootTarget ;for bootTarget in $(HAIKU_BOOT_TARGETS) {AddFilesToPackage data platform_loaders : haiku_loader.$(bootTarget) ;}# modulesAddFilesToPackage add-ons kernel bus_managers : $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;AddFilesToPackage add-ons kernel busses agp_gart :<agp_gart>intel@x86,x86_64;AddFilesToPackage add-ons kernel busses ata :generic_ide_pciit8211legacy_satasilicon_image_3112highpoint_ide_pciide_isa@x86;AddFilesToPackage add-ons kernel busses i2c :pch_i2c@x86,x86_64;AddFilesToPackage add-ons kernel busses mmc :sdhci;AddFilesToPackage add-ons kernel busses pci :<pci>designware@riscv64<pci>ecam@riscv64,arm,arm64<pci>x86@x86,x86_64;AddFilesToPackage add-ons kernel busses random :ccp_rng@x86,x86_64virtio_rng;AddFilesToPackage add-ons kernel busses scsi :ahcivirtio_scsi;AddFilesToPackage add-ons kernel busses usb :<usb>uhci<usb>ohci<usb>ehci<usb>xhci;AddFilesToPackage add-ons kernel busses virtio :virtio_mmio@riscv64,arm,arm64virtio_pci;AddFilesToPackage add-ons kernel console :vga_text;AddFilesToPackage add-ons kernel debugger :<kdebug>demangle<kdebug>disasm@x86,x86_64<kdebug>hangman<kdebug>invalidate_on_exit<kdebug>usb_keyboard<kdebug>qrencode@libqrencode<kdebug>run_on_exit;AddFilesToPackage add-ons kernel file_systems: $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;AddFilesToPackage add-ons kernel generic :ata_adapterbios@x86,x86_64dpcmpu401scsi_periphsmbios@x86,x86_64<module>tty;AddFilesToPackage add-ons kernel partitioning_systems :amiga_rdb@m68kapple@ppcsun@sparcefi_gptintelsession;AddFilesToPackage add-ons kernel interrupt_controllers :openpic@ppc;AddFilesToPackage add-ons kernel power cpufreq :amd_pstates@x86,x86_64intel_pstates@x86,x86_64;AddFilesToPackage add-ons kernel power cpuidle :x86_cstates@x86,x86_64;if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 {AddFilesToPackage add-ons kernel cpu :generic_x86;}# driversAddNewDriversToPackage :wmi@x86,x86_64;AddNewDriversToPackage disk :nvme_diskusb_disk;AddNewDriversToPackage disk mmc :mmc_disk;AddNewDriversToPackage disk scsi :scsi_cdscsi_disk;AddNewDriversToPackage disk virtual :ram_diskvirtio_block;AddNewDriversToPackage graphics :virtio_gpu;AddNewDriversToPackage power: $(SYSTEM_ADD_ONS_DRIVERS_POWER) ;AddNewDriversToPackage sensor: $(SYSTEM_ADD_ONS_DRIVERS_SENSOR) ;AddNewDriversToPackage network :usb_ecmvirtio_net;AddNewDriversToPackage input :i2c_elanvirtio_input;AddNewDriversToPackage display :# display_adapter@x86;AddNewDriversToPackage audio hmulti :# virtio_sound;# legacy driversAddDriversToPackage :consoledprintfnull<driver>ptyusb_modeswitch;AddDriversToPackage audio hmulti :$(SYSTEM_ADD_ONS_DRIVERS_AUDIO) ;AddDriversToPackage audio old :$(SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD) ;AddDriversToPackage bluetooth h2 :$(SYSTEM_ADD_ONS_DRIVERS_BT_H2) ;AddDriversToPackage midi :$(SYSTEM_ADD_ONS_DRIVERS_MIDI) ;AddDriversToPackage bus :usb_raw;AddDriversToPackage disk virtual :nbd;AddDriversToPackage dvb :cx23882;AddDriversToPackage graphics: $(SYSTEM_ADD_ONS_DRIVERS_GRAPHICS) ;AddDriversToPackage input :ps2_hidusb_hidwacom;AddDriversToPackage misc :<driver>poke<driver>mem;AddDriversToPackage net: $(SYSTEM_ADD_ONS_DRIVERS_NET) ;AddDriversToPackage ports :pc_serialusb_serial;# kernelAddFilesToPackage : <revisioned>kernel_$(TARGET_ARCH) ;# libsAddLibrariesToPackage lib: [ HaikuImageGetSystemLibs ] [ HaikuImageGetPrivateSystemLibs ] ;# libnetwork.so replaces quite a few librariesif $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 1 {local libNetworkAliases = libsocket.so libbind.so libnet.so ;local lib ;for lib in $(libNetworkAliases) {AddSymlinkToPackage lib : libnetwork.so : $(lib) ;}AddSymlinkToPackage lib : libbnetapi.so : libnetapi.so ;}# trusted keysSEARCH on haiku-2019.pub = [ FDirName $(HAIKU_TOP) data trust_db ] ;AddFilesToPackage data trust_db : haiku-2019.pub ;# serversAddFilesToPackage servers : $(SYSTEM_SERVERS) ;# appsAddFilesToPackage :runtime_loaderDeskbarTracker;AddFilesToPackage bin :$(SYSTEM_BIN)consoled;AddFilesToPackage apps: $(SYSTEM_APPS) ;AddFilesToPackage preferences: $(SYSTEM_PREFERENCES) ;AddFilesToPackage demos: $(SYSTEM_DEMOS) ;SEARCH on install-wifi-firmwares.sh = [ FDirName $(HAIKU_TOP) data bin ] ;AddFilesToPackage bin : install-wifi-firmwares.sh ;AddSymlinkToPackage bin : trash : untrash ;AddSymlinkToPackage bin : less : more ;# scripts and data fileslocal bootScripts = PostInstallScript SetupEnvironment ;SEARCH on $(bootScripts) = [ FDirName $(HAIKU_TOP) data system boot ] ;AddFilesToPackage boot : $(bootScripts) ;local launchScripts = <data!launch>system ;SEARCH on $(launchScripts) = [ FDirName $(HAIKU_TOP) data launch ] ;AddFilesToPackage data launch : $(launchScripts) ;local userLaunchScripts = <data!launch>user ;SEARCH on $(userLaunchScripts) = [ FDirName $(HAIKU_TOP) data launch ] ;AddFilesToPackage data user_launch : $(userLaunchScripts) ;# first login scriptslocal firstLoginFiles = default_deskbar_items.sh ;firstLoginFiles = $(firstLoginFiles:G=first-login) ;SEARCH on $(firstLoginFiles)= [ FDirName $(HAIKU_TOP) data system boot first_login ] ;AddFilesToPackage boot first-login : $(firstLoginFiles) ;# artwork and soundslocal logoArtwork =$(HAIKU_INCLUDE_TRADEMARKS)"HAIKU logo - white on blue - big.png"$(HAIKU_INCLUDE_TRADEMARKS)"HAIKU logo - white on blue - normal.png" ;SEARCH on $(logoArtwork) = [ FDirName $(HAIKU_TOP) data artwork ] ;AddFilesToPackage data artwork : $(logoArtwork) ;# Mail spell check dictionarieslocal spellFiles = words geekspeak ;spellFiles = $(spellFiles:G=spell) ;SEARCH on $(spellFiles) = [ FDirName $(HAIKU_TOP) src apps mail ] ;AddFilesToPackage data spell_check word_dictionary : $(spellFiles) ;local fortuneFiles = [ Glob $(HAIKU_TOP)/data/system/data/fortunes: [a-zA-Z0-9]* ] ;fortuneFiles = $(fortuneFiles:G=data!fortunes) ;AddFilesToPackage data fortunes : $(fortuneFiles) ;local fontDir = [ FDirName $(HAIKU_TOP) data system data fonts ] ;local psFonts = [ Glob $(fontDir)/psfonts : *.afm *.pfb ] ;AddFilesToPackage data fonts psfonts : $(psFonts) ;# keymapsAddFilesToPackage data Keymaps : $(HAIKU_KEYMAP_FILES) ;local keymapAlias ;for keymapAlias in $(HAIKU_KEYMAP_ALIASES) {local aliasedTo = [ on $(keymapAlias) return $(HAIKU_KEYMAP_FILE) ] ;AddSymlinkToPackage data Keymaps : $(aliasedTo:BSM) : $(keymapAlias:BSM) ;}# keyboard layoutsAddFilesToPackage data KeyboardLayouts: $(HAIKU_KEYBOARD_LAYOUT_FILES) ;AddFilesToPackage data KeyboardLayouts Apple\ Aluminum: $(HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES) ;AddFilesToPackage data KeyboardLayouts ThinkPad: $(HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES) ;# terminal themeslocal terminalThemes = [ Glob $(HAIKU_TOP)/data/system/data/terminal_themes : "[a-zA-Z0-9 ]*" ] ;AddFilesToPackage data Terminal Themes : $(terminalThemes) ;# boot module linksAddBootModuleSymlinksToPackageacpi@x86,x86_64,arm64ahciataata_adapterbfsdpcefi_gptgeneric_ide_pciide_isa@x86isa@x86,x86_64intelit8211legacy_satammcmmc_disknvme_diskopenpic@ppcpackagefspci<pci>designware@riscv64<pci>ecam@riscv64,arm,arm64<pci>x86@x86,x86_64fdt@riscv64,arm,arm64scsiscsi_cdscsi_diskscsi_periphsilicon_image_3112highpoint_ide_pcisdhciusbusb_disk<usb>ehci<usb>ohci<usb>uhci<usb>xhcivirtiovirtio_blockvirtio_mmio@riscv64,arm,arm64virtio_pcivirtio_scsi;# add-onsAddFilesToPackage add-ons accelerants :$(SYSTEM_ADD_ONS_ACCELERANTS) ;AddFilesToPackage add-ons locale catalogs :$(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ;AddFilesToPackage add-ons mail_daemon inbound_protocols :POP3IMAP;AddFilesToPackage add-ons mail_daemon outbound_protocols :SMTP;AddFilesToPackage add-ons mail_daemon inbound_filters :MatchHeaderSpamFilterNewMailNotification;AddFilesToPackage add-ons mail_daemon outbound_filters :Fortune;AddFilesToPackage add-ons media : $(SYSTEM_ADD_ONS_MEDIA) ;AddFilesToPackage add-ons Network\ Settings :IPv4InterfaceIPv6InterfaceDNSClientServiceHostnameFTPServiceSSHServiceTelnetService;AddFilesToPackage add-ons Tracker :FileTypeMark\ as…Mark\ as\ ReadOpen\ Target\ FolderOpen\ TerminalZipOMatic;AddSymlinkToPackage add-ons Tracker: /boot/system/preferences/Backgrounds : Background ;AddSymlinkToPackage add-ons Tracker: /boot/system/apps/TextSearch : TextSearch ;AddSymlinkToPackage add-ons Tracker: /boot/system/apps/DiskUsage : DiskUsage ;AddFilesToPackage add-ons input_server devices :<input>keyboard<input>mouse<input>tablet<input>virtio<input>wacom;AddFilesToPackage add-ons input_server filters :padblockerscreen_savershortcut_catcherswitch_workspace;AddDirectoryToPackage add-ons input_server methods ;AddFilesToPackage add-ons kernel network :<net>notificationsstack;AddFilesToPackage add-ons kernel network :dns_resolver;AddFilesToPackage add-ons kernel network devices: $(SYSTEM_NETWORK_DEVICES) ;AddFilesToPackage add-ons kernel network datalink_protocols: $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ;AddFilesToPackage add-ons kernel network ppp: $(SYSTEM_NETWORK_PPP) ;AddFilesToPackage add-ons kernel network protocols: $(SYSTEM_NETWORK_PROTOCOLS) ;AddFilesToPackage add-ons Screen\ Savers : $(SYSTEM_ADD_ONS_SCREENSAVERS) ;AddFilesToPackage add-ons disk_systems :<disk_system>fat<disk_system>intel<disk_system>gpt<disk_system>bfs<disk_system>ntfs;# Kernel bluetooth stackAddFilesToPackage add-ons kernel bluetooth : $(SYSTEM_BT_STACK) ;# the MIME DBCopyDirectoryToPackage data : <mimedb>mime_db : : : isTarget ;# directory attributesAddDirectoryToPackage apps : system-apps.rdef ;AddDirectoryToPackage preferences : system-preferences.rdef ;# Deskbar menu symlinkslocal linkTarget ;# "Applications" linksAddDirectoryToPackage data deskbar menu Applications: deskbar-applications.rdef ;for linkTarget in $(DESKBAR_APPLICATIONS) {AddSymlinkToPackage data deskbar menu Applications: ../../../../apps/$(linkTarget) : $(linkTarget) ;}# "Desktop applets" linksAddDirectoryToPackage data deskbar menu Desktop\ applets: deskbar-applets.rdef ;for linkTarget in $(DESKBAR_DESKTOP_APPLETS) {AddSymlinkToPackage data deskbar menu Desktop\ applets: ../../../../apps/$(linkTarget) : $(linkTarget) ;}# "Preferences" linksAddDirectoryToPackage data deskbar menu Preferences: deskbar-preferences.rdef ;DESKBAR_PREFERENCES = $(SYSTEM_PREFERENCES:B) ;for linkTarget in $(DESKBAR_PREFERENCES) {AddSymlinkToPackage data deskbar menu Preferences: ../../../../preferences/$(linkTarget): $(linkTarget) ;}# "Demo" linksAddDirectoryToPackage data deskbar menu Demos: deskbar-demos.rdef ;for linkTarget in $(SYSTEM_DEMOS) {AddSymlinkToPackage data deskbar menu Demos: ../../../../demos/$(linkTarget) : $(linkTarget) ;}# Deskbar menu entries fileAddFilesToPackage data deskbar : <deskbar>menu_entries ;# licensesCopyDirectoryToPackage data: [ FDirName $(HAIKU_TOP) data system data licenses ]: licenses ;# netresolv support filesCopyDirectoryToPackage data: [ FDirName $(HAIKU_TOP) data system data network ]: network ;# Copy documentation as per DiskUsage's license requirement.CopyDirectoryToPackage documentation: [ FDirName $(HAIKU_TOP) docs apps diskusage ]: diskusage ;# empty directoryAddDirectoryToPackage data empty ;BuildHaikuPackage $(haikuPackage) : haiku ;