System floppy:
[AROS.git] / arch / i386-pc / boot / floppy / mmakefile.src
blob35475008a0690ca35dc8e300cb865cb55e8817c9
1 # $Id$
2 include $(TOP)/config/make.cfg
4 .PHONY: $(DISTDIR)/aros-pc-i386.img $(DISTDIR)/system-pc-i386.img
6 #MM bootdisk-pc-i386 : AROS             \
7 #MM                     bootdisk-setup-pc-i386 \
8 #MM                     kernel-link-pc-i386 \
9 #MM                     bootloader-$(AROS_TARGET_BOOTLOADER)-$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU)
11 #MM systemdisk-pc-i386 : AROS           \
12 #MM                     systemdisk-setup-pc-i386 \
13 #MM                     bootloader-$(AROS_TARGET_BOOTLOADER)-$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU)
15 SYSTEM_FILES := \
16     AROS.boot \
17     C/Unpack \
18     L/UserShell-Seg \
19     Libs/iffparse.library \
20     Libs/locale.library
22 MODULES_DEFAULT := $(SRCDIR)/$(CURDIR)/../modules.default
23 MODULE_BOOTSTRAP := /$(AROS_DIR_ARCH)/bootstrap.gz
24 MODULE_LEGACY := /$(AROS_DIR_ARCH)/aros-legacy.pkg.gz
25 BOOT_FILES := $(MODULE_BOOTSTRAP) $(shell cat $(MODULES_DEFAULT)) \
26  $(MODULE_LEGACY)
28 BOOT_EXTRA_FILES :=
30 BOOT_TAR_EXECUTABLES := \
31     C/AddBuffers C/AddDataTypes C/Alias C/Ask C/Assign C/Avail C/Break C/CD \
32     C/ChangeTaskPri C/Copy C/Date C/Delete C/Dir C/DiskChange C/Echo C/Else \
33     C/EndCLI C/EndIf C/EndSkip C/Execute C/FailAt C/Fault C/Filenote System/Format \
34     C/Get C/Getenv C/IPrefs C/If C/Info C/Join C/Lab C/List \
35     C/MakeDir C/MakeLink C/Mount C/NewShell C/Path C/Prompt C/Protect C/Quit \
36     C/Reboot C/Relabel C/Rename C/Resident C/Run C/Set C/SetClock \
37     C/SetDate C/Setenv C/Skip C/Stack C/Status C/Touch C/Type C/Unalias \
38     C/Unset C/Unsetenv C/Why C/install-i386-pc \
39     C/Partition \
40     Classes/DataTypes/picture.datatype \
41     Classes/DataTypes/ilbm.datatype \
42     Classes/DataTypes/png.datatype \
43     Classes/Zune/AboutWindow.mcc \
44     Classes/Zune/Calendar.mcc \
45     Classes/Zune/Clock.mcc \
46     Classes/Zune/IconDrawerList.mui \
47     Classes/Zune/IconImage.mcc \
48     Classes/Zune/IconList.mui \
49     Classes/Zune/IconListview.mui \
50     Classes/Zune/IconDrawerList.mui \
51     Classes/Zune/IconVolumeList.mui Classes/Zune/PrefsWindow.mcc \
52     Classes/Zune/PrefsEditor.mcc Classes/Zune/SystemPrefsWindow.mcc \
53     Devs/clipboard.device \
54     L/pipe-handler \
55     Libs/stdc.library Libs/stdcio.library Libs/posixc.library \
56     Libs/png_au.library Libs/z_au.library Libs/uuid.library \
57     Libs/asl.library Libs/commodities.library \
58     Libs/cybergraphics.library \
59     Libs/datatypes.library Libs/diskfont.library Libs/gadtools.library \
60     Libs/icon.library Libs/kms.library Libs/workbench.library \
61     Libs/reqtools.library Libs/muimaster.library Libs/coolimages.library \
62     Prefs/Font \
63     Prefs/Time \
64     System/About System/FixFonts \
65     System/Wanderer/Wanderer \
66     System/Wanderer/Tools/Delete System/Wanderer/Tools/DiskInfo \
67     System/Wanderer/Tools/ExecuteCommand \
68     System/Wanderer/Tools/ExecuteStartup \
69     System/Wanderer/Tools/Info System/Wanderer/Tools/WBNewDrawer \
70     System/Wanderer/Tools/WBRename \
71     Tools/HDToolBox \
72     Tools/Debug/sashimi
75 BOOT_TAR_ICONS := \
76     Devs.info \
77     Fonts.info \
78     Locale.info \
79     Prefs.info \
80     Prefs/Font.info \
81     Prefs/Time.info \
82     System.info \
83     System/FixFonts.info \
84     System/Wanderer/Wanderer.info \
85     System/Wanderer/Tools/Delete.info System/Wanderer/Tools/DiskInfo.info \
86     System/Wanderer/Tools/ExecuteCommand.info System/Wanderer/Tools/Info.info \
87     System/Wanderer/Tools/WBNewDrawer.info System/Wanderer/Tools/WBRename.info \
88     Tools.info \
89     Tools/HDToolBox.info \
90     Tools/Debug.info \
91     Tools/Debug/Sashimi.info \
92     Utilities.info
95 BOOT_TAR_MISC := \
96     Devs/DataTypes/ELF Devs/DataTypes/ELF_EXE Devs/DataTypes/ILBM \
97     Devs/DataTypes/FTXT Devs/DOSDrivers/PIPE \
98     Devs/Keymaps Devs/Mountlist \
99     Fonts/fixed/8 Fonts/arial/13 Fonts/ttcourier/14 \
100     Locale/Countries \
101     Prefs/Env-Archive/hdtoolbox.prefs \
102     Prefs/Env-Archive/SYS/font.prefs Prefs/Env-Archive/SYS/theme.var \
103     Prefs/Env-Archive/SYS/def_Disk.info \
104     Prefs/Env-Archive/SYS/def_Drawer.info \
105     Prefs/Env-Archive/SYS/def_Project.info \
106     Prefs/Env-Archive/SYS/def_RAM.info \
107     Prefs/Env-Archive/SYS/def_Tool.info \
108     Prefs/Presets/Themes/Mason \
109     Prefs/Presets/Themes/$(AROS_GUI_THEME) \
110     S
113 BOOT_SRC_DIR    := $(AROSDIR)
114 BOOT_DEST_DIR   := $(OSGENDIR)/boot/bootdisk
115 SYSTEM_DEST_DIR := $(OSGENDIR)/boot/systemdisk
117 ifeq ($(AROS_TARGET_BOOTLOADER),grub)
118 BOOT_FILES += $(AROS_DIR_ARCH)/grub/stage1
119 BOOT_TAR_MISC += $(AROS_DIR_ARCH)/grub/menu.lst.DH0 $(AROS_DIR_ARCH)/grub/stage2
120 BOOT_EXTRA_FILES += $(BOOT_DEST_DIR)/$(AROS_DIR_ARCH)/grub/stage2
122 $(BOOT_DEST_DIR)/$(AROS_DIR_ARCH)/grub/stage2 $(SYSTEM_DEST_DIR)/$(AROS_DIR_ARCH)/grub/stage2:
123         @$(CP) $(AROSARCHDIR)/grub/stage2_hdisk $@
124 endif
126 ifeq ($(AROS_TARGET_BOOTLOADER),grub2)
127 BOOT_FILES += $(AROS_DIR_ARCH)/grub/grub.cfg
128 BOOT_TAR_MISC += $(AROS_DIR_ARCH)/grub/grub.cfg
129 endif
131 BOOT_TAR_FILES := $(BOOT_TAR_EXECUTABLES) $(BOOT_TAR_ICONS) $(BOOT_TAR_MISC)
133 BOOT_DEST_FILES := $(foreach f, $(BOOT_FILES), $(BOOT_DEST_DIR)/$(f))
135 SYSTEM_DEST_FILES := $(foreach f, $(SYSTEM_FILES), $(SYSTEM_DEST_DIR)/$(f))
138 bootdisk-setup-pc-i386 :
139         @$(MKDIR) "$(AROSDIR)/Tools/Boot Disks"
140         -$(RM) $(BOOT_DEST_DIR)
141         %mkdirs_q $(BOOT_DEST_DIR)
142         %mkdirs_q $(BOOT_DEST_DIR)/$(AROS_DIR_ARCH)/grub
143         @$(ECHO) Generating $(SRCDIR)/$(CURDIR)/menu.lst...
144         @$(SED) -e \
145          's#@modules.default@#sed "s\#^\#    module \#g" $(MODULES_DEFAULT)#e' \
146          -e 's#@module.bootstrap@#$(MODULE_BOOTSTRAP)#g' \
147          $(SRCDIR)/$(CURDIR)/menu.lst \
148          > $(BOOT_DEST_DIR)/$(AROS_DIR_ARCH)/grub/menu.lst
151 systemdisk-setup-pc-i386 :
152         @$(MKDIR) "$(AROSDIR)/Tools/Boot Disks"
153         -$(RM) $(SYSTEM_DEST_DIR)
154         %mkdirs_q $(SYSTEM_DEST_DIR)
155         %mkdirs_q $(SYSTEM_DEST_DIR)/C
156         %mkdirs_q $(SYSTEM_DEST_DIR)/L
157         %mkdirs_q $(SYSTEM_DEST_DIR)/Libs
158         %mkdirs_q $(SYSTEM_DEST_DIR)/S
160 #MM workbench-boot-pc-i386
161 workbench-boot-pc-i386:
162         @$(NOP)
164 bootdisk-pc-i386: $(DISTDIR)/aros-pc-i386.img
165 systemdisk-pc-i386: $(DISTDIR)/system-pc-i386.img
167 .PHONY: bootdisk-pc-i386-quick systemdisk-pc-i386-quick
170 bootdisk-pc-i386-quick : bootdisk-pc-i386
173 systemdisk-pc-i386-quick : systemdisk-pc-i386
175 $(DISTDIR)/aros-pc-i386.img: $(BOOT_DEST_FILES) $(BOOT_EXTRA_FILES) \
176  $(AROSARCHDIR)/bootstrap.gz \
177  $(GENDIR)/$(CURDIR)/install-$(AROS_HOST_ARCH)-$(AROS_HOST_CPU)
178         @$(MKDIR) -p "$(DISTDIR)"
179         $(RM) $@
180         $(COPYTOAFS) $@ --name "AROS Boot Floppy" --size floppy1440 $(BOOT_DEST_DIR)
181         $(GENDIR)/$(CURDIR)/install-$(AROS_HOST_ARCH)-$(AROS_HOST_CPU) $@
183 $(DISTDIR)/system-pc-i386.img: $(SYSTEM_DEST_FILES) \
184  $(SYSTEM_DEST_DIR)/AROS.pkg $(SYSTEM_DEST_DIR)/S/Startup-Sequence
185         @$(MKDIR) -p "$(DISTDIR)"
186         $(RM) $@
187         $(COPYTOAFS) $@ --name "AROS Live Floppy" --size floppy1440 $(SYSTEM_DEST_DIR)
189 $(SYSTEM_DEST_DIR)/S/Startup-Sequence:
190         @$(CP) $(SRCDIR)/workbench/s/Startup-Sequence.DEMOFLOPPY $@
192 $(GENDIR)/$(CURDIR)/install-$(AROS_HOST_ARCH)-$(AROS_HOST_CPU): $(SRCDIR)/$(CURDIR)/install.c
193         echo $(GENDIR)/$(CURDIR)
194         @$(MKDIR) -p $(GENDIR)/$(CURDIR)
195         @$(HOST_CC) $(HOST_CFLAGS) $(SRCDIR)/$(CURDIR)/install.c -o $(GENDIR)/$(CURDIR)/install-$(AROS_HOST_ARCH)-$(AROS_HOST_CPU)
197 $(SYSTEM_DEST_DIR)/AROS.pkg : $(addprefix $(BOOT_SRC_DIR)/,$(BOOT_TAR_FILES))
198         @$(RM) -rf $(OSGENDIR)/boot/bootdisk.compressed
199         @$(MKDIR) -p $(OSGENDIR)/boot/bootdisk.compressed
200         @$(MKDIR) -p $(OSGENDIR)/boot/bootdisk.compressed/S
201         @$(CP) $(SRCDIR)/workbench/s/Startup-Sequence $(OSGENDIR)/boot/bootdisk.compressed/S/Startup-Sequence
202         @( \
203             oldpwd=$$PWD; \
204             cd $(BOOT_SRC_DIR) && \
205             for path in $(BOOT_TAR_EXECUTABLES); do \
206                 $(SH) $(SRCDIR)/$(CURDIR)/copypath $$path $(OSGENDIR)/boot/bootdisk.compressed ; \
207                                 $(TARGET_STRIP) --strip-unneeded -R .note -R .comment $(OSGENDIR)/boot/bootdisk.compressed/$$path ; \
208             done && \
209             for path in $(BOOT_TAR_ICONS); do \
210                 $(SH) $(SRCDIR)/$(CURDIR)/copypath $$path $(OSGENDIR)/boot/bootdisk.compressed ; \
211             done && \
212             for path in $(BOOT_TAR_MISC); do \
213                 $(SH) $(SRCDIR)/$(CURDIR)/copypath $$path $(OSGENDIR)/boot/bootdisk.compressed ; \
214             done && \
215             cd $(OSGENDIR)/boot/ && \
216             $(RM) AROS.pkg && \
217             $(SRCDIR)/tools/package/pkg c AROS.pkg bootdisk.compressed && \
218             bzip2 -9 AROS.pkg && \
219             mv -f AROS.pkg.bz2 $(SYSTEM_DEST_DIR)/AROS.pkg \
220         )
222 $(BOOT_DEST_DIR)/% : $(BOOT_SRC_DIR)/%
223         @$(CP) $< $@
225 $(SYSTEM_DEST_DIR)/% : $(BOOT_SRC_DIR)/%
226         @$(CP) $< $@
229 install-bootdisk :
230         @$(ECHO) "Insert blank floppy-disk in /dev/fd0 and press enter."
231         @read
232         @$(ECHO) "Writing AROS Boot Image to floppy..."
233         @dd if=$(DISTDIR)/aros-pc-i386.img of=/dev/fd0
236 install-systemdisk :
237         @$(ECHO) "Insert blank floppy-disk in /dev/fd0 and press enter."
238         @read
239         @$(ECHO) "Writing AROS System Image to floppy..."
240         @dd if=$(DISTDIR)/system-pc-i386.img of=/dev/fd0
243 install-pc-i386 :
244         @$(ECHO) -n "Copying AROS kernel to /aros/boot directory... "
245         @cp $(AROSARCHDIR)/kernel /aros/boot/kernel-pc-i386
246         @$(ECHO) "Done."
249 clean ::
250         -$(RM) $(TESTS)
252 %common