Fixed binary search: no more infinite loops when vendor is unknown.
[tangerine.git] / arch / i386-pc / boot / floppy / mmakefile.src
bloba8d9e5ff6d0a71674cf0807991adf3e0c097e5f0
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-package-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                     arch-common-boot-generatebootsig  \
14 #MM                     bootloader-$(AROS_TARGET_BOOTLOADER)-$(AROS_TARGET_ARCH)-$(AROS_TARGET_CPU)
16 SYSTEM_FILES := \
17     C/Shell \
18     C/Unpack \
19     Libs/locale.library \
20     Libs/iffparse.library \
21     AROS.boot
23 BOOT_EXTRA_FILES :=
25 BOOT_TAR_EXECUTABLES := \
26     C/AddBuffers C/AddDatatypes C/Alias C/Ask C/Assign C/Avail C/Break C/CD \
27     C/ChangeTaskPri C/Copy C/Date C/Delete C/Dir C/DiskChange C/Echo C/Else \
28     C/EndCLI C/EndIf C/EndSkip C/Execute C/FailAt C/Fault C/Filenote System/Format \
29     C/Get C/Getenv C/IPrefs C/If C/Info C/Join C/Lab C/List \
30     C/MakeDir C/MakeLink C/Mount C/NewShell C/Path C/Prompt C/Protect C/Quit \
31     C/Reboot C/Relabel C/Rename C/Resident C/Run C/Search C/Set C/SetClock \
32     C/SetDate C/Setenv C/Skip C/Stack C/Status C/Touch C/Type C/Unalias \
33     C/Unset C/Unsetenv C/Version C/Which C/Why C/install-i386-pc \
34     C/Partition \
35     Classes/Datatypes/ascii.datatype \
36     Classes/Datatypes/binary.datatype \
37     Classes/Datatypes/text.datatype \
38     Classes/Datatypes/picture.datatype \
39     Classes/Datatypes/ilbm.datatype \
40     Classes/Datatypes/png.datatype \
41     Classes/Zune/AboutWindow.mcc \
42     Classes/Zune/Calendar.mcc \
43     Classes/Zune/Clock.mcc \
44     Classes/Zune/IconDrawerList.mui \
45     Classes/Zune/IconImage.mcc \
46     Classes/Zune/IconList.mui \
47     Classes/Zune/IconListview.mui \
48     Classes/Zune/IconDrawerList.mui \
49     Classes/Zune/IconVolumeList.mui Classes/Zune/PrefsWindow.mcc \
50     Classes/Zune/PrefsEditor.mcc Classes/Zune/SystemPrefsWindow.mcc \
51     Devs/clipboard.device \
52     Devs/serial.device \
53     Devs/pipefs.handler \
54     Libs/arosc.library Libs/asl.library Libs/commodities.library \
55     Libs/datatypes.library Libs/diskfont.library Libs/gadtools.library \
56     Libs/icon.library \
57     Libs/reqtools.library Libs/muimaster.library Libs/coolimages.library \
58     Prefs/Font \
59     Prefs/Time \
60     System/About System/FixFonts \
61     System/Wanderer/Wanderer \
62     System/Wanderer/Tools/Delete System/Wanderer/Tools/DiskInfo \
63     System/Wanderer/Tools/ExecuteCommand \
64     System/Wanderer/Tools/ExecuteStartup \
65     System/Wanderer/Tools/Info System/Wanderer/Tools/WBNewDrawer \
66     System/Wanderer/Tools/WBRename \
67     Tools/HDToolBox \
68     Tools/Debug/sashimi \
69     Utilities/MultiView
72 BOOT_TAR_ICONS := \
73     Devs.info \
74     Fonts.info \
75     Locale.info \
76     Prefs.info \
77     Prefs/Font.info \
78     Prefs/Time.info \
79     System.info \
80     System/FixFonts.info \
81     System/Wanderer/Wanderer.info \
82     System/Wanderer/Tools/Delete.info System/Wanderer/Tools/DiskInfo.info \
83     System/Wanderer/Tools/ExecuteCommand.info System/Wanderer/Tools/Info.info \
84     System/Wanderer/Tools/WBNewDrawer.info System/Wanderer/Tools/WBRename.info \
85     Tools.info \
86     Tools/HDToolBox.info \
87     Tools/Debug.info \
88     Tools/Debug/Sashimi.info \
89     Utilities.info
92 BOOT_TAR_MISC := \
93     Devs/DataTypes/ELF Devs/DataTypes/ELF_EXE Devs/DataTypes/ILBM \
94     Devs/DataTypes/FTXT Devs/DOSDrivers/PIPEFS \
95     Devs/Keymaps Devs/Mountlist \
96     Fonts/fixed/8 Fonts/arial/13 Fonts/ttcourier/14 \
97     Locale/Countries Locale/Help \
98     Prefs/Env-Archive/hdtoolbox.prefs \
99     Prefs/Env-Archive/SYS/font.prefs Prefs/Env-Archive/SYS/theme.var \
100     Prefs/Env-Archive/SYS/def_Disk.info \
101     Prefs/Env-Archive/SYS/def_Drawer.info \
102     Prefs/Env-Archive/SYS/def_Project.info \
103     Prefs/Env-Archive/SYS/def_RAM.info \
104     Prefs/Env-Archive/SYS/def_Tool.info \
105     S/Shell-Startup S/Startup-Sequence \
106     System/Themes/Mason \
107     System/Themes/$(AROS_GUI_THEME)
110 BOOT_SRC_DIR    := $(AROSDIR)
111 BOOT_DEST_DIR   := $(OSGENDIR)/boot/bootdisk
112 SYSTEM_DEST_DIR := $(OSGENDIR)/boot/systemdisk
114 ifeq ($(AROS_TARGET_BOOTLOADER),grub)
115 BOOT_FILES += boot/grub/menu.lst boot/grub/stage1
116 BOOT_TAR_MISC += boot/grub/menu.lst.DH0 boot/grub/stage2
117 BOOT_EXTRA_FILES += $(BOOT_DEST_DIR)/boot/grub/stage2
119 $(BOOT_DEST_DIR)/boot/grub/stage2 $(SYSTEM_DEST_DIR)/boot/grub/stage2:
120         @$(CP) $(AROSDIR)/boot/grub/stage2_hdisk $@
121 endif
123 ifeq ($(AROS_TARGET_BOOTLOADER),grub2)
124 BOOT_FILES += boot/grub/grub.cfg
125 BOOT_TAR_MISC += boot/grub/grub.cfg
126 endif
128 BOOT_TAR_FILES := $(BOOT_TAR_EXECUTABLES) $(BOOT_TAR_ICONS) $(BOOT_TAR_MISC)
130 BOOT_DEST_FILES := $(foreach f, $(BOOT_FILES), $(BOOT_DEST_DIR)/$(f))
132 SYSTEM_DEST_FILES := $(foreach f, $(SYSTEM_FILES), $(SYSTEM_DEST_DIR)/$(f))
135 bootdisk-setup-pc-i386 :
136         %mkdirs_q "$(AROSDIR)/Tools/Boot Disks"
137         -$(RM) -rf $(BOOT_DEST_DIR)
138         %mkdirs_q $(BOOT_DEST_DIR)
139         %mkdirs_q $(BOOT_DEST_DIR)/boot/grub
142 systemdisk-setup-pc-i386 :
143         %mkdirs_q "$(AROSDIR)/Tools/Boot Disks"
144         -$(RM) -rf $(SYSTEM_DEST_DIR)
145         %mkdirs_q $(SYSTEM_DEST_DIR)
146         %mkdirs_q $(SYSTEM_DEST_DIR)/C
147         %mkdirs_q $(SYSTEM_DEST_DIR)/Libs
148         %mkdirs_q $(SYSTEM_DEST_DIR)/S
150 #MM workbench-boot-pc-i386
151 workbench-boot-pc-i386:
152         @$(NOP)
154 bootdisk-pc-i386: $(DISTDIR)/aros-pc-i386.img
155 systemdisk-pc-i386: $(DISTDIR)/system-pc-i386.img
157 .PHONY: bootdisk-pc-i386-quick systemdisk-pc-i386-quick
160 bootdisk-pc-i386-quick : bootdisk-pc-i386
163 systemdisk-pc-i386-quick : systemdisk-pc-i386
165 $(DISTDIR)/aros-pc-i386.img: $(BOOT_DEST_FILES) $(BOOT_EXTRA_FILES) \
166  $(BOOT_DEST_DIR)/boot/aros-pc-i386.gz \
167  $(GENDIR)/$(CURDIR)/install-$(AROS_HOST_ARCH)-$(AROS_HOST_CPU)
168         @$(MKDIR) -p "$(DISTDIR)"
169         $(RM) $@
170         $(COPYTOAFS) $@ --name "AROS Boot Floppy" --size floppy1440 $(BOOT_DEST_DIR)
171         $(GENDIR)/$(CURDIR)/install-$(AROS_HOST_ARCH)-$(AROS_HOST_CPU) $@
173 $(DISTDIR)/system-pc-i386.img: $(SYSTEM_DEST_FILES) \
174  $(SYSTEM_DEST_DIR)/AROS.pkg $(SYSTEM_DEST_DIR)/S/Startup-Sequence
175         @$(MKDIR) -p "$(DISTDIR)"
176         $(RM) $@
177         $(COPYTOAFS) $@ --name "AROS Live Floppy" --size floppy1440 $(SYSTEM_DEST_DIR)
179 $(SYSTEM_DEST_DIR)/S/Startup-Sequence:
180         @$(CP) $(TOP)/workbench/s/Startup-Sequence.DEMOFLOPPY $@
182 $(GENDIR)/$(CURDIR)/install-$(AROS_HOST_ARCH)-$(AROS_HOST_CPU): install.c
183         @$(MKDIR) -p $(GENDIR)/$(CURDIR)
184         @$(HOST_CC) install.c -o $(GENDIR)/$(CURDIR)/install-$(AROS_HOST_ARCH)-$(AROS_HOST_CPU)
186 $(SYSTEM_DEST_DIR)/AROS.pkg : $(addprefix $(BOOT_SRC_DIR)/,$(BOOT_TAR_FILES))
187         @$(RM) -rf $(OSGENDIR)/boot/bootdisk.compressed
188         @$(MKDIR) -p $(OSGENDIR)/boot/bootdisk.compressed
189         @$(MKDIR) -p $(OSGENDIR)/boot/bootdisk.compressed/S
190         @$(CP) $(TOP)/workbench/s/Startup-Sequence $(OSGENDIR)/boot/bootdisk.compressed/S/Startup-Sequence
191         @( \
192             oldpwd=$$PWD; \
193             cd $(BOOT_SRC_DIR) && \
194             for path in $(BOOT_TAR_EXECUTABLES); do \
195                 $(SH) $(TOP)/$(CURDIR)/copypath $$path $(OSGENDIR)/boot/bootdisk.compressed ; \
196                                 $(TARGET_STRIP) --strip-unneeded -R .note -R .comment $(OSGENDIR)/boot/bootdisk.compressed/$$path ; \
197             done && \
198             for path in $(BOOT_TAR_ICONS); do \
199                 $(SH) $(TOP)/$(CURDIR)/copypath $$path $(OSGENDIR)/boot/bootdisk.compressed ; \
200             done && \
201             for path in $(BOOT_TAR_MISC); do \
202                 $(SH) $(TOP)/$(CURDIR)/copypath $$path $(OSGENDIR)/boot/bootdisk.compressed ; \
203             done && \
204             cd $(OSGENDIR)/boot/ && \
205             $(RM) AROS.pkg && \
206             $(TOP)/tools/package/pkg c AROS.pkg bootdisk.compressed && \
207             bzip2 -9 AROS.pkg && \
208             mv -f AROS.pkg.bz2 $(SYSTEM_DEST_DIR)/AROS.pkg \
209         )
211 $(BOOT_DEST_DIR)/% : $(BOOT_SRC_DIR)/%
212         @$(CP) $< $@
214 $(SYSTEM_DEST_DIR)/% : $(BOOT_SRC_DIR)/%
215         @$(CP) $< $@
218 install-bootdisk :
219         @$(ECHO) "Insert blank floppy-disk in /dev/fd0 and press enter."
220         @read
221         @$(ECHO) "Writing AROS Boot Image to floppy..."
222         @dd if=$(DISTDIR)/aros-pc-i386.img of=/dev/fd0
225 install-systemdisk :
226         @$(ECHO) "Insert blank floppy-disk in /dev/fd0 and press enter."
227         @read
228         @$(ECHO) "Writing AROS System Image to floppy..."
229         @dd if=$(DISTDIR)/system-pc-i386.img of=/dev/fd0
232 install-pc-i386 :
233         @$(ECHO) -n "Copying AROS kernel to /aros/boot directory... "
234         @cp $(BINDIR)/boot/aros-pc-i386 /aros/boot/
235         @$(ECHO) "Done."
238 clean ::
239         -$(RM) $(TESTS)
241 %common