16eb448eb4
/boot/home/config/settings. * The Bootscript will check for the existance of this file and updates the mime database with all the applications and preflets that come with the install. Then it removes the indicator file. This fixes the problem that all the apps are not known to the system until you run them once. Ie "Open With..." and such stuff works out of the box. Feel free to find a more elegant way, I just found this simple and effective. :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24247 a95241bf-73f2-0310-859d-f6bbb57e9c96
691 lines
27 KiB
Plaintext
691 lines
27 KiB
Plaintext
# This file defines what ends up on the Haiku image (respectively in the Haiku
|
|
# installation directory) and it executes the rules building the image
|
|
# (respectively installing the files in the installation directory).
|
|
|
|
# create directories that will remain empty
|
|
AddDirectoryToHaikuImage home Desktop ;
|
|
AddDirectoryToHaikuImage home config bin ;
|
|
AddDirectoryToHaikuImage home config lib ;
|
|
AddDirectoryToHaikuImage home mail ;
|
|
AddDirectoryToHaikuImage var log ;
|
|
AddDirectoryToHaikuImage var tmp ;
|
|
|
|
local X86_ONLY = ;
|
|
local PPC_ONLY = ;
|
|
if $(TARGET_ARCH) = x86 {
|
|
X86_ONLY = "" ;
|
|
} else if $(TARGET_ARCH) = ppc {
|
|
X86_ONLY = ;
|
|
}
|
|
|
|
local GPL_ONLY = ;
|
|
if $(INCLUDE_GPL_ADDONS) = 1 {
|
|
GPL_ONLY = "" ;
|
|
}
|
|
|
|
BEOS_BIN = "[" addattr alert arp base64 basename bc beep bison bzip2 cal cat
|
|
catattr chgrp chmod chop chown cksum clear clockconfig cmp comm compress
|
|
cp copyattr $(X86_ONLY)CortexAddOnHost
|
|
csplit ctags cut date dc dd desklink df diff diff3 dircolors dirname
|
|
driveinfo dstcheck du echo eject env error expand expr
|
|
expr factor false fdinfo ffm find finddir fmt fold fortune frcode ftp ftpd
|
|
funzip fwcontrol
|
|
gawk $(X86_ONLY)gdb grep groups gzip gzexe hd head hey hostname id ident
|
|
ideinfo idestatus ifconfig <bin>install installsound iroster isvolume join
|
|
keymap kill less lessecho lesskey link listarea listattr listdev listimage
|
|
listport listres listsem ln locate logger login logname ls lsindex m4 make
|
|
makebootable md5sum merge mimeset mkdos mkdir mkindex modifiers mount
|
|
mount_nfs mountvolume mv nc netstat nl nohup od open paste patch pathchk pc
|
|
ping play playfile playsound playwav pr prio printenv printf ps ptx pwd
|
|
query quit readlink release renice rescan rlog rm rmattr rmindex rmdir roster route
|
|
safemode screen_blanker sed setdecor settype setversion setvolume seq sh sha1sum shar
|
|
shred shuf shutdown sleep sort split stat strace stty su sum sync sysinfo tac tail tar
|
|
tcpdump tcptester tee telnet telnetd test top touch tput tr traceroute
|
|
translate true tsort tty uname unchop unexpand unmount uniq unrar unshar
|
|
unzip unzipsfx <bin>updatedb uptime urlwrapper usb_dev_info uudecode uuencode vdir
|
|
version vim waitfor wc wget whoami xargs xres yes zdiff zforce zgrep zip
|
|
zipcloak zipgrep zipnote zipsplit zmore znew
|
|
;
|
|
|
|
|
|
BEOS_APPS = AboutSystem CodyCam DeskCalc DiskProbe DriveSetup CDPlayer Expander
|
|
Icon-O-Matic Installer LaunchBox Magnify Mail MediaPlayer MidiPlayer
|
|
NetworkStatus PackageInstaller People PowerStatus ProcessController
|
|
ShowImage SoundRecorder StyledEdit Terminal TV Workspaces
|
|
;
|
|
BEOS_PREFERENCES = Appearance Backgrounds DataTranslations E-mail
|
|
FileTypes Fonts Keyboard Keymap Media Menu Mouse Network Printers Screen
|
|
ScreenSaver Sounds Time VirtualMemory
|
|
;
|
|
BEOS_DEMOS = BitmapDrawing BSnow Chart Clock $(X86_ONLY)Cortex FontDemo
|
|
$(X86_ONLY)GLDirectMode $(X86_ONLY)GLTeapot Mandelbrot PictureTest
|
|
Playground Pulse Sudoku
|
|
;
|
|
BEOS_SYSTEM_LIBS = libbe.so $(HAIKU_LIBSTDC++) libmedia.so libtracker.so
|
|
libtranslation.so libnetwork.so libdebug.so libbsd.so libmail.so
|
|
libtextencoding.so libz.so libfreetype.so libpng.so libmidi.so libmidi2.so
|
|
libdevice.so libgame.so libscreensaver.so <revisioned>libroot.so
|
|
$(X86_ONLY)libGL.so libfluidsynth.so liblpsolve55.so liblinprog.so libalm.so
|
|
libilmimf.so
|
|
;
|
|
BEOS_SYSTEM_SERVERS = registrar debug_server syslog_daemon media_server
|
|
net_server media_addon_server input_server app_server fake_app_server
|
|
midi_server print_server mail_daemon
|
|
;
|
|
|
|
BEOS_NETWORK_DEVICES = ethernet loopback ;
|
|
BEOS_NETWORK_DATALINK_PROTOCOLS = ethernet_frame <module>arp loopback_frame
|
|
ipv4_datagram ;
|
|
#BEOS_NETWORK_PPP = ipcp modem pap pppoe ;
|
|
BEOS_NETWORK_PROTOCOLS = ipv4 tcp udp icmp ;
|
|
|
|
BEOS_ADD_ONS_ACCELERANTS = $(X86_ONLY)radeon.accelerant $(X86_ONLY)nvidia.accelerant
|
|
$(X86_ONLY)matrox.accelerant $(X86_ONLY)neomagic.accelerant
|
|
$(X86_ONLY)intel_extreme.accelerant $(X86_ONLY)s3savage.accelerant vesa.accelerant
|
|
$(X86_ONLY)via.accelerant
|
|
#$(X86_ONLY)vmware.accelerant
|
|
;
|
|
BEOS_ADD_ONS_TRANSLATORS = BMPTranslator EXRTranslator GIFTranslator JPEGTranslator
|
|
JPEG2000Translator PCXTranslator PNGTranslator PPMTranslator RAWTranslator
|
|
RTF-Translator SGITranslator STXTTranslator TGATranslator
|
|
TIFFTranslator WonderBrushTranslator
|
|
;
|
|
BEOS_ADD_ONS_MEDIA = mixer.media_addon
|
|
hmulti_audio.media_addon tone_producer_demo.media_addon
|
|
video_producer_demo.media_addon
|
|
usb_webcam.media_addon
|
|
dvb.media_addon
|
|
opensound.media_addon
|
|
#legacy.media_addon
|
|
;
|
|
BEOS_ADD_ONS_MEDIA_PLUGINS = $(GPL_ONLY)ac3_decoder
|
|
aiff_reader au_reader $(X86_ONLY)avcodec avi_reader
|
|
matroska mov_reader
|
|
mp3_decoder mp3_reader
|
|
mp4_reader musepack
|
|
ogg raw_decoder speex
|
|
# theora
|
|
vorbis wav_reader
|
|
;
|
|
BEOS_ADD_ONS_PRINT = Canon\ LIPS3\ Compatible Canon\ LIPS4\ Compatible
|
|
PCL5\ Compatible PCL6\ Compatible PDF\ Writer PS\ Compatible Preview
|
|
;
|
|
BEOS_ADD_ONS_PRINT_TRANSPORT = HP\ JetDirect IPP LPR Parallel\ Port
|
|
Print\ To\ File Serial\ Port USB\ Port
|
|
;
|
|
BEOS_ADD_ONS_SCREENSAVERS = Haiku IFS Spider ;
|
|
BEOS_ADD_ONS_DRIVERS_AUDIO = auich auvia emuxki hda ;
|
|
BEOS_ADD_ONS_DRIVERS_GRAPHICS = $(X86_ONLY)radeon $(X86_ONLY)nvidia
|
|
$(X86_ONLY)neomagic $(X86_ONLY)matrox $(X86_ONLY)intel_extreme
|
|
$(X86_ONLY)s3savage $(X86_ONLY)via vesa #$(X86_ONLY)vmware
|
|
;
|
|
BEOS_ADD_ONS_DRIVERS_MIDI = emuxki ;
|
|
BEOS_ADD_ONS_DRIVERS_NET = $(X86_ONLY)3com etherpci $(X86_ONLY)ipro1000
|
|
$(X86_ONLY)rtl8139 rtl8169 sis900 $(X86_ONLY)via_rhine wb840 net_stack
|
|
$(X86_ONLY)ipro100 $(X86_ONLY)nforce #vlance
|
|
$(X86_ONLY)marvell_yukon
|
|
$(GPL_ONLY)bcm440x $(GPL_ONLY)bcm570x
|
|
;
|
|
#BEOS_ADD_ONS_DRIVERS_ACPI = $(X86_ONLY)acpi_button ;
|
|
BEOS_ADD_ONS_BUS_MANAGERS = pci $(X86_ONLY)ps2 $(X86_ONLY)isa ide scsi
|
|
config_manager agp_gart usb firewire
|
|
;
|
|
BEOS_ADD_ONS_FILE_SYSTEMS = bfs cdda fat googlefs iso9660 nfs $(GPL_ONLY)ntfs ;
|
|
|
|
|
|
# modules
|
|
AddFilesToHaikuImage beos system add-ons kernel bus_managers
|
|
: $(BEOS_ADD_ONS_BUS_MANAGERS) ;
|
|
AddFilesToHaikuImage beos system add-ons kernel busses agp_gart
|
|
: $(X86_ONLY)<agp_gart>intel ;
|
|
AddFilesToHaikuImage beos system add-ons kernel busses ide
|
|
: generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112 legacy_sata ;
|
|
AddFilesToHaikuImage beos system add-ons kernel busses scsi
|
|
: ahci ;
|
|
AddFilesToHaikuImage beos system add-ons kernel busses usb
|
|
: <usb>uhci <usb>ehci ;
|
|
AddFilesToHaikuImage beos system add-ons kernel console : vga_text ;
|
|
AddFilesToHaikuImage beos system add-ons kernel debugger
|
|
: <kdebug>hangman <kdebug>invalidate_on_exit ;
|
|
AddFilesToHaikuImage beos system add-ons kernel file_systems
|
|
: $(BEOS_ADD_ONS_FILE_SYSTEMS) ;
|
|
AddFilesToHaikuImage beos system add-ons kernel generic
|
|
: block_io dpc fast_log ide_adapter locked_pool mpu401 scsi_periph ;
|
|
AddFilesToHaikuImage beos system add-ons kernel partitioning_systems
|
|
: intel session ;
|
|
AddFilesToHaikuImage beos system add-ons kernel interrupt_controllers
|
|
: $(PPC_ONLY)openpic ;
|
|
|
|
if $(TARGET_ARCH) = x86 {
|
|
AddFilesToHaikuImage beos system add-ons kernel cpu : generic_x86 ;
|
|
}
|
|
|
|
# drivers
|
|
AddDriversToHaikuImage : console dprintf $(X86_ONLY)keyboard null
|
|
random <driver>tty zero ;
|
|
AddDriversToHaikuImage audio hmulti : $(BEOS_ADD_ONS_DRIVERS_AUDIO) ;
|
|
AddDriversToHaikuImage midi : $(BEOS_ADD_ONS_DRIVERS_MIDI) ;
|
|
AddDriversToHaikuImage bus : fw_raw usb_raw ;
|
|
AddDriversToHaikuImage disk scsi : scsi_cd scsi_dsk ;
|
|
AddDriversToHaikuImage disk virtual : nbd ;
|
|
AddDriversToHaikuImage dvb : cx23882 ;
|
|
AddDriversToHaikuImage graphics : $(BEOS_ADD_ONS_DRIVERS_GRAPHICS) ;
|
|
AddDriversToHaikuImage input : ps2_hid usb_hid wacom ;
|
|
AddDriversToHaikuImage misc : <driver>poke <driver>test ;
|
|
AddDriversToHaikuImage net : $(BEOS_ADD_ONS_DRIVERS_NET) ;
|
|
#AddDriversToHaikuImage power : $(BEOS_ADD_ONS_DRIVERS_ACPI) ;
|
|
|
|
# kernel
|
|
AddFilesToHaikuImage beos system : <revisioned>kernel_$(TARGET_ARCH) ;
|
|
|
|
# libs
|
|
AddFilesToHaikuImage beos system lib : $(BEOS_SYSTEM_LIBS) ;
|
|
|
|
# libnetwork.so replaces quite a few libraries
|
|
BEOS_SYSTEM_LIBS_LIBNETWORK_ALIASES
|
|
= libsocket.so libbind.so libnet.so libnetapi.so libbnetapi.so ;
|
|
|
|
local lib ;
|
|
for lib in $(BEOS_SYSTEM_LIBS_LIBNETWORK_ALIASES) {
|
|
AddSymlinkToHaikuImage beos system lib : libnetwork.so : $(lib) ;
|
|
}
|
|
|
|
# libGL.so has GLUT built-in
|
|
if $(TARGET_ARCH) = x86 {
|
|
AddSymlinkToHaikuImage beos system lib : $(X86_ONLY)libGL.so : libglut.so ;
|
|
}
|
|
|
|
# servers
|
|
AddFilesToHaikuImage beos system servers : $(BEOS_SYSTEM_SERVERS) ;
|
|
|
|
# apps
|
|
AddFilesToHaikuImage beos system : runtime_loader Deskbar Tracker ;
|
|
AddFilesToHaikuImage beos bin : $(BEOS_BIN) consoled ;
|
|
AddFilesToHaikuImage beos apps : $(BEOS_APPS) ;
|
|
AddFilesToHaikuImage beos preferences : $(BEOS_PREFERENCES) ;
|
|
AddFilesToHaikuImage beos demos : $(BEOS_DEMOS) ;
|
|
|
|
AddSymlinkToHaikuImage home Desktop : /boot/home : Home ;
|
|
|
|
# Deskbar Application links
|
|
AddDirectoryToHaikuImage home config be Applications ;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/beos/apps/CodyCam : CodyCam ;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/beos/apps/CDPlayer : CDPlayer ;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/beos/apps/DeskCalc : DeskCalc ;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/beos/apps/DiskProbe : DiskProbe ;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/beos/apps/DriveSetup : DriveSetup ;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/beos/apps/Icon-O-Matic : Icon-O-Matic ;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/beos/apps/Magnify : Magnify ;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/beos/apps/Mail : Mail ;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/beos/apps/MediaPlayer : MediaPlayer ;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/beos/apps/MidiPlayer : MidiPlayer ;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/beos/apps/People : People ;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/beos/apps/SoundRecorder : SoundRecorder ;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/beos/apps/StyledEdit : StyledEdit ;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/beos/apps/Terminal : Terminal ;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/beos/apps/TV : TV ;
|
|
|
|
# Deskbar Desktop Applets links
|
|
AddDirectoryToHaikuImage home config be Desktop\ Applets ;
|
|
AddSymlinkToHaikuImage home config be Desktop\ Applets
|
|
: /boot/beos/apps/LaunchBox : LaunchBox ;
|
|
AddSymlinkToHaikuImage home config be Desktop\ Applets
|
|
: /boot/beos/apps/NetworkStatus : NetworkStatus ;
|
|
AddSymlinkToHaikuImage home config be Desktop\ Applets
|
|
: /boot/beos/apps/PowerStatus : PowerStatus ;
|
|
AddSymlinkToHaikuImage home config be Desktop\ Applets
|
|
: /boot/beos/apps/ProcessController : ProcessController ;
|
|
AddSymlinkToHaikuImage home config be Desktop\ Applets
|
|
: /boot/beos/apps/Workspaces : Workspaces ;
|
|
|
|
# Deskbar Preferences and Demos links
|
|
AddSymlinkToHaikuImage home config be : /boot/beos/preferences : Preferences ;
|
|
AddSymlinkToHaikuImage home config be : /boot/beos/demos : Demos ;
|
|
|
|
AddSymlinkToHaikuImage beos bin : bzip2 : bunzip2 ;
|
|
AddSymlinkToHaikuImage beos bin : less : more ;
|
|
AddSymlinkToHaikuImage beos bin : gzip : gunzip ;
|
|
AddSymlinkToHaikuImage beos bin : gzip : zcat ;
|
|
AddSymlinkToHaikuImage beos bin : zdiff : zcmp ;
|
|
AddSymlinkToHaikuImage beos bin : unzip : zipinfo ;
|
|
AddSymlinkToHaikuImage beos bin : gawk : awk ;
|
|
AddSymlinkToHaikuImage beos bin : grep : egrep ;
|
|
AddSymlinkToHaikuImage beos bin : grep : fgrep ;
|
|
AddSymlinkToHaikuImage beos bin : vim : vi ;
|
|
AddSymlinkToHaikuImage beos bin : vim : view ;
|
|
|
|
|
|
# scripts and data files
|
|
local bootScripts = Bootscript SetupEnvironment Netscript InstallerInitScript
|
|
InstallerFinishScript ;
|
|
SEARCH on $(bootScripts) = [ FDirName $(HAIKU_TOP) data system boot ] ;
|
|
AddFilesToHaikuImage beos system boot : $(bootScripts) ;
|
|
|
|
local logoArtwork = "HAIKU logo - white on blue - big.png"
|
|
"HAIKU logo - white on blue - small.png" ;
|
|
SEARCH on $(logoArtwork) = [ FDirName $(HAIKU_TOP) data artwork ] ;
|
|
AddFilesToHaikuImage beos etc artwork : $(logoArtwork) ;
|
|
|
|
# Mail spell check dictionaries
|
|
local spellFiles = words geekspeak ;
|
|
spellFiles = $(spellFiles:G=spell) ;
|
|
SEARCH on $(spellFiles)
|
|
= [ FDirName $(HAIKU_TOP) src apps mail ] ;
|
|
AddFilesToHaikuImage beos etc word_dictionary : $(spellFiles) ;
|
|
|
|
local svgFiles = "lion.svg" ;
|
|
SEARCH on $(svgFiles)
|
|
= [ FDirName $(HAIKU_TOP) src tests kits interface picture ] ;
|
|
AddFilesToHaikuImage beos etc artwork : $(svgFiles) ;
|
|
|
|
# TODO: Use data/etc/termcap or src/libs/termcap.src?
|
|
local etcFiles = inputrc profile termcap teapot.data ;
|
|
etcFiles = $(etcFiles:G=etc) ;
|
|
SEARCH on $(etcFiles) = [ FDirName $(HAIKU_TOP) data etc ] ;
|
|
AddFilesToHaikuImage beos etc : $(etcFiles) ;
|
|
|
|
local fortuneFiles = Art Computers Education Food Fortunes Goedel Haiku
|
|
Humorists Kids Law "Linux cookies" Love Magic Medicine Miscellaneous
|
|
News "One Liners" "OS Fortunes" Pets Platitudes Riddles "Songs & Poems"
|
|
Sports "Tech Support Excuses" ;
|
|
fortuneFiles = $(fortuneFiles:G=etc!fortunes) ;
|
|
SEARCH on $(fortuneFiles) = [ FDirName $(HAIKU_TOP) data etc fortunes ] ;
|
|
AddFilesToHaikuImage beos etc fortunes : $(fortuneFiles) ;
|
|
|
|
local fontDir = [ FDirName $(HAIKU_TOP) data etc fonts ] ;
|
|
local psFonts = [ Glob $(fontDir)/psfonts : *.afm *.pfb ] ;
|
|
local ttFonts = [ Glob $(fontDir)/ttfonts : *.ttf ] ;
|
|
AddFilesToHaikuImage beos etc fonts psfonts : $(psFonts) ;
|
|
AddFilesToHaikuImage beos etc fonts ttfonts : $(ttFonts) ;
|
|
|
|
local kanbeDir = [ FDirName $(HAIKU_TOP) data etc KanBe ] ;
|
|
local kanbeDefault = [ Glob $(kanbeDir)/default : *.canna *.gz ] ;
|
|
local kanbeDic = [ Glob $(kanbeDir)/dic : *.cbp ] ;
|
|
local kanbeDicCanna = [ Glob $(kanbeDir)/dic/canna
|
|
: *.cld *.ctd *.cbd *.dir ] ;
|
|
AddFilesToHaikuImage beos etc KanBe default : $(kanbeDefault) ;
|
|
AddFilesToHaikuImage beos etc KanBe dic : $(kanbeDic) ;
|
|
AddFilesToHaikuImage beos etc KanBe dic canna : $(kanbeDicCanna) ;
|
|
AddDirectoryToHaikuImage beos etc KanBe dic group ;
|
|
AddDirectoryToHaikuImage beos etc KanBe dic user ;
|
|
|
|
local keymapFiles = [ GLOB [ FDirName $(HAIKU_TOP) src data etc keymaps ]
|
|
: *.keymap ] ;
|
|
keymapFiles = $(keymapFiles:BG=keymap) ;
|
|
AddFilesToHaikuImage beos etc Keymap : $(keymapFiles) ;
|
|
AddSymlinkToHaikuImage beos etc Keymap : Swedish : Finnish ;
|
|
AddSymlinkToHaikuImage beos etc Keymap : Slovene : Croatian ;
|
|
AddSymlinkToHaikuImage beos etc Keymap : US-International : Brazilian ;
|
|
|
|
local timezones = [ FTimeZoneBinaries $(HAIKU_TIME_ZONE_SOURCES) : : true ] ;
|
|
for timezone in $(timezones) {
|
|
local dir = [ on $(timezone) return $(RELATIVE_TIMEZONE_DIR) ] ;
|
|
AddFilesToHaikuImage beos etc timezones $(dir) : $(timezone) ;
|
|
}
|
|
|
|
local driverSettingsFiles = <driver-settings>kernel ;
|
|
SEARCH on $(driverSettingsFiles)
|
|
= [ FDirName $(HAIKU_TOP) data settings kernel drivers ] ;
|
|
AddFilesToHaikuImage home config settings kernel drivers
|
|
: $(driverSettingsFiles) ;
|
|
|
|
local networkSettingsFiles = <network-settings>services ;
|
|
SEARCH on $(networkSettingsFiles)
|
|
= [ FDirName $(HAIKU_TOP) data settings network ] ;
|
|
AddFilesToHaikuImage common settings network : $(networkSettingsFiles) ;
|
|
|
|
AddSymlinkToHaikuImage home config settings
|
|
: /boot/beos/etc/timezones/Europe/Paris : timezone ;
|
|
|
|
AddFilesToHaikuImage home config settings : <keymap>US-International : Key_map ;
|
|
|
|
# bison files
|
|
SEARCH on <bison>m4sugar.m4
|
|
= [ FDirName $(HAIKU_TOP) src bin bison data m4sugar ] ;
|
|
AddFilesToHaikuImage beos etc m4sugar : <bison>m4sugar.m4 ;
|
|
|
|
local bisonFiles = "yacc.c" "c.m4" "c++.m4" ;
|
|
SEARCH on $(bisonFiles) = [ FDirName $(HAIKU_TOP) src bin bison data ] ;
|
|
AddFilesToHaikuImage beos etc : $(bisonFiles) ;
|
|
|
|
# fresh install indicator file
|
|
SEARCH on <settings>fresh_install = [ FDirName $(HAIKU_TOP) data settings ] ;
|
|
AddFilesToHaikuImage home config settings : <settings>fresh_install ;
|
|
|
|
# boot loader
|
|
AddFilesToHaikuImage beos system : zbeos ;
|
|
|
|
# boot module links
|
|
AddBootModuleSymlinksToHaikuImage
|
|
pci $(X86_ONLY)isa config_manager ide scsi
|
|
$(PPC_ONLY)openpic
|
|
block_io fast_log ide_adapter locked_pool scsi_periph
|
|
ahci generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112 legacy_sata
|
|
scsi_cd scsi_dsk
|
|
intel
|
|
bfs
|
|
;
|
|
|
|
# add-ons
|
|
AddFilesToHaikuImage beos system add-ons accelerants
|
|
: $(BEOS_ADD_ONS_ACCELERANTS) ;
|
|
AddFilesToHaikuImage beos system add-ons opengl
|
|
: $(X86_ONLY)Mesa\ Software\ Renderer ;
|
|
AddFilesToHaikuImage beos system add-ons Translators
|
|
: $(BEOS_ADD_ONS_TRANSLATORS) ;
|
|
AddFilesToHaikuImage beos system add-ons mail_daemon inbound_protocols : POP3 IMAP ;
|
|
AddFilesToHaikuImage beos system add-ons mail_daemon outbound_protocols : SMTP ;
|
|
AddFilesToHaikuImage beos system add-ons mail_daemon inbound_filters : Match\ Header Spam\ Filter R5\ Daemon\ Filter ;
|
|
AddFilesToHaikuImage beos system add-ons mail_daemon outbound_filters : Fortune ;
|
|
AddFilesToHaikuImage beos system add-ons mail_daemon system_filters : Inbox New\ Mail\ Notification Outbox Message\ Parser ;
|
|
AddFilesToHaikuImage beos system add-ons media : $(BEOS_ADD_ONS_MEDIA) ;
|
|
AddFilesToHaikuImage beos system add-ons media plugins
|
|
: $(BEOS_ADD_ONS_MEDIA_PLUGINS) ;
|
|
AddFilesToHaikuImage beos system add-ons Tracker : FileType-F ZipOMatic-Z ;
|
|
AddSymlinkToHaikuImage beos system add-ons Tracker
|
|
: /boot/beos/preferences/Backgrounds : Background-B ;
|
|
AddFilesToHaikuImage beos system add-ons input_server devices
|
|
: <input>keyboard <input>mouse <input>wacom ;
|
|
AddFilesToHaikuImage beos system add-ons input_server filters : screen_saver ;
|
|
AddFilesToHaikuImage beos system add-ons kernel network
|
|
: stack socket ;
|
|
AddFilesToHaikuImage beos system add-ons kernel network devices
|
|
: $(BEOS_NETWORK_DEVICES) ;
|
|
AddFilesToHaikuImage beos system add-ons kernel network datalink_protocols
|
|
: $(BEOS_NETWORK_DATALINK_PROTOCOLS) ;
|
|
AddFilesToHaikuImage beos system add-ons kernel network ppp
|
|
: $(BEOS_NETWORK_PPP) ;
|
|
AddFilesToHaikuImage beos system add-ons kernel network protocols
|
|
: $(BEOS_NETWORK_PROTOCOLS) ;
|
|
AddFilesToHaikuImage beos system add-ons Print : $(BEOS_ADD_ONS_PRINT) ;
|
|
AddFilesToHaikuImage beos system add-ons Print transport
|
|
: $(BEOS_ADD_ONS_PRINT_TRANSPORT) ;
|
|
AddFilesToHaikuImage beos system add-ons Screen\ Savers
|
|
: $(BEOS_ADD_ONS_SCREENSAVERS) ;
|
|
|
|
AddFilesToHaikuImage beos system add-ons disk_systems
|
|
: <disk_system>intel <disk_system>bfs ;
|
|
|
|
AddDirectoryToHaikuImage home config add-ons Tracker ;
|
|
AddDirectoryToHaikuImage home config add-ons Screen\ Savers ;
|
|
AddDirectoryToHaikuImage home config add-ons Translators ;
|
|
AddDirectoryToHaikuImage beos etc synth ;
|
|
AddDirectoryToHaikuImage beos system add-ons input_server methods ;
|
|
|
|
#optional
|
|
AddFilesToHaikuImage optional beos system add-ons input_server methods : canna ;
|
|
|
|
# printers
|
|
AddDirectoryToHaikuImage home config settings printers Preview
|
|
: home-config-settings-printers-preview.rdef ;
|
|
AddDirectoryToHaikuImage home config settings printers "Save as PDF"
|
|
: home-config-settings-printers-save-as-pdf.rdef ;
|
|
|
|
|
|
#pragma mark - Tests
|
|
|
|
# PosixTestSuite
|
|
if $(HAIKU_ADD_POSIX_TEST_SUITE_TO_IMAGE) {
|
|
# add run script
|
|
AddFilesToHaikuImage home posixtestsuite : run_posix_tests ;
|
|
|
|
# add standard posix tests
|
|
AddFilesToHaikuImage home posixtestsuite conformance interfaces difftime
|
|
: difftime_1-1 ;
|
|
AddFilesToHaikuImage home posixtestsuite conformance interfaces fork
|
|
: fork_3-1 fork_4-1 fork_6-1 fork_8-1 fork_9-1 fork_12-1 ;
|
|
|
|
# add signal posix tests
|
|
AddFilesToHaikuImage home posixtestsuite conformance interfaces kill
|
|
: kill_2-1 ;
|
|
AddFilesToHaikuImage home posixtestsuite conformance interfaces sighold
|
|
: sighold_1-1 sighold_2-1 sighold_3-core-buildonly ;
|
|
AddFilesToHaikuImage home posixtestsuite conformance interfaces sigignore
|
|
: sigignore_1-1 sigignore_4-1 sigignore_5-core-buildonly
|
|
sigignore_6-1 sigignore_6-2 ;
|
|
AddFilesToHaikuImage home posixtestsuite conformance interfaces sigprocmask
|
|
: sigprocmask_8-1 sigprocmask_8-2 sigprocmask_8-3 sigprocmask_12-1 ;
|
|
AddFilesToHaikuImage home posixtestsuite conformance interfaces sigrelse
|
|
: sigrelse_1-1 sigrelse_2-1 sigrelse_3-core-buildonly ;
|
|
AddFilesToHaikuImage home posixtestsuite conformance interfaces signal
|
|
: signal_1-1 signal_2-1 signal_3-1 signal_5-1 signal_6-1 signal_7-1 ;
|
|
AddFilesToHaikuImage home posixtestsuite conformance interfaces sigset
|
|
: sigset_1-1 sigset_2-1 sigset_3-1 sigset_4-1 sigset_5-1 sigset_6-1
|
|
sigset_7-1 sigset_8-1 sigset_9-1 sigset_10-1 ;
|
|
|
|
# add pthreads tests
|
|
AddFilesToHaikuImage home posixtestsuite conformance interfaces pthread_getspecific
|
|
: pthread_getspecific_1-1 pthread_getspecific_3-1 ;
|
|
AddFilesToHaikuImage home posixtestsuite conformance interfaces pthread_key_create
|
|
: pthread_key_create_1-1 pthread_key_create_1-2 pthread_key_create_2-1
|
|
pthread_key_create_3-1 ;
|
|
AddFilesToHaikuImage home posixtestsuite conformance interfaces pthread_key_delete
|
|
: pthread_key_delete_1-1 pthread_key_delete_1-2 pthread_key_delete_2-1 ;
|
|
AddFilesToHaikuImage home posixtestsuite conformance interfaces pthread_once
|
|
: pthread_once_1-1 pthread_once_1-2 pthread_once_1-3 pthread_once_2-1 ;
|
|
AddFilesToHaikuImage home posixtestsuite conformance interfaces pthread_setspecific
|
|
: pthread_setspecific_1-1 pthread_setspecific_1-2 ;
|
|
}
|
|
|
|
|
|
#pragma mark - Optional Packages
|
|
|
|
|
|
# Development
|
|
if [ IsOptionalHaikuImagePackageAdded Development ]
|
|
&& $(TARGET_ARCH) = x86 {
|
|
# glue code
|
|
AddFilesToHaikuImage develop lib x86
|
|
: <src!system!glue!arch!x86>crti.o <src!system!glue!arch!x86>crtn.o
|
|
<src!system!glue>init_term_dyn.o <src!system!glue>start_dyn.o ;
|
|
|
|
# library symlinks
|
|
local lib ;
|
|
for lib in $(BEOS_SYSTEM_LIBS)
|
|
$(BEOS_SYSTEM_LIBS_LIBNETWORK_ALIASES) libglut.so {
|
|
AddSymlinkToHaikuImage develop lib x86 : /system/lib/$(lib:BS) ;
|
|
}
|
|
|
|
# cc and c++ wrapper scripts
|
|
AddFilesToHaikuImage beos bin : cc c++ ;
|
|
|
|
# headers
|
|
AddHeaderDirectoryToHaikuImage gnu ;
|
|
AddHeaderDirectoryToHaikuImage os ;
|
|
AddHeaderDirectoryToHaikuImage posix ;
|
|
|
|
# make be -> os symlink for now
|
|
AddSymlinkToHaikuImage develop headers : /boot/develop/headers/os : be ;
|
|
}
|
|
|
|
# Vision
|
|
if [ IsOptionalHaikuImagePackageAdded Vision ] {
|
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
|
Echo "No optional package Vision available for gcc4" ;
|
|
} else {
|
|
InstallOptionalHaikuImagePackage Vision
|
|
: http://vision.sf.net/Vision-0.9.7-H-26012008.zip
|
|
: apps
|
|
;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/apps/Vision-0.9.7-H-26012008/Vision ;
|
|
}
|
|
}
|
|
|
|
# WonderBrush
|
|
if [ IsOptionalHaikuImagePackageAdded WonderBrush ] {
|
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
|
Echo "No optional package WonderBrush available for gcc4" ;
|
|
} else {
|
|
InstallOptionalHaikuImagePackage WonderBrush
|
|
: http://www.yellowbites.com/downloads/WonderBrush-2.1.1-demo-x86-R5.zip
|
|
: apps
|
|
;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/apps/WonderBrush/WonderBrush ;
|
|
}
|
|
}
|
|
|
|
# OpenSound drivers
|
|
if [ IsOptionalHaikuImagePackageAdded OpenSound ] {
|
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
|
Echo "No optional package OpenSound available for gcc4" ;
|
|
} else {
|
|
InstallOptionalHaikuImagePackage OpenSound
|
|
: http://revolf.free.fr/beos/oss-beos-v4.1test-bin.zip
|
|
:
|
|
;
|
|
}
|
|
#UnzipArchiveToHaikuImage home : data/vv.mp3.zip : 0 ;
|
|
}
|
|
|
|
# Links web browser
|
|
if [ IsOptionalHaikuImagePackageAdded Links ] {
|
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
|
Echo "No optional package Links available for gcc4" ;
|
|
} else {
|
|
InstallOptionalHaikuImagePackage Links
|
|
: http://revolf.free.fr/beos/links-beos-bin.zip
|
|
:
|
|
;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/home/config/bin/links ;
|
|
}
|
|
}
|
|
|
|
# Pe text editor
|
|
if [ IsOptionalHaikuImagePackageAdded Pe ] {
|
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
|
Echo "No optional package Pe available for gcc4" ;
|
|
} else {
|
|
InstallOptionalHaikuImagePackage Pe
|
|
: http://dl.hirschkaefer.de/beos/pe-2.4-x86.zip
|
|
: apps
|
|
;
|
|
AddSymlinkToHaikuImage home config be Applications
|
|
: /boot/apps/pe-2.4-x86/pe ;
|
|
AddSymlinkToHaikuImage home config bin
|
|
: /boot/apps/pe-2.4-x86/lpe ;
|
|
}
|
|
}
|
|
|
|
#pragma mark - Build The Image
|
|
|
|
|
|
# Set image name and directory defaults and locate the image.
|
|
HAIKU_IMAGE_NAME ?= haiku.image ;
|
|
HAIKU_IMAGE_DIR ?= $(HAIKU_OUTPUT_DIR) ;
|
|
HAIKU_IMAGE ?= $(HAIKU_IMAGE_NAME) ;
|
|
HAIKU_IMAGE_SIZE ?= 100 ; # 100 MB
|
|
MakeLocate $(HAIKU_IMAGE) : $(HAIKU_IMAGE_DIR) ;
|
|
|
|
# Set the default installation directory.
|
|
HAIKU_INSTALL_DIR ?= /Haiku ;
|
|
|
|
# the pseudo target all image contents is attached to
|
|
NotFile $(HAIKU_IMAGE_CONTAINER_NAME) ;
|
|
|
|
# prepare the script that initializes the shell variables
|
|
HAIKU_IMAGE_INIT_VARIABLES_SCRIPT = <HaikuImage>haiku.image-init-vars ;
|
|
local script = $(HAIKU_IMAGE_INIT_VARIABLES_SCRIPT) ;
|
|
MakeLocate $(script) : $(HAIKU_OUTPUT_DIR) ;
|
|
Always $(script) ;
|
|
|
|
AddVariableToScript $(script) : sourceDir : $(HAIKU_TOP) ;
|
|
AddVariableToScript $(script) : outputDir : $(HAIKU_OUTPUT_DIR) ;
|
|
AddVariableToScript $(script) : tmpDir : $(HAIKU_TMP_DIR) ;
|
|
AddVariableToScript $(script) : installDir : $(HAIKU_INSTALL_DIR) ;
|
|
#AddVariableToScript $(script) : isImage : 1 ;
|
|
AddVariableToScript $(script) : imageSize : $(HAIKU_IMAGE_SIZE) ;
|
|
AddVariableToScript $(script) : addBuildCompatibilityLibDir
|
|
: $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ;
|
|
AddVariableToScript $(script) : dontClearImage : $(HAIKU_DONT_CLEAR_IMAGE) ;
|
|
AddVariableToScript $(script) : updateOnly : [ IsUpdateHaikuImageOnly ] ;
|
|
AddTargetVariableToScript $(script) : <build>bfs_shell : bfsShell ;
|
|
AddTargetVariableToScript $(script) : <build>fs_shell_command : fsShellCommand ;
|
|
AddTargetVariableToScript $(script) : <build>copyattr ;
|
|
AddTargetVariableToScript $(script) : <build>makebootable ;
|
|
AddTargetVariableToScript $(script) : <build>rc ;
|
|
AddTargetVariableToScript $(script) : <build>resattr ;
|
|
AddTargetVariableToScript $(script) : <build>unzip ;
|
|
AddTargetVariableToScript $(script) : <build>vmdkheader ;
|
|
AddVariableToScript $(script) : sourceDirsToCopy
|
|
: $(HAIKU_INSTALL_SOURCE_DIRS) ;
|
|
AddVariableToScript $(script) : headerDirsToCopy
|
|
: $(HAIKU_INSTALL_HEADER_DIRS) ;
|
|
|
|
# create the other scripts
|
|
HAIKU_IMAGE_MAKE_DIRS_SCRIPT = <HaikuImage>haiku.image-make-dirs ;
|
|
HAIKU_IMAGE_COPY_FILES_SCRIPT = <HaikuImage>haiku.image-copy-files ;
|
|
HAIKU_IMAGE_UNZIP_FILES_SCRIPT = <HaikuImage>haiku.image-unzip-files ;
|
|
MakeLocate $(HAIKU_IMAGE_MAKE_DIRS_SCRIPT) $(HAIKU_IMAGE_COPY_FILES_SCRIPT)
|
|
$(HAIKU_IMAGE_UNZIP_FILES_SCRIPT) : $(HAIKU_OUTPUT_DIR) ;
|
|
|
|
CreateHaikuImageMakeDirectoriesScript $(HAIKU_IMAGE_MAKE_DIRS_SCRIPT) ;
|
|
CreateHaikuImageCopyFilesScript $(HAIKU_IMAGE_COPY_FILES_SCRIPT) ;
|
|
CreateHaikuImageUnzipFilesScript $(HAIKU_IMAGE_UNZIP_FILES_SCRIPT) ;
|
|
|
|
# Convenience wrapper rule around BuildHaikuImage.
|
|
rule _BuildHaikuImage image : isImage : isVMwareImage
|
|
{
|
|
# _BuildHaikuImage <image target> : <isImage> : <isVMwareImage> ;
|
|
#
|
|
|
|
# build the image
|
|
# HAIKU_IMAGE_EARLY_USER_SCRIPTS, HAIKU_IMAGE_LATE_USER_SCRIPTS can be
|
|
# specified by the user.
|
|
BuildHaikuImage $(image) :
|
|
$(HAIKU_IMAGE_INIT_VARIABLES_SCRIPT)
|
|
$(HAIKU_IMAGE_EARLY_USER_SCRIPTS)
|
|
$(HAIKU_IMAGE_MAKE_DIRS_SCRIPT)
|
|
$(HAIKU_IMAGE_COPY_FILES_SCRIPT)
|
|
$(HAIKU_IMAGE_UNZIP_FILES_SCRIPT)
|
|
$(HAIKU_IMAGE_LATE_USER_SCRIPTS)
|
|
: $(isImage)
|
|
: $(isVMwareImage)
|
|
;
|
|
|
|
# remove the scripts we have generated
|
|
RmTemps $(image) :
|
|
$(HAIKU_IMAGE_INIT_VARIABLES_SCRIPT)
|
|
$(HAIKU_IMAGE_MAKE_DIRS_SCRIPT)
|
|
$(HAIKU_IMAGE_COPY_FILES_SCRIPT)
|
|
$(HAIKU_IMAGE_UNZIP_FILES_SCRIPT)
|
|
;
|
|
}
|
|
|
|
# build the image
|
|
_BuildHaikuImage $(HAIKU_IMAGE) : true ;
|
|
NotFile haiku-image ;
|
|
Depends haiku-image : $(HAIKU_IMAGE) ;
|
|
|
|
|
|
# install Haiku into a directory
|
|
NotFile install-haiku ;
|
|
_BuildHaikuImage install-haiku : 0 ;
|
|
|
|
|
|
# build the VMware image
|
|
HAIKU_VMWARE_IMAGE_NAME ?= haiku.vmdk ;
|
|
HAIKU_VMWARE_IMAGE ?= $(HAIKU_VMWARE_IMAGE_NAME) ;
|
|
MakeLocate $(HAIKU_VMWARE_IMAGE) : $(HAIKU_IMAGE_DIR) ;
|
|
|
|
_BuildHaikuImage $(HAIKU_VMWARE_IMAGE) : true : true ;
|
|
NotFile haiku-vmware-image ;
|
|
Depends haiku-vmware-image : $(HAIKU_VMWARE_IMAGE) ;
|