]>
Commit | Line | Data |
---|---|---|
32881254 MT |
1 | ############################################################################### |
2 | # # | |
3 | # IPFire.org - A linux based firewall # | |
4 | # Copyright (C) 2007 Michael Tremer & Christian Schmidt # | |
5 | # # | |
6 | # This program is free software: you can redistribute it and/or modify # | |
7 | # it under the terms of the GNU General Public License as published by # | |
8 | # the Free Software Foundation, either version 3 of the License, or # | |
9 | # (at your option) any later version. # | |
10 | # # | |
11 | # This program is distributed in the hope that it will be useful, # | |
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of # | |
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # | |
14 | # GNU General Public License for more details. # | |
15 | # # | |
16 | # You should have received a copy of the GNU General Public License # | |
17 | # along with this program. If not, see <http://www.gnu.org/licenses/>. # | |
18 | # # | |
19 | ############################################################################### | |
20 | ||
21 | ############################################################################### | |
22 | # Definitions | |
23 | ############################################################################### | |
24 | ||
25 | include Config | |
26 | ||
27 | VER = ipfire | |
28 | ||
29 | THISAPP = images | |
30 | ||
32881254 MT |
31 | PASS = $(firstword $(MAKEFILE_LIST)) |
32 | ||
33 | ifeq "$(PASS)" "pxe" | |
34 | PREFIX = $(SNAME)-$(VERSION) | |
35 | else | |
36 | PREFIX = isolinux | |
37 | endif | |
38 | ||
6679675b | 39 | OBJECT = $(DIR_INFO)/$(STAGE_ORDER)_$(STAGE)/$(THISAPP) |
32881254 | 40 | |
51d841ec MT |
41 | ROOTFILES = $(DIR_SOURCE)/rootfiles/core |
42 | ifeq "$(BUILD_DEBUG)" "1" | |
43 | ROOTFILES += $(DIR_SOURCE)/rootfiles/debug | |
44 | endif | |
45 | ||
32881254 MT |
46 | ############################################################################### |
47 | # Top-level Rules | |
48 | ############################################################################### | |
49 | ||
6679675b | 50 | install : $(OBJECT) |
32881254 MT |
51 | |
52 | download : | |
53 | ||
54 | ############################################################################### | |
55 | # Installation Details | |
56 | ############################################################################### | |
57 | ||
6679675b | 58 | $(OBJECT) : |
32881254 MT |
59 | @rm -rf $(CDROM_DIR)/* $(CDROM_DIR)/.$(SNAME)info |
60 | ||
b36abb20 MT |
61 | ifeq "$(PASS)" "$(THISAPP)" |
62 | @rm -f $(IMAGES_DIR)/$(SNAME)-$(VERSION).img | |
63 | mkdir -pv $(CDROM_DIR)/tmp | |
32881254 | 64 | |
1453ab9b MT |
65 | TARGET=$(TARGET) KVER=$(KVER) \ |
66 | $(DIR_SOURCE)/scripts/archive.files $(ROOTFILES) > $(CDROM_DIR)/archive.files | |
32881254 | 67 | |
9afc94e7 MT |
68 | cd / && cpio -pd $(CDROM_DIR)/tmp < $(CDROM_DIR)/archive.files \ |
69 | 2>$(CDROM_DIR)/archive.errors | |
32881254 MT |
70 | |
71 | @cat $(CDROM_DIR)/archive.errors | |
72 | @if grep -q "No such file or directory" < $(CDROM_DIR)/archive.errors; then \ | |
73 | exit 1; \ | |
74 | fi | |
75 | ||
4c5e970d | 76 | cd $(CDROM_DIR)/tmp && mksquashfs * $(IMAGES_DIR)/$(SNAME)-$(VERSION).img -b 1M |
b36abb20 MT |
77 | endif |
78 | ||
79 | ifeq "$(PASS)" "pxe" | |
80 | mkdir -pv $(CDROM_DIR)/{pxelinux.cfg,$(PREFIX)} | |
81 | endif | |
82 | ||
83 | ifeq "$(PASS)" "cdrom" | |
84 | mkdir -pv $(CDROM_DIR)/{isolinux,doc} | |
85 | ||
86 | cp -vf $(IMAGES_DIR)/$(SNAME)-$(VERSION).img $(CDROM_DIR) | |
32ab3b85 | 87 | cd $(CDROM_DIR) && unsquashfs -ls $(SNAME)-$(VERSION).img > $(SNAME)-$(VERSION).ls |
32881254 | 88 | |
4c5e970d | 89 | cd $(INSTALLER_DIR) && mksquashfs * $(CDROM_DIR)/pomona-$(VERSION).overlay -b 1M |
069cf07a | 90 | |
32881254 | 91 | # These files won't be included in the iso |
9afc94e7 | 92 | @rm -rf $(CDROM_DIR)/archive.{files,errors} $(CDROM_DIR)/tmp |
32881254 MT |
93 | |
94 | # Other files | |
95 | sed 's/VERSION/$(VERSION)/' $(DIR_CONF)/cdrom/README.txt > $(CDROM_DIR)/README | |
96 | cp -vf $(DIR_SRC)/doc/COPYING $(CDROM_DIR) | |
97 | cp -vf $(DIR_SRC)/doc/{ChangeLog,packages-list.txt} $(CDROM_DIR)/doc | |
98 | endif | |
99 | ||
b36abb20 | 100 | ifneq "$(PASS)" "$(THISAPP)" |
32881254 MT |
101 | cp -vf $(IMAGES_DIR)/initramfs-$(VERSION).img $(CDROM_DIR)/$(PREFIX)/initrd0 |
102 | cp -vf /boot/ipfirekernel-$(KVER) $(CDROM_DIR)/$(PREFIX)/$(SNAME)0 | |
103 | ||
b8279138 | 104 | cp -vf /usr/share/syslinux/vesamenu.c32 \ |
32881254 MT |
105 | $(DIR_CONF)/bootloader/splash.{jpg,lss} \ |
106 | $(DIR_CONF)/bootloader/*.msg \ | |
107 | $(CDROM_DIR)/$(PREFIX)/ | |
b36abb20 | 108 | endif |
32881254 MT |
109 | |
110 | ifeq "$(PASS)" "pxe" | |
b8279138 | 111 | cp -vf /usr/share/syslinux/pxelinux.0 $(CDROM_DIR)/ |
9afc94e7 MT |
112 | sed -e "s/SNAME/$(SNAME)/g" \ |
113 | -e "s/NAME/$(NAME)/g" \ | |
114 | -e "s/VERSION/$(VERSION)/g" \ | |
32881254 MT |
115 | -e "s@$(SNAME)0@$(PREFIX)/$(SNAME)0@g" \ |
116 | -e "s@initrd0@$(PREFIX)/initrd0@g" \ | |
5c2eaebf MT |
117 | -e "s@splash@$(PREFIX)/splash@g" \ |
118 | -e "s@vesamenu.c32@$(PREFIX)/vesamenu.c32@g" \ | |
32881254 MT |
119 | $(DIR_CONF)/bootloader/installer.conf \ |
120 | > $(CDROM_DIR)/pxelinux.cfg/$(SNAME)-pxe-$(VERSION).model | |
121 | ||
5c2eaebf MT |
122 | sed -e "s@splash@$(PREFIX)/splash@g" \ |
123 | -i $(CDROM_DIR)/$(PREFIX)/boot.msg | |
124 | ||
32881254 | 125 | cd $(CDROM_DIR) && \ |
0ad657e2 | 126 | tar cfz $(IMAGES_DIR)/$(IMAGENAME).pxe.tar.gz * |
b36abb20 MT |
127 | endif |
128 | ||
129 | ifeq "$(PASS)" "cdrom" | |
b8279138 | 130 | cp -vf /usr/share/syslinux/isolinux.bin $(CDROM_DIR)/$(PREFIX)/ |
9afc94e7 MT |
131 | sed -e "s/SNAME/$(SNAME)/g" \ |
132 | -e "s/NAME/$(NAME)/g" \ | |
133 | -e "s/VERSION/$(VERSION)/g" \ | |
32881254 MT |
134 | $(DIR_CONF)/bootloader/installer.conf \ |
135 | > $(CDROM_DIR)/$(PREFIX)/isolinux.cfg | |
136 | cp -vf /usr/lib/memtest86+/memtest.bin $(CDROM_DIR)/$(PREFIX)/memtest | |
137 | ||
138 | # info file | |
66f71fc0 MT |
139 | echo "Release: $(NAME)-$(VERSION)" >> $(CDROM_DIR)/.$(SNAME)info |
140 | echo "Build host: $$(hostname)" >> $(CDROM_DIR)/.$(SNAME)info | |
141 | echo "Date: $$(date)" >> $(CDROM_DIR)/.$(SNAME)info | |
142 | echo "SHA1: $$(sha1sum $(CDROM_DIR)/$(SNAME)-$(VERSION).img | awk '{ print $$1 }')" \ | |
143 | >> $(CDROM_DIR)/.$(SNAME)info | |
32881254 MT |
144 | |
145 | cd $(CDROM_DIR) && mkisofs -J -r -V "$(NAME)_$(VERSION)" \ | |
146 | -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 \ | |
0ad657e2 | 147 | -boot-info-table . > $(IMAGES_DIR)/$(IMAGENAME).iso |
32881254 MT |
148 | endif |
149 | ||
150 | @rm -rf $(CDROM_DIR)/* $(CDROM_DIR)/.$(SNAME)info |