Subversion Repository

Parent Directory Parent Directory | Revision Log Revision Log


Revision 79 - (show annotations)
Thu Oct 6 02:43:05 2011 UTC (19 months, 2 weeks ago) by acrux
File size: 16949 byte(s)
trunk/Makefile: minor fix
1 #
2 # Makefile for CRUX PPC, based on Makefile for CRUX
3 # Copyright (c) 2003-2004 Per Liden <per@fukt.bth.se>
4 # Copyright (c) 2004 Giulivo Navigante <giulivo@linuxmail.org>
5 # Copyright (c) 2005-2011 The CRUX PPC Team - http://cruxppc.org/
6 #
7 # CRUX PPC
8 # 32bit Release
9 # release codename is: ottobre 2010
10 #
11
12 CRUXPPCVERSION = 2.7a
13 COLLECTIONS = core opt xorg
14 KERNEL_MIRROR = ftp://ftp.eu.kernel.org
15 KERNEL_VERSION = 2.6.36.4
16 KERNEL_PATCHES = cruxppc-logo.diff linux-$(KERNEL_VERSION).patch
17 # if you change PKG_EXT then remember to set a proper tar command option at line 235
18 PKG_EXT = pkg.tar.xz
19 PKGMK_CONF = $(PWD)/pkgmk.conf
20 PORTS_DIR = $(PWD)/ports
21 FAKE_ROOT_DIR = $(PWD)/tmp/fake_root
22 ISO_ROOT_DIR = $(PWD)/tmp/iso_root
23 SRCISO_ROOT_DIR = $(PWD)/tmp/srciso_root
24 ISO_FILENAME = $(PWD)/crux-ppc-$(CRUXPPCVERSION).iso
25 SRCISO_FILENAME = $(PWD)/crux-ppc-$(CRUXPPCVERSION)-source.iso
26 ISO_PACKAGES = filesystem bash coreutils bzip2 e2fsprogs jfsutils \
27 xfsprogs reiserfsprogs patch findutils glibc grep gzip kbd \
28 module-init-tools less gawk ncurses net-tools pkgutils \
29 procps readline sed shadow sysklogd sysvinit tar \
30 util-linux-ng vim which dialog nano mdadm pciutils libusb libusb-compat \
31 mac-fdisk parted hfsutils nvsetenv yaboot glib mc \
32 memtester mkimage parthenope bc \
33 sysfsutils usbutils udev zlib openssl openssh \
34 dhcpcd wget iproute2 libpcre iputils libgmp libdevmapper lvm2 \
35 attr acl libcap tcp_wrappers btrfs-progs
36
37 PORTS_core = $(shell /bin/ls -I README -I libstdc++-compat64 $(PORTS_DIR)/core)
38 PORTS_opt = $(shell /bin/cat packages.opt32)
39 PORTS_xorg = $(shell /bin/cat packages.xorg)
40
41 ifeq ($(FORCE),yes)
42 PKGMK_FORCE=-f
43 else
44 PKGMK_FORCE=
45 endif
46
47 .PHONY: help check-root check-log $(COLLECTIONS) all all-chroot bootstrap kernel kernel-clean clean iso
48
49 help:
50 @echo "CRUX PPC Makefile"
51 @echo "Targets:"
52 @echo " <collection> build single collection"
53 @echo " all build all collections"
54 @echo " bootstrap bootstrap all collections"
55 @echo " kernel download and build kernel"
56 @echo " iso create iso image"
57 @echo " source-iso create source-iso image"
58 @echo "Collections:"
59 @echo " $(COLLECTIONS)"
60
61
62 check-root:
63 @if [ "$$UID" != "0" ]; then \
64 echo "You need to be root to do this."; \
65 exit 1; \
66 fi
67
68 check-log:
69 @grep "> ERROR:"; \
70 if [ "$$?" = "0" ]; then \
71 echo "(see log file for details)"; \
72 exit 1; \
73 else \
74 exit 0; \
75 fi
76
77 kernel/linux-$(KERNEL_VERSION).tar.bz2:
78 cd kernel && wget --passive-ftp $(KERNEL_MIRROR)/pub/linux/kernel/v2.6/linux-$(KERNEL_VERSION).tar.bz2
79
80 kernel/linux-$(KERNEL_VERSION): kernel/linux-$(KERNEL_VERSION).tar.bz2
81 tar -C kernel -xjmf kernel/linux-$(KERNEL_VERSION).tar.bz2
82 for FILE in $(KERNEL_PATCHES); do \
83 cd kernel/linux-$(KERNEL_VERSION) && patch -p1 < ../$$FILE && cd ../..; \
84 done
85 cp -a kernel/linux-$(KERNEL_VERSION) kernel/linux-$(KERNEL_VERSION)-Sam440ep
86 patch -p1 -d kernel/linux-$(KERNEL_VERSION)-Sam440ep < kernel/linux-$(KERNEL_VERSION)-Sam440ep.patch
87 cp -a kernel/linux-$(KERNEL_VERSION) kernel/linux-$(KERNEL_VERSION)-Sam460ex
88 cp -a kernel/linux-$(KERNEL_VERSION) kernel/linux-$(KERNEL_VERSION)-Efika
89 patch -p1 -d kernel/linux-$(KERNEL_VERSION)-Efika < kernel/linux-$(KERNEL_VERSION)-Efika.patch
90 cp -a kernel/linux-$(KERNEL_VERSION) kernel/linux-$(KERNEL_VERSION)-Pegasos2
91 patch -p1 -d kernel/linux-$(KERNEL_VERSION)-Pegasos2 < kernel/linux-$(KERNEL_VERSION)-Pegasos2.patch
92 ## cp -a kernel/linux-$(KERNEL_VERSION) kernel/linux-$(KERNEL_VERSION)-Chrp32
93
94 kernel/linux-$(KERNEL_VERSION)/vmlinux: kernel/linux-$(KERNEL_VERSION)
95 make -C kernel/linux-$(KERNEL_VERSION) mrproper
96 cp -f kernel/linux-$(KERNEL_VERSION).config kernel/linux-$(KERNEL_VERSION)/.config
97 make -C kernel/linux-$(KERNEL_VERSION) oldconfig
98 make -j4 -C kernel/linux-$(KERNEL_VERSION) all
99 touch kernel/linux-$(KERNEL_VERSION)/arch/powerpc/boot/zImage.pmac
100
101 make -C kernel/linux-$(KERNEL_VERSION)-Sam440ep mrproper
102 cp -f kernel/linux-$(KERNEL_VERSION)-Sam440ep.config kernel/linux-$(KERNEL_VERSION)-Sam440ep/.config
103 make -C kernel/linux-$(KERNEL_VERSION)-Sam440ep oldconfig
104 make -j4 -C kernel/linux-$(KERNEL_VERSION)-Sam440ep all
105 touch kernel/linux-$(KERNEL_VERSION)-Sam440ep/arch/powerpc/boot/cuImage.sam440ep
106 make -C kernel/linux-$(KERNEL_VERSION)-Sam460ex mrproper
107 cp -f kernel/linux-$(KERNEL_VERSION)-Sam460ex.config kernel/linux-$(KERNEL_VERSION)-Sam460ex/.config
108 make -C kernel/linux-$(KERNEL_VERSION)-Sam460ex oldconfig
109 make -j4 -C kernel/linux-$(KERNEL_VERSION)-Sam460ex all
110 make -j4 -C kernel/linux-$(KERNEL_VERSION)-Sam460ex uImage
111 make -j4 -C kernel/linux-$(KERNEL_VERSION)-Sam460ex canyonlands.dtb
112 touch kernel/linux-$(KERNEL_VERSION)-Sam460ex/arch/powerpc/boot/uImage
113
114 make -C kernel/linux-$(KERNEL_VERSION)-Efika mrproper
115 cp -f kernel/linux-$(KERNEL_VERSION)-Efika.config kernel/linux-$(KERNEL_VERSION)-Efika/.config
116 make -C kernel/linux-$(KERNEL_VERSION)-Efika oldconfig
117 make -j4 -C kernel/linux-$(KERNEL_VERSION)-Efika all
118 touch kernel/linux-$(KERNEL_VERSION)-Efika/arch/powerpc/boot/zImage.chrp
119 make -C kernel/linux-$(KERNEL_VERSION)-Pegasos2 mrproper
120 cp -f kernel/linux-$(KERNEL_VERSION)-Pegasos2.config kernel/linux-$(KERNEL_VERSION)-Pegasos2/.config
121 make -C kernel/linux-$(KERNEL_VERSION)-Pegasos2 oldconfig
122 make -j4 -C kernel/linux-$(KERNEL_VERSION)-Pegasos2 all
123 touch kernel/linux-$(KERNEL_VERSION)-Pegasos2/arch/powerpc/boot/zImage.chrp
124
125 ## make -C kernel/linux-$(KERNEL_VERSION)-Chrp32 mrproper
126 ## cp -f kernel/linux-$(KERNEL_VERSION)-Chrp32.config kernel/linux-$(KERNEL_VERSION)-Chrp32/.config
127 ## make -C kernel/linux-$(KERNEL_VERSION)-Chrp32 oldconfig
128 ## make -j4 -C kernel/linux-$(KERNEL_VERSION)-Chrp32 all
129 ## touch kernel/linux-$(KERNEL_VERSION)-Chrp32/vmlinux
130
131 kernel: kernel/linux-$(KERNEL_VERSION)/vmlinux
132
133 kernel-clean:
134 if [ -e kernel/linux-$(KERNEL_VERSION) ]; then rm -rf kernel/linux-$(KERNEL_VERSION); fi
135 if [ -e kernel/linux-$(KERNEL_VERSION)-Sam440ep ]; then rm -rf kernel/linux-$(KERNEL_VERSION)-Sam440ep; fi
136 if [ -e kernel/linux-$(KERNEL_VERSION)-Sam460ex ]; then rm -rf kernel/linux-$(KERNEL_VERSION)-Sam460ex; fi
137 if [ -e kernel/linux-$(KERNEL_VERSION)-Efika ]; then rm -rf kernel/linux-$(KERNEL_VERSION)-Efika; fi
138 if [ -e kernel/linux-$(KERNEL_VERSION)-Pegasos2 ]; then rm -rf kernel/linux-$(KERNEL_VERSION)-Pegasos2; fi
139 ## if [ -e kernel/linux-$(KERNEL_VERSION)-Chrp32 ]; then rm -rf kernel/linux-$(KERNEL_VERSION)-Chrp32; fi
140
141 clean: kernel-clean
142
143 $(COLLECTIONS): check-root
144 @for p in $(PORTS_$(@)); do \
145 echo "p: $$p"; \
146 (cd $(PORTS_DIR)/$@/$$p; pkgmk -d $(PKGMK_FORCE)); \
147 done
148
149 all: $(COLLECTIONS)
150
151 all-chroot: check-root
152 @echo "Creating chroot environment"
153 @if [ -e $(FAKE_ROOT_DIR) ]; then \
154 umount $(FAKE_ROOT_DIR)/src; \
155 umount $(FAKE_ROOT_DIR)/proc; \
156 umount $(FAKE_ROOT_DIR)/dev; \
157 rm -rf $(FAKE_ROOT_DIR); \
158 fi
159 @mkdir -p $(FAKE_ROOT_DIR)
160 @echo "Installing packages"
161 @mkdir -p $(FAKE_ROOT_DIR)/var/lib/pkg
162 @touch $(FAKE_ROOT_DIR)/var/lib/pkg/db
163 # @for COLL in $(COLLECTIONS); do \
164 # for PACKAGE in $(PORTS_DIR)/$$COLL/*/*.$(PKG_EXT); do \
165 # echo " $$PACKAGE"; \
166 # pkgadd -r $(FAKE_ROOT_DIR) $$PACKAGE; \
167 # done; \
168 # done
169 @for p in $(PORTS_core); do \
170 echo " $$p"; \
171 pkgadd -r $(FAKE_ROOT_DIR) $(PORTS_DIR)/core/$$p/$$p*.$(PKG_EXT); \
172 done
173 @for p in $(PORTS_opt); do \
174 echo " $$p"; \
175 pkgadd -r $(FAKE_ROOT_DIR) $(PORTS_DIR)/opt/$$p/$$p*.$(PKG_EXT); \
176 done
177 @for p in $(PORTS_xorg); do \
178 echo " $$p"; \
179 pkgadd -r $(FAKE_ROOT_DIR) $(PORTS_DIR)/xorg/$$p/$$p*.$(PKG_EXT); \
180 done
181 @echo "Mounting /dev on $(FAKE_ROOT_DIR)/dev"
182 @mount --bind /dev $(FAKE_ROOT_DIR)/dev
183 @echo "Mounting /proc on $(FAKE_ROOT_DIR)/proc"
184 @mount --bind /proc $(FAKE_ROOT_DIR)/proc
185 @echo "Mouting $$PWD on $(FAKE_ROOT_DIR)/src"
186 @mkdir $(FAKE_ROOT_DIR)/src
187 @mount --bind $$PWD $(FAKE_ROOT_DIR)/src
188 @cp -L $(PKGMK_CONF) $(FAKE_ROOT_DIR)/etc
189 @echo "Entering chroot enrivonment"
190 @chroot $(FAKE_ROOT_DIR) /bin/bash --login -c "cd /src && $(MAKE) FORCE=yes all"
191 @echo "Exiting chroot enrivonment"
192 @echo "Unmounting $(FAKE_ROOT_DIR)/src"
193 @umount $(FAKE_ROOT_DIR)/src
194 @rmdir $(FAKE_ROOT_DIR)/src
195 @echo "Unmounting $(FAKE_ROOT_DIR)/proc"
196 @umount $(FAKE_ROOT_DIR)/proc
197 @echo "Unmounting $(FAKE_ROOT_DIR)/dev"
198 @umount $(FAKE_ROOT_DIR)/dev
199 @echo "Removing chroot environment"
200 @rm -rf $(FAKE_ROOT_DIR)
201
202 bootstrap: check-root
203 @echo "Bootstrap started (`date +'%F %T'`)"
204 @echo "- Stage 0 (`date +'%F %T'`)"
205 @for i in $(PORTS_core) $(PORTS_opt) $(PORTS_xorg); do\
206 rm -f $(PORTS_DIR)/*/$$i/.footprint.$(HOSTTYPE);\
207 done
208 @$(MAKE) all &> log.stage0
209 @$(MAKE) check-log < log.stage0
210 @echo "- Stage 1 (`date +'%F %T'`)"
211 @for i in $(PORTS_core) $(PORTS_opt) $(PORTS_xorg); do\
212 rm -f $(PORTS_DIR)/*/$$i/.footprint.$(HOSTTYPE);\
213 done
214 @$(MAKE) all-chroot &> log.stage1
215 @$(MAKE) check-log < log.stage1
216 @echo "- Stage 2 (`date +'%F %T'`)"
217 @$(MAKE) all-chroot &> log.stage2
218 @$(MAKE) check-log < log.stage2
219 @echo "Bootstrap completed (`date +'%F %T'`)"
220
221 handbook:
222 @if [ -e doc/handbook.txt ]; then rm -f doc/handbook.txt; fi
223 @(cd doc; ../scripts/get_wiki_handbook)
224
225 releasenotes:
226 @if [ -e doc/releasenotes.txt ]; then rm -f doc/releasenotes.txt; fi
227 @(cd doc; ../scripts/get_wiki_release_notes)
228
229 iso: check-root handbook releasenotes dependencies-check
230 @echo "Creating ISO image ($(ISO_FILENAME))"
231 @if [ -e $(ISO_ROOT_DIR) ]; then rm -rf $(ISO_ROOT_DIR); fi
232 @mkdir -p $(ISO_ROOT_DIR)
233 @echo "- Installing packages"
234 @for PACKAGE in $(ISO_PACKAGES); do \
235 tar -C $(ISO_ROOT_DIR) -xJpf $(PORTS_DIR)/*/$$PACKAGE/$$PACKAGE\#*.$(PKG_EXT); \
236 done
237 @echo "- Copying ISO specific files"
238 @mkdir -p $(ISO_ROOT_DIR)/etc $(ISO_ROOT_DIR)/ppc/{chrp,efika,mac,pegasos2,ppc32,sam4x0}
239 @cp iso/ppc/bootinfo.txt $(ISO_ROOT_DIR)/ppc
240 @cp iso/ppc/chrp/{yaboot.chrp,yaboot.msg} $(ISO_ROOT_DIR)/ppc/chrp
241 @cp iso/ppc/mac/{ofboot.b,yaboot} $(ISO_ROOT_DIR)/ppc/mac
242 @cp iso/ppc/ppc32/{yaboot.conf,yaboot.msg} $(ISO_ROOT_DIR)/ppc/ppc32
243 @cp iso/ppc/sam4x0/{ub2lb,menu.lst} $(ISO_ROOT_DIR)/ppc/sam4x0
244 @cp iso/ppc/sam4x0/menu.lst $(ISO_ROOT_DIR)
245 @cp iso/etc/{fstab,hosts,inittab,issue,motd,ld.so.conf,protocols,rc,rc.shutdown,rc.single,services,shadow,yaboot.conf} $(ISO_ROOT_DIR)/etc
246 @echo "- Installing kernel"
247 @cp kernel/linux-$(KERNEL_VERSION)/System.map $(ISO_ROOT_DIR)/ppc/ppc32
248 @cp kernel/linux-$(KERNEL_VERSION)/arch/powerpc/boot/zImage.pmac $(ISO_ROOT_DIR)/ppc/ppc32
249 @cp kernel/linux-$(KERNEL_VERSION)-Sam440ep/System.map $(ISO_ROOT_DIR)/ppc/sam4x0
250 @cp kernel/linux-$(KERNEL_VERSION)-Sam440ep/arch/powerpc/boot/cuImage.sam440ep $(ISO_ROOT_DIR)/ppc/sam4x0/uImage
251 @cp kernel/linux-$(KERNEL_VERSION)-Sam460ex/System.map $(ISO_ROOT_DIR)/ppc/sam4x0/System.map-460
252 @cp kernel/linux-$(KERNEL_VERSION)-Sam460ex/arch/powerpc/boot/uImage $(ISO_ROOT_DIR)/ppc/sam4x0/uImage-460
253 @cp kernel/linux-$(KERNEL_VERSION)-Sam460ex/arch/powerpc/boot/canyonlands.dtb $(ISO_ROOT_DIR)/ppc/sam4x0
254 @cp kernel/linux-$(KERNEL_VERSION)-Efika/System.map $(ISO_ROOT_DIR)/ppc/efika
255 @cp kernel/linux-$(KERNEL_VERSION)-Efika/arch/powerpc/boot/zImage.chrp $(ISO_ROOT_DIR)/ppc/efika
256 @cp kernel/linux-$(KERNEL_VERSION)-Pegasos2/System.map $(ISO_ROOT_DIR)/ppc/pegasos2
257 @cp kernel/linux-$(KERNEL_VERSION)-Pegasos2/arch/powerpc/boot/zImage.chrp $(ISO_ROOT_DIR)/ppc/pegasos2
258 ## @cp kernel/linux-$(KERNEL_VERSION)-Chrp32/System.map $(ISO_ROOT_DIR)/ppc/chrp
259 ## @cp kernel/linux-$(KERNEL_VERSION)-Chrp32/vmlinux $(ISO_ROOT_DIR)/ppc/chrp
260 @echo "- Installing kernel modules (see modules_install.log)"
261 @make -C kernel/linux-$(KERNEL_VERSION) INSTALL_MOD_PATH=$(ISO_ROOT_DIR) modules_install &> modules_install.log
262 @make -C kernel/linux-$(KERNEL_VERSION)-Sam440ep INSTALL_MOD_PATH=$(ISO_ROOT_DIR) modules_install &> modules_install.log-Sam440ep
263 @make -C kernel/linux-$(KERNEL_VERSION)-Sam460ex INSTALL_MOD_PATH=$(ISO_ROOT_DIR) modules_install &> modules_install.log-Sam460ex
264 @make -C kernel/linux-$(KERNEL_VERSION)-Efika INSTALL_MOD_PATH=$(ISO_ROOT_DIR) modules_install &> modules_install.log-Efika
265 @make -C kernel/linux-$(KERNEL_VERSION)-Pegasos2 INSTALL_MOD_PATH=$(ISO_ROOT_DIR) modules_install &> modules_install.log-Pegasos2
266 ## @make -C kernel/linux-$(KERNEL_VERSION)-Chrp32 INSTALL_MOD_PATH=$(ISO_ROOT_DIR) modules_install &> modules_install.log-Chrp32
267 @echo "- Deleting superfluous files"
268 @cd $(ISO_ROOT_DIR) && rm -rf var opt home
269 @cd $(ISO_ROOT_DIR)/usr && rm -rf man include lib/*.a lib/*.o lib/gconv lib/locale src
270 @cd $(ISO_ROOT_DIR)/usr/share && mkdir l v; cp terminfo/l/linux l; cp terminfo/v/vt100 v; rm -rf terminfo/*; mv l v terminfo
271 @cd $(ISO_ROOT_DIR)/usr/share && rm -rf et ss vim i18n zoneinfo
272 @cd $(ISO_ROOT_DIR)/usr/bin && rm cal locale localedef rpcgen compile_et mk_cmds
273 @cd $(ISO_ROOT_DIR)/usr/sbin && rm group{add,del,mod} user{add,del,mod} grpck pwck iconvconfig rpcinfo zic zdump
274 @cd $(ISO_ROOT_DIR)/etc && rm -rf rc.d cron {resolv,sysctl,pkgadd,pkgmk}.conf securetty
275 @cd $(ISO_ROOT_DIR)/usr/lib && rm -rf pkgconfig/*
276 @cd $(ISO_ROOT_DIR)/lib/modules/$(KERNEL_VERSION) && rm -f build
277 @echo "- Creating symlinks"
278 @ln -sf /tmp/var $(ISO_ROOT_DIR)/var
279 @ln -sf /proc/mounts $(ISO_ROOT_DIR)/etc/mtab
280 @echo "- Updating library links and cache"
281 @ldconfig -r $(ISO_ROOT_DIR)
282 @echo "- Copying CRUX PPC packages"
283 @mkdir -p $(ISO_ROOT_DIR)/crux
284 @cp doc/handbook.txt $(ISO_ROOT_DIR)/crux
285 @cp doc/releasenotes.txt $(ISO_ROOT_DIR)/crux
286 @cp iso/setup.dependencies $(ISO_ROOT_DIR)/crux
287 @cp doc/gpl.txt $(ISO_ROOT_DIR)/crux
288 @cp iso/bin/{setup,setup-helper,setup-chroot,serial_console,ofpathname,new-ofpath} $(ISO_ROOT_DIR)/usr/bin
289 @mkdir -p $(ISO_ROOT_DIR)/crux/kernel
290 @cp kernel/linux-$(KERNEL_VERSION).tar.bz2 $(ISO_ROOT_DIR)/crux/kernel
291 @cp kernel/linux-$(KERNEL_VERSION).config $(ISO_ROOT_DIR)/crux/kernel
292 @cp kernel/linux-$(KERNEL_VERSION)-Sam440ep.config $(ISO_ROOT_DIR)/crux/kernel
293 @cp kernel/linux-$(KERNEL_VERSION)-Sam440ep.patch $(ISO_ROOT_DIR)/crux/kernel
294 @cp kernel/linux-$(KERNEL_VERSION)-Sam460ex.config $(ISO_ROOT_DIR)/crux/kernel
295 @cp kernel/linux-$(KERNEL_VERSION)-Efika.config $(ISO_ROOT_DIR)/crux/kernel
296 @cp kernel/linux-$(KERNEL_VERSION)-Efika.patch $(ISO_ROOT_DIR)/crux/kernel
297 @cp kernel/linux-$(KERNEL_VERSION)-Pegasos2.config $(ISO_ROOT_DIR)/crux/kernel
298 @cp kernel/linux-$(KERNEL_VERSION)-Pegasos2.patch $(ISO_ROOT_DIR)/crux/kernel
299 ## @cp kernel/linux-$(KERNEL_VERSION)-Chrp32.config $(ISO_ROOT_DIR)/crux/kernel
300 @for FILE in $(KERNEL_PATCHES); do \
301 cp kernel/$$FILE $(ISO_ROOT_DIR)/crux/kernel; \
302 done
303 @mkdir -p $(ISO_ROOT_DIR)/crux/core
304 @for PKG in $(PORTS_core); do \
305 cp $(PORTS_DIR)/core/$$PKG/*.$(PKG_EXT) $(ISO_ROOT_DIR)/crux/core; \
306 done
307 @mkdir -p $(ISO_ROOT_DIR)/crux/opt
308 @for PKG in $(PORTS_opt); do \
309 cp $(PORTS_DIR)/opt/$$PKG/*.$(PKG_EXT) $(ISO_ROOT_DIR)/crux/opt; \
310 done
311 @mkdir -p $(ISO_ROOT_DIR)/crux/xorg
312 @for PKG in $(PORTS_xorg); do \
313 cp $(PORTS_DIR)/xorg/$$PKG/*.$(PKG_EXT) $(ISO_ROOT_DIR)/crux/xorg; \
314 done
315 @echo "- Starting genisoimage"
316 @if [ -f $(ISO_FILENAME) ]; then rm -f $(ISO_FILENAME); fi
317 @genisoimage -r -V CRUX-PPC -iso-level 4 -chrp-boot -hfs -part -probe -no-desktop \
318 -hfs-bless $(ISO_ROOT_DIR)/ppc/mac -map iso/boot/map.hfs \
319 -b ppc/sam4x0/ub2lb -no-emul-boot \
320 -hide-rr-moved -o $(ISO_FILENAME) $(ISO_ROOT_DIR)
321 @rm -rf $(ISO_ROOT_DIR)
322 @md5sum $(ISO_FILENAME) > $(ISO_FILENAME).md5
323 @echo "Done"
324
325 dependencies-check:
326 @if [ -e iso/setup.dependencies ]; then rm iso/setup.dependencies; fi
327 @make iso/setup.dependencies
328 @for i in `cat iso/setup.dependencies | sed -e 's|[^:]*:\ ||' -e 's|\ |\n|g' | sort | uniq`; do \
329 ilenia -s $$i > /dev/null ; \
330 if [ "$$?" != "0" ]; then \
331 echo "Missing dependence $$i" ;\
332 exit 1 ;\
333 fi ; \
334 done
335
336 iso/setup.dependencies:
337 @for PORT in $(foreach c,$(COLLECTIONS),$(PORTS_$(c))); do \
338 echo -n $$PORT": "; \
339 ilenia -D --all $$PORT | awk '{ print $$1 }' | xargs; \
340 done > $@
341
342 source-iso:
343 @echo "Creating ISO image with sources ($(SRCISO_FILENAME))"
344 @rm -rf $(SRCISO_ROOT_DIR)
345 @mkdir -p $(SRCISO_ROOT_DIR)/{ports,kernel,misc}
346 @echo "- Copying ports"
347 @for PORT in $(PORTS_core) $(PORTS_opt) $(PORTS_xorg); do \
348 find ports -mindepth 2 -maxdepth 2 -name $$PORT -type d -exec cp -r {} $(SRCISO_ROOT_DIR)/ports \; ; \
349 rm -f $(SRCISO_ROOT_DIR)/ports/$$PORT/{*~,build.log,.footprint*,.md5sum,*.$(PKG_EXT)}; \
350 done
351 @echo "- Copying kernel and patches"
352 @cp kernel/linux-$(KERNEL_VERSION).tar.bz2 $(SRCISO_ROOT_DIR)/kernel
353 @cp kernel/linux-$(KERNEL_VERSION)-*.patch $(SRCISO_ROOT_DIR)/kernel
354 @for PATCH in $(KERNEL_PATCHES); do cp kernel/$$PATCH $(SRCISO_ROOT_DIR)/kernel; done
355 @echo "- Creating README"
356 @echo "- Starting genisoimage"
357 @genisoimage -R -l -J -V CRUX-PPC-$(CRUXVERSION) -A "CRUX PPC" -o $(SRCISO_FILENAME) $(SRCISO_ROOT_DIR)
358 @md5sum `basename $(SRCISO_FILENAME)` > `basename $(SRCISO_FILENAME) .iso`.md5
359
360 # End of file