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,x86_64 ; 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 random : virtio_rng ; 40AddFilesToPackage add-ons kernel busses scsi : ahci virtio_scsi ; 41AddFilesToPackage add-ons kernel busses usb : <usb>uhci <usb>ohci <usb>ehci ; 42AddFilesToPackage add-ons kernel busses virtio : virtio_pci ; 43AddFilesToPackage add-ons kernel console : vga_text ; 44AddFilesToPackage add-ons kernel debugger 45 : <kdebug>demangle <kdebug>disasm@x86 <kdebug>hangman 46 <kdebug>invalidate_on_exit <kdebug>usb_keyboard <kdebug>qrencode 47 <kdebug>run_on_exit ; 48AddFilesToPackage add-ons kernel file_systems : $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ; 49AddFilesToPackage add-ons kernel generic 50 : ata_adapter@ata bios@x86,x86_64 dpc ide_adapter@ide 51 locked_pool mpu401 scsi_periph <module>tty ; 52AddFilesToPackage add-ons kernel partitioning_systems 53 : amiga_rdb apple efi_gpt intel session ; 54AddFilesToPackage add-ons kernel interrupt_controllers : openpic@ppc ; 55AddFilesToPackage add-ons kernel power cpufreq : intel_pstates@x86,x86_64 ; 56AddFilesToPackage add-ons kernel power cpuidle : intel_cstates@x86,x86_64 ; 57 58if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 { 59 AddFilesToPackage add-ons kernel cpu : generic_x86 ; 60} 61 62# drivers 63AddNewDriversToPackage disk scsi : scsi_cd scsi_disk ; 64AddNewDriversToPackage disk virtual : virtio_block ; 65AddNewDriversToPackage power : $(SYSTEM_ADD_ONS_DRIVERS_POWER) ; 66#AddNewDriversToPackage display : display_controls@x86 ; 67 68# legacy drivers 69AddDriversToPackage : console dprintf null <driver>tty zero ; 70AddDriversToPackage audio hmulti : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO) ; 71AddDriversToPackage audio old : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD) ; 72AddDriversToPackage midi : $(SYSTEM_ADD_ONS_DRIVERS_MIDI) ; 73AddDriversToPackage bus : usb_raw fw_raw@x86 ; 74AddDriversToPackage disk floppy : pc_floppy@x86 ; 75AddDriversToPackage disk usb : usb_disk ; 76AddDriversToPackage disk usb : usb_floppy ; 77AddDriversToPackage printer usb : usb_printer ; 78AddDriversToPackage disk virtual : nbd ; 79AddDriversToPackage dvb : cx23882 ; 80AddDriversToPackage graphics : $(SYSTEM_ADD_ONS_DRIVERS_GRAPHICS) ; 81AddDriversToPackage input : ps2_hid usb_hid wacom ; 82AddDriversToPackage misc : <driver>poke <driver>mem ; 83AddDriversToPackage net : $(SYSTEM_ADD_ONS_DRIVERS_NET) ; 84AddDriversToPackage ports : usb_serial ; 85 86# kernel 87AddFilesToPackage : <revisioned>kernel_$(TARGET_ARCH) ; 88 89# libs 90AddLibrariesToPackage lib 91 : [ HaikuImageGetSystemLibs ] [ HaikuImageGetPrivateSystemLibs ] ; 92 93# libnetwork.so replaces quite a few libraries 94if $(HAIKU_GCC_VERSION_$(architecture)[1]) = 2 { 95 local libNetworkAliases = libsocket.so libbind.so libnet.so ; 96 local lib ; 97 for lib in $(libNetworkAliases) { 98 AddSymlinkToPackage lib : libnetwork.so : $(lib) ; 99 } 100 101 AddSymlinkToPackage lib : libbnetapi.so : libnetapi.so ; 102} 103 104 105# TODO: Remove when the packages have been rebuilt! 106AddSymlinkToPackage lib : libbe.so : liblocale.so ; 107 108# servers 109AddFilesToPackage servers : $(SYSTEM_SERVERS) ; 110 111# apps 112AddFilesToPackage : runtime_loader Deskbar Tracker ; 113AddFilesToPackage bin : $(SYSTEM_BIN) consoled ; 114AddFilesToPackage apps : $(SYSTEM_APPS) ; 115AddFilesToPackage preferences : $(SYSTEM_PREFERENCES) ; 116AddFilesToPackage demos : $(SYSTEM_DEMOS) ; 117 118SEARCH on install-wifi-firmwares.sh = [ FDirName $(HAIKU_TOP) data bin ] ; 119AddFilesToPackage bin : install-wifi-firmwares.sh ; 120 121AddSymlinkToPackage bin : bash : sh ; 122AddSymlinkToPackage bin : trash : untrash ; 123AddSymlinkToPackage bin : less : more ; 124AddSymlinkToPackage bin : gzip : gunzip ; 125AddSymlinkToPackage bin : gzip : zcat ; 126AddSymlinkToPackage bin : zdiff : zcmp ; 127AddSymlinkToPackage bin : unzip : zipinfo ; 128AddSymlinkToPackage bin : gawk : awk ; 129 130# scripts and data files 131local bootScripts = Bootscript Bootscript.cd SetupEnvironment Netscript 132 InstallerInitScript InstallerFinishScript ; 133SEARCH on $(bootScripts) = [ FDirName $(HAIKU_TOP) data system boot ] ; 134AddFilesToPackage boot : $(bootScripts) ; 135 136# post install scripts 137local postInstallFiles = add_catalog_entry_attributes.sh 138 default_deskbar_items.sh ; 139postInstallFiles = $(postInstallFiles:G=post-install) ; 140SEARCH on $(postInstallFiles) 141 = [ FDirName $(HAIKU_TOP) data system boot post_install ] ; 142AddFilesToPackage boot post-install : $(postInstallFiles) ; 143 144# Gutenprint data files 145CopyDirectoryToPackage data 146 : [ FDirName $(HAIKU_TOP) src libs print libgutenprint src xml ] 147 : gutenprint : -x *.c -x Makefile.am -x Makefile.in ; 148 149# artwork and sounds 150local logoArtwork = 151 $(HAIKU_INCLUDE_TRADEMARKS)"HAIKU logo - white on blue - big.png" 152 $(HAIKU_INCLUDE_TRADEMARKS)"HAIKU logo - white on blue - normal.png" ; 153SEARCH on $(logoArtwork) = [ FDirName $(HAIKU_TOP) data artwork ] ; 154AddFilesToPackage data artwork : $(logoArtwork) ; 155 156# Mail spell check dictionaries 157local spellFiles = words geekspeak ; 158spellFiles = $(spellFiles:G=spell) ; 159SEARCH on $(spellFiles) = [ FDirName $(HAIKU_TOP) src apps mail ] ; 160AddFilesToPackage data spell_check word_dictionary : $(spellFiles) ; 161 162local fortuneFiles = [ Glob $(HAIKU_TOP)/data/system/data/fortunes 163 : [a-zA-Z0-9]* ] ; 164fortuneFiles = $(fortuneFiles:G=data!fortunes) ; 165AddFilesToPackage data fortunes : $(fortuneFiles) ; 166 167local fontDir = [ FDirName $(HAIKU_TOP) data system data fonts ] ; 168local psFonts = [ Glob $(fontDir)/psfonts : *.afm *.pfb ] ; 169local ttFonts = [ Glob $(fontDir)/ttfonts : *.ttf ] ; 170AddFilesToPackage data fonts psfonts : $(psFonts) ; 171AddFilesToPackage data fonts ttfonts : $(ttFonts) ; 172 173local cannaDir = [ FDirName $(HAIKU_TOP) data system data Canna ] ; 174local cannaDefault = [ Glob $(cannaDir)/default : *.canna *.gz ] ; 175local cannaDic = [ Glob $(cannaDir)/dic : *.cbp ] ; 176local cannaDicCanna = [ Glob $(cannaDir)/dic/canna 177 : *.cld *.ctd *.cbd *.dir ] ; 178AddFilesToPackage data Canna default : $(cannaDefault) ; 179AddFilesToPackage data Canna dic : $(cannaDic) ; 180AddFilesToPackage data Canna dic canna : $(cannaDicCanna) ; 181#AddDirectoryToPackage data Canna dic group ; 182#AddDirectoryToPackage data Canna dic user ; 183 # TODO: If those serve any purpose, they should probably live in a writable 184 # subtree. 185 186# keymaps 187AddFilesToPackage data Keymaps : $(HAIKU_KEYMAP_FILES) ; 188local keymapAlias ; 189for keymapAlias in $(HAIKU_KEYMAP_ALIASES) { 190 local aliasedTo = [ on $(keymapAlias) return $(HAIKU_KEYMAP_FILE) ] ; 191 AddSymlinkToPackage data Keymaps : $(aliasedTo:BSM) : $(keymapAlias:BSM) ; 192} 193 194# keyboard layouts 195AddFilesToPackage data KeyboardLayouts 196 : $(HAIKU_KEYBOARD_LAYOUT_FILES) ; 197AddFilesToPackage data KeyboardLayouts Apple\ Aluminum 198 : $(HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES) ; 199AddFilesToPackage data KeyboardLayouts ThinkPad 200 : $(HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES) ; 201 202# boot module links 203AddBootModuleSymlinksToPackage 204 acpi@x86,x86_64 ata@ata pci isa@x86,x86_64 config_manager dpc 205 ide@ide scsi usb 206 openpic@ppc 207 ata_adapter@ata ide_adapter@ide locked_pool scsi_periph 208 ahci generic_ide_pci it8211 legacy_sata silicon_image_3112 209 ide_isa@x86 210 <usb>uhci <usb>ohci <usb>ehci 211 scsi_cd scsi_disk usb_disk 212 virtio virtio_pci virtio_block virtio_scsi 213 efi_gpt 214 intel 215 bfs packagefs 216; 217 218# add-ons 219AddFilesToPackage add-ons accelerants : $(SYSTEM_ADD_ONS_ACCELERANTS) ; 220AddFilesToPackage add-ons Translators : $(SYSTEM_ADD_ONS_TRANSLATORS) ; 221AddFilesToPackage add-ons locale catalogs : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ; 222 223AddFilesToPackage add-ons mail_daemon inbound_protocols : POP3 IMAP ; 224AddFilesToPackage add-ons mail_daemon outbound_protocols : SMTP ; 225AddFilesToPackage add-ons mail_daemon inbound_filters 226 : MatchHeader SpamFilter NewMailNotification ; 227AddFilesToPackage add-ons mail_daemon outbound_filters : Fortune ; 228 229AddFilesToPackage add-ons media : $(SYSTEM_ADD_ONS_MEDIA) ; 230AddFilesToPackage add-ons media plugins : $(SYSTEM_ADD_ONS_MEDIA_PLUGINS) ; 231 232AddFilesToPackage add-ons Tracker 233 : FileType Mark\ as… Mark\ as\ Read Open\ Target\ Folder 234 Open\ Terminal ZipOMatic ; 235AddSymlinkToPackage add-ons Tracker 236 : /boot/system/preferences/Backgrounds : Background ; 237AddSymlinkToPackage add-ons Tracker 238 : /boot/system/apps/TextSearch : TextSearch ; 239AddSymlinkToPackage add-ons Tracker 240 : /boot/system/apps/DiskUsage : DiskUsage ; 241 242AddFilesToPackage add-ons input_server devices 243 : <input>keyboard <input>mouse <input>tablet <input>wacom ; 244AddFilesToPackage add-ons input_server filters 245 : screen_saver shortcut_catcher ; 246 247AddFilesToPackage add-ons kernel network : <net>notifications stack ; 248AddFilesToPackage add-ons kernel network : dns_resolver ; 249AddFilesToPackage add-ons kernel network devices : $(SYSTEM_NETWORK_DEVICES) ; 250AddFilesToPackage add-ons kernel network datalink_protocols 251 : $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ; 252AddFilesToPackage add-ons kernel network ppp: $(SYSTEM_NETWORK_PPP) ; 253AddFilesToPackage add-ons kernel network protocols 254 : $(SYSTEM_NETWORK_PROTOCOLS) ; 255 256AddFilesToPackage add-ons Print : $(SYSTEM_ADD_ONS_PRINT) ; 257AddFilesToPackage add-ons Print transport 258 : $(SYSTEM_ADD_ONS_PRINT_TRANSPORT) ; 259AddFilesToPackage add-ons Screen\ Savers : $(SYSTEM_ADD_ONS_SCREENSAVERS) ; 260 261AddFilesToPackage add-ons disk_systems 262 : <disk_system>intel <disk_system>gpt <disk_system>bfs <disk_system>ntfs ; 263 264 265# the MIME DB 266CopyDirectoryToPackage data : <mimedb>mime_db : : : isTarget ; 267 268 269# Deskbar menu symlinks 270 271# "Applications" links 272DESKBAR_APPLICATIONS = ActivityMonitor CharacterMap CodyCam CDPlayer DeskCalc 273 Devices DiskProbe DriveSetup DiskUsage Expander HaikuDepot Icon-O-Matic 274 Installer Magnify Mail MediaConverter MediaPlayer MidiPlayer People PoorMan 275 Screenshot SerialConnect SoundRecorder StyledEdit Terminal TV 276; 277local linkTarget ; 278for linkTarget in $(DESKBAR_APPLICATIONS) { 279 AddSymlinkToPackage data deskbar menu Applications 280 : ../../../../apps/$(linkTarget) : $(linkTarget) ; 281} 282 283# "Desktop applets" links 284DESKBAR_DESKTOP_APPLETS = LaunchBox NetworkStatus PowerStatus ProcessController 285 Workspaces 286; 287for linkTarget in $(DESKBAR_DESKTOP_APPLETS) { 288 AddSymlinkToPackage data deskbar menu Desktop\ applets 289 : ../../../../apps/$(linkTarget) : $(linkTarget) ; 290} 291 292# "Preferences" links 293AddDirectoryToPackage data deskbar menu Preferences ; 294DESKBAR_PREFERENCES = $(SYSTEM_PREFERENCES:B) ; 295for linkTarget in $(DESKBAR_PREFERENCES) { 296 AddSymlinkToPackage data deskbar menu Preferences 297 : ../../../../preferences/$(linkTarget) 298 : $(linkTarget) ; 299} 300 301# "Demo" links 302AddDirectoryToPackage data deskbar menu Demos ; 303for linkTarget in $(SYSTEM_DEMOS) { 304 AddSymlinkToPackage data deskbar menu Demos 305 : ../../../../demos/$(linkTarget) : $(linkTarget) ; 306} 307 308# Deskbar menu entries file 309AddFilesToPackage data deskbar : <deskbar>menu_entries ; 310 311 312# optional 313# TODO: We should probably build another package (including the data files 314# above) that can be installed, if desired. 315AddFilesToPackage optional add-ons input_server methods : canna ; 316 317 318# PDF Writer enconding files 319CopyDirectoryToPackage data 320 : [ FDirName $(HAIKU_TOP) src add-ons print drivers pdf encoding ] 321 : "PDF Writer" : -x Jamfile ; 322 323# licenses 324CopyDirectoryToPackage data 325 : [ FDirName $(HAIKU_TOP) data system data licenses ] 326 : licenses ; 327 328# Copy documentation as per DiskUsage's license requirement. 329CopyDirectoryToPackage documentation 330 : [ FDirName $(HAIKU_TOP) docs apps diskusage ] 331 : diskusage ; 332 333# Copy documentation and sample programs as per PDFlib Lite's license 334# requirement. 335CopyDirectoryToPackage documentation 336 : [ FDirName $(HAIKU_TOP) src libs pdflib doc ] 337 : pdflib ; 338CopyDirectoryToPackage develop sample-code 339 : [ FDirName $(HAIKU_TOP) src libs pdflib bind pdflib ] 340 : pdflib ; 341 342 343# empty directory 344AddDirectoryToPackage data empty ; 345 346 347BuildHaikuPackage $(haikuPackage) : haiku ; 348