5ba6e31af47bae5986bc436ac2f8d7e78900cecd
[nslu2-linux/master.git] / Makefile
blob5ba6e31af47bae5986bc436ac2f8d7e78900cecd
1 # Makefile for the NSLU2 Linux development system
2 # Licensed under the GPL v2 or later
4 HOST_MACHINE:=$(shell uname -m | sed \
5 -e 's/i[3-9]86/i386/' \
6 -e 's/armv5tel/arm/' \
7 -e 's/armv5teb/armeb/' \
8 -e 's/armv5b/armeb/' \
11 BITBAKE_VERSION = tags/bitbake-1.8.10
13 .PHONY: all
14 all: update build
16 .PHONY: prefetch
17 prefetch: prefetch-unslung prefetch-slugos prefetch-angstrom prefetch-unslung prefetch-optware
19 .PHONY: build
20 build:
21 [ ! -e unslung ] || ${MAKE} unslung
22 [ ! -e slugos ] || ${MAKE} slugosbe slugosle
23 [ ! -e optware ] || ${MAKE} optware
24 [ ! -e openwrt ] || ${MAKE} openwrt
25 [ ! -e angstrom ] || ${MAKE} angstrombe angstromle
27 .PHONY: setup
28 ifneq ($(HOST_MACHINE),armeb)
29 setup: setup-common setup-bitbake setup-openembedded setup-unslung \
30 setup-slugos setup-angstrom setup-optware setup-openwrt
31 else
32 setup: setup-common setup-optware
33 endif
35 .PHONY: setup-developer
36 setup-developer: setup-common setup-bitbake setup-openembedded setup-unslung-developer setup-optware-developer setup-openwrt-developer
38 .PHONY: update
39 ifneq ($(HOST_MACHINE),armeb)
40 update: update-common update-bitbake update-openembedded update-unslung update-optware update-openwrt
41 else
42 update: update-common update-optware
43 endif
45 .PHONY: status
46 status: status-common status-bitbake status-openembedded status-unslung status-optware status-openwrt
48 .PHONY: clobber
49 clobber: clobber-unslung clobber-slugos clobber-angstrom \
50 clobber-optware clobber-openwrt
52 .PHONY: distclean
53 distclean: distclean-common distclean-bitbake distclean-openembedded \
54 distclean-unslung distclean-slugos distclean-angstrom \
55 distclean-optware distclean-releases distclean-openwrt
57 .PHONY: prefetch-unslung
58 prefetch-unslung: unslung/.configured
59 ( cd unslung ; ${MAKE} prefetch )
61 .PHONY: prefetch-optware
62 prefetch-optware:
63 [ ! -e optware ] || \
64 for f in optware/platforms/packages-*.mk ; do \
65 export target=`echo $$f | sed -e 's|optware/platforms/packages-\(.*\)\.mk|\1|'` ; \
66 [ ! -e optware/$$target ] || make prefetch-optware-$$target ; \
67 done
69 .PHONY: prefetch-optware-%
70 prefetch-optware-%: optware/%/.configured
71 ( cd optware/$* ; ${MAKE} source )
73 .PHONY: prefetch-unslung-%-beta
74 prefetch-unslung-%-beta: releases/unslung-%-beta/.configured
75 ( cd releases/unslung-$*-beta ; ${MAKE} prefetch )
77 .PHONY: prefetch-%
78 prefetch-%: %/.configured bitbake/.svn/entries openembedded/.git/config
79 ( cd $* ; ${MAKE} prefetch )
81 .PHONY: unslung unslung-image
82 unslung unslung-image: unslung/.configured
83 ( cd unslung ; \
84 ${MAKE} -k image )
86 .PHONY: slugosbe slugosbe-image
87 slugosbe slugosbe-image: slugos/.configured bitbake/.svn/entries openembedded/.git/config
88 ( cd slugos ; \
89 ${MAKE} setup-machine-nslu2be setup-distro-slugos setup-image-slugos-image ; \
90 ${MAKE} -k image )
92 .PHONY: slugosle slugosle-image
93 slugosle slugosle-image: slugos/.configured bitbake/.svn/entries openembedded/.git/config
94 ( cd slugos ; \
95 ${MAKE} setup-machine-nslu2le setup-distro-slugos setup-image-slugos-image ; \
96 ${MAKE} -k image )
98 .PHONY: angstrombe angstrombe-image
99 angstrombe angstrombe-image: angstrom/.configured bitbake/.svn/entries openembedded/.git/config
100 ( cd angstrom ; \
101 ${MAKE} setup-machine-ixp4xxbe setup-distro-angstrom-2008.1 setup-image-base-image ; \
102 ${MAKE} -k image )
104 .PHONY: angstromle angstromle-image
105 angstromle angstromle-image: angstrom/.configured bitbake/.svn/entries openembedded/.git/config
106 ( cd angstrom ; \
107 ${MAKE} setup-machine-ixp4xxle setup-distro-angstrom-2008.1 setup-image-base-image ; \
108 ${MAKE} -k image )
110 .PHONY: openwrt openwrt-image
111 openwrt openwrt-image: openwrt/.svn/entries
112 ( cd openwrt ; ${MAKE} -k world)
114 .PHONY: unslung-packages
115 unslung-packages: unslung/.configured
116 ( cd unslung ; \
117 ${MAKE} -k distro )
119 .PHONY: slugosbe-packages
120 slugosbe-packages: slugos/.configured bitbake/.svn/entries openembedded/.git/config
121 ( cd slugos ; \
122 ${MAKE} setup-machine-nslu2be setup-distro-slugos setup-image-slugos-image setup-packages-slugos-packages ; \
123 ${MAKE} -k distro )
125 .PHONY: slugosle-packages
126 slugosle-packages: slugos/.configured bitbake/.svn/entries openembedded/.git/config
127 ( cd slugos ; \
128 ${MAKE} setup-machine-nslu2le setup-distro-slugos setup-image-slugos-image setup-packages-slugos-packages ; \
129 ${MAKE} -k distro )
131 .PHONY: angstrombe-packages
132 angstrombe-packages: angstrom/.configured bitbake/.svn/entries openembedded/.git/config
133 ( cd angstrom ; \
134 ${MAKE} setup-machine-ixp4xxbe setup-distro-angstrom-2008.1 setup-image-base-image setup-packages-meta-angstrom ; \
135 ${MAKE} -k distro )
137 .PHONY: angstrombe-packages
138 angstromle-packages: angstrom/.configured bitbake/.svn/entries openembedded/.git/config
139 ( cd angstrom ; \
140 ${MAKE} setup-machine-ixp4xxle setup-distro-angstrom-2008.1 setup-image-base-image setup-packages-meta-angstrom ; \
141 ${MAKE} -k distro )
143 .PHONY: openwrt-packages
144 openwrt-packages: openwrt/.svn/entries
145 ( cd openwrt ; ${MAKE} -k world )
147 .PHONY: %-packages
148 %-packages: %/.configured bitbake/.svn/entries openembedded/.git/config
149 ( cd $* ; ${MAKE} -k distro)
151 .PHONY: openwrt-index
152 openwrt-index: openwrt/.svn/entries
153 ( cd openwrt ; ${MAKE} -k package/index )
155 .PHONY: %-index
156 %-index: %/.configured bitbake/.svn/entries openembedded/.git/config
157 ( cd $* ; ${MAKE} -k index)
159 .PHONY: optware
160 optware:
161 [ ! -e optware ] || \
162 for f in optware/platforms/packages-*.mk ; do \
163 export target=`echo $$f | sed -e 's|optware/platforms/packages-\(.*\)\.mk|\1|'` ; \
164 [ ! -e optware/$$target ] || make optware-$$target ; \
165 done
167 .PHONY: optware-%
168 optware-%: optware/%/.configured
169 ( cd optware/$* ; ${MAKE} autoclean ; ${MAKE} -k )
171 slugosle-%-beta: update-slugos-%-beta build-slugosle-%-beta
172 echo "$@ completed"
174 slugosbe-%-beta: update-slugos-%-beta build-slugosbe-%-beta
175 echo "$@ completed"
177 unslung-%-beta: update-unslung-%-beta build-unslung-%-beta
178 echo "$@ completed"
180 openwrt-%: update-openwrt-% build-openwrt-%
181 echo "$@ completed"
183 # The following two targets are deprecated,
184 # but are preserved for building old releases.
186 debianslug-%-beta: update-slugos-%-beta build-debianslug-%-beta
187 echo "$@ completed"
189 openslug-%-beta: update-slugos-%-beta build-openslug-%-beta
190 echo "$@ completed"
192 build-slugosle-%-beta: releases/slugos-%-beta/.configured
193 ( cd releases/slugos-$*-beta ; ${MAKE} -k slugosle-distro )
195 build-slugosbe-%-beta: releases/slugos-%-beta/.configured
196 ( cd releases/slugos-$*-beta ; ${MAKE} -k slugosbe-distro )
198 build-unslung-%-beta: releases/unslung-%-beta/.configured
199 ( cd releases/unslung-$*-beta ; ${MAKE} -k unslung-distro )
201 build-openwrt-%: releases/openwrt-%/.configured
202 ( cd releases/openwrt-$* ; ${MAKE} -k world package/index )
204 # The following two targets are deprecated,
205 # but are preserved for building old releases.
207 build-debianslug-%-beta: releases/slugos-%-beta/.configured
208 ( cd releases/slugos-$*-beta ; ${MAKE} -k debianslug-distro )
210 build-openslug-%-beta: releases/slugos-%-beta/.configured
211 ( cd releases/slugos-$*-beta ; ${MAKE} -k openslug-distro )
213 OE_SNAPSHOT_SITE := http://www.openembedded.org/snapshots
215 .PHONY: setup-common
216 .PRECIOUS: common/.git/config
217 setup-common common/.git/config:
218 [ -e common/.git/config ] || \
219 ( git clone git://repo.or.cz/nslu2-linux/master.git common && \
220 rm -f Makefile && \
221 ln -s common/Makefile Makefile )
222 touch common/.git/config
224 .PHONY: setup-bitbake
225 .PRECIOUS: bitbake/.svn/entries
226 setup-bitbake bitbake/.svn/entries:
227 [ -e bitbake/.svn/entries ] || \
228 ( svn co svn://svn.berlios.de/bitbake/${BITBAKE_VERSION} bitbake )
229 touch bitbake/.svn/entries
231 .PHONY: setup-openembedded
232 .PRECIOUS: openembedded/.git/config
233 setup-openembedded openembedded/.git/config:
234 [ -e openembedded/.git/config ] || \
235 ( git clone git://git.openembedded.net/openembedded openembedded ; \
236 cd openembedded ; \
237 git config --add remote.origin.fetch '+refs/heads/*:refs/remotes/*' )
238 ( cd openembedded && \
239 ( git branch | egrep -e ' org.openembedded.dev$$' > /dev/null || \
240 git checkout -b org.openembedded.dev --track origin/org.openembedded.dev ))
241 ( cd openembedded && git checkout org.openembedded.dev )
242 touch openembedded/.git/config
244 .PHONY: setup-unslung
245 .PRECIOUS: unslung/.svn/entries
246 setup-unslung unslung/.svn/entries:
247 [ -e downloads ] || ( mkdir -p downloads )
248 [ -e unslung/.svn/entries ] || \
249 ( svn co http://svn.nslu2-linux.org/svnroot/unslung/trunk unslung )
250 touch unslung/.svn/entries
252 .PHONY: setup-unslung-%
253 setup-unslung-%: unslung/.svn/entries
254 ${MAKE} unslung/$*/.configured
256 .PHONY: setup-unslung-developer
257 setup-unslung-developer:
258 [ ! -e unslung ] || ( mv unslung unslung-user )
259 [ -e unslung/.svn/entries ] || \
260 ( svn co https://svn.nslu2-linux.org/svnroot/unslung/trunk unslung )
261 ${MAKE} setup-unslung
263 .PRECIOUS: unslung/.configured
264 unslung/.configured: common/.git/config unslung/.svn/entries
265 [ -e downloads ] || ( mkdir -p downloads )
266 [ -e unslung/downloads ] || ( cd unslung ; ln -sf ../downloads . )
267 rm -rf unslung/tmp/cache
268 touch unslung/.configured
270 .PHONY: setup-optware
271 .PRECIOUS: optware/.svn/entries
272 setup-optware optware/.svn/entries:
273 [ -e downloads ] || ( mkdir -p downloads )
274 [ -e optware/.svn/entries ] || \
275 ( svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware )
276 touch optware/.svn/entries
278 .PHONY: setup-optware-%
279 setup-optware-%: optware/.svn/entries
280 ${MAKE} optware/$*/.configured
282 .PHONY: setup-optware-developer
283 setup-optware-developer:
284 [ ! -e optware ] || ( mv optware optware-user )
285 [ -e optware/.svn/entries ] || \
286 ( svn co https://svn.nslu2-linux.org/svnroot/optware/trunk optware )
287 ${MAKE} setup-optware
289 # This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
290 .PRECIOUS: optware/%/.configured
291 optware/%/.configured: optware/.svn/entries
292 [ -e downloads ] || ( mkdir -p downloads )
293 [ -e optware/$*/Makefile ] || ( \
294 mkdir -p optware/$* ; \
295 echo "OPTWARE_TARGET=$*" > optware/$*/Makefile ; \
296 echo "include ../Makefile" >> optware/$*/Makefile ; \
297 ln -s ../../downloads optware/$*/downloads ; \
298 ln -s ../make optware/$*/make ; \
299 ln -s ../scripts optware/$*/scripts ; \
300 ln -s ../sources optware/$*/sources ; \
302 touch optware/$*/.configured
304 .PHONY: setup-openwrt
305 .PRECIOUS: openwrt/.svn/entries
306 setup-openwrt openwrt/.svn/entries: common/.git/config
307 [ -e downloads ] || ( mkdir -p downloads )
308 [ -e openwrt/Makefile ] || \
309 ( svn co https://svn.openwrt.org/openwrt/trunk openwrt )
310 [ -e openwrt/dl ] || ( ln -s ../downloads openwrt/dl )
311 [ -e openwrt/.config ] || ( cp common/conf/openwrt.config openwrt/.config )
312 ( cd openwrt ; \
313 ./scripts/feeds update ; \
314 ./scripts/feeds install -a ; \
315 ${MAKE} oldconfig )
316 touch openwrt/.svn/entries
318 .PHONY: setup-openwrt-developer
319 setup-openwrt-developer:
320 [ ! -e openwrt ] || ( mv openwrt openwrt-user )
321 svn co https://${LOGNAME}@svn.openwrt.org/openwrt/trunk openwrt
322 ${MAKE} setup-openwrt
324 # This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
325 .PHONY: setup-openwrt-%
326 .PRECIOUS: releases/openwrt-%/.configured
327 setup-openwrt-% releases/openwrt-%/.configured:
328 [ -e downloads ] || ( mkdir -p downloads )
329 [ -e releases/openwrt-$* ] || ( \
330 mkdir -p releases ; \
331 svn checkout https://svn.openwrt.org/openwrt/tags/$* \
332 releases/openwrt-$* \
334 [ -e releases/openwrt-$*/dl ] || ln -s ../../downloads releases/openwrt-$*/dl
335 [ -e releases/openwrt-$*/.config ] || \
336 ( cp common/conf/openwrt-$*.config releases/openwrt-$*/.config )
337 touch releases/openwrt-$*/.configured
339 .PHONY: setup-slugos setup-angstrom
340 setup-slugos setup-angstrom: setup-%:
341 rm -rf $*/.configured
342 ${MAKE} $*/.configured
344 # This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
345 .PHONY: setup-unslung-%-beta
346 .PRECIOUS: releases/unslung-%-beta/.configured
347 setup-unslung-%-beta releases/unslung-%-beta/.configured:
348 [ -e releases/unslung-$*-beta ] || ( \
349 mkdir -p releases ; \
350 svn checkout http://svn.nslu2-linux.org/svnroot/unslung/releases/unslung-$*-beta \
351 releases/unslung-$*-beta \
353 ( cd releases/unslung-$*-beta ; ${MAKE} setup-env )
354 [ -e downloads ] || ( mkdir -p downloads )
355 [ -e releases/unslung-$*-beta/downloads ] || \
356 ln -s ../../downloads releases/unslung-$*-beta/
357 touch releases/unslung-$*-beta/.configured
359 .PHONY: setup-unslung-%-beta-developer
360 setup-unslung-%-beta-developer:
361 [ -e releases/unslung-$*-beta ] || ( \
362 mkdir -p releases ; \
363 svn checkout https://svn.nslu2-linux.org/svnroot/unslung/releases/unslung-$*-beta \
364 releases/unslung-$*-beta \
366 ${MAKE} setup-unslung-$*-beta
368 # This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
369 .PHONY: setup-slugos-%-beta
370 .PRECIOUS: releases/slugos-%-beta/.configured
371 setup-slugos-%-beta releases/slugos-%-beta/.configured:
372 [ -e releases/slugos-$*-beta ] || ( \
373 mkdir -p releases ; \
374 svn checkout http://svn.nslu2-linux.org/svnroot/slugos/releases/slugos-$*-beta \
375 releases/slugos-$*-beta \
377 ( cd releases/slugos-$*-beta ; ${MAKE} setup-env )
378 [ -e downloads ] || ( mkdir -p downloads )
379 [ -e releases/slugos-$*-beta/downloads ] || \
380 ln -s ../../downloads releases/slugos-$*-beta/
381 touch releases/slugos-$*-beta/.configured
383 .PHONY: setup-slugos-%-beta-developer
384 setup-slugos-%-beta-developer:
385 [ -e releases/slugos-$*-beta ] || ( \
386 mkdir -p releases ; \
387 svn checkout https://svn.nslu2-linux.org/svnroot/slugos/releases/slugos-$*-beta \
388 releases/slugos-$*-beta \
390 ${MAKE} setup-slugos-$*-beta
392 .PRECIOUS: %/.configured
393 %/.configured: common/.git/config
394 [ -d $* ] || ( mkdir -p $* )
395 [ -e downloads ] || ( mkdir -p downloads )
396 [ -e $*/Makefile ] || ( cd $* ; ln -sf ../common/openembedded.mk Makefile )
397 [ -e $*/setup-env ] || ( cd $* ; ln -sf ../common/setup-env . )
398 [ -e $*/downloads ] || ( cd $* ; ln -sf ../downloads . )
399 [ -e $*/bitbake ] || ( cd $* ; ln -sf ../bitbake . )
400 [ -e $*/openembedded ] || ( cd $* ; ln -sf ../openembedded . )
401 [ -d $*/conf ] || ( mkdir -p $*/conf )
402 [ -e $*/conf/local.conf.sample ] || \
403 ( cd $*/conf ; ln -sf ../../common/conf/local.conf.sample . )
404 [ -e $*/conf/site.conf ] || ( cd $*/conf ; ln -sf ../../common/conf/site.conf . )
405 [ -e $*/conf/auto.conf ] || ( \
406 echo "DISTRO=\"$*\"" > $*/conf/auto.conf ; \
407 echo "MACHINE=\"nslu2be\"" >> $*/conf/auto.conf ; \
408 echo "IMAGE_TARGET=\"$*-image\"" >> $*/conf/auto.conf ; \
409 echo "DISTRO_TARGET=\"$*-packages\"" >> $*/conf/auto.conf ; \
411 [ -e $*/conf/local.conf ] || ( cd $*/conf ; touch local.conf )
412 rm -rf $*/tmp/cache
413 touch $*/.configured
415 .PHONY: setup-host-debian
416 setup-host-debian:
417 sudo apt-get install \
418 autoconf automake1.9 \
419 bison build-essential bzip2 \
420 ccache cvs \
421 devio diffstat \
422 flex \
423 gawk git-core \
424 help2man \
425 libncurses5-dev libtool \
426 make \
427 python-psyco \
428 quilt \
429 sed subversion \
430 texi2html texinfo \
431 unzip \
432 xmlto \
433 zlib1g-dev \
435 foo: \
436 docbook \
437 g++ gcj gfortran \
438 libglib2.0-dev \
439 m4 pkg-config python python-dev python2.4 python2.4-dev \
440 sharutils
442 .PHONY: setup-host-ubuntu
443 setup-host-ubuntu:
444 sudo apt-get install \
445 autoconf automake automake1.9 \
446 bison bzip2 \
447 ccache cogito cvs \
448 devio diffstat docbook \
449 ed \
450 fastjar flex \
451 gcc gcc-3.3 g++ gawk gcj gettext gfortran git git-core groff-base \
452 help2man \
453 intltool \
454 jikes \
455 libc6-dev libglib2.0-dev libncurses5-dev libssl-dev libtool \
456 libxml-parser-perl \
457 m4 make \
458 openssl \
459 patch pkg-config python python-dev python2.4 python2.4-dev \
460 quilt \
461 rcs ruby \
462 sdcc sed sharutils subversion sun-java5-jdk sysutils \
463 tcl8.4 texinfo texi2html \
464 unzip \
465 zip zlib1g-dev
466 @echo
467 @echo "To get python2.4-psyco (Recommended to speed up builds), please read"
468 @echo "http://ubuntuguide.org/#extrarepositories"
469 @echo "NOTE: python2.4-psyco will not work on 64-bit archs"
472 .PHONY: setup-host-gentoo
473 setup-host-gentoo:
474 su - -c " \
475 emerge -n \
476 autoconf automake \
477 bison \
478 ccache \
479 cvs \
480 flex \
481 glib \
482 libtool \
483 m4 \
484 make \
485 patch \
486 pkgconfig \
487 sed \
488 sharutils \
489 sys-apps/texinfo \
490 unzip \
491 psyco \
492 subversion \
493 dos2unix \
494 bzip2"
496 .PHONY: setup-host-centos
497 setup-host-centos:
498 sudo yum install \
499 bzip2 \
500 cvs \
501 diffstat \
502 diffutils \
503 gawk \
504 gcc-c++ \
505 git \
506 gzip \
507 makeinfo \
508 patch \
509 python-sqlite2 \
510 quilt \
511 rpm-build \
512 subversion \
513 tar \
514 tetex \
515 texi2html \
516 texinfo
517 sudo rpm -ivh http://www.python.org/pyvault/centos-4-i386/help2man-1.29-1.noarch.rpm
519 .PHONY: update-common
520 update-common: common/.git/config
521 ( cd common ; git pull )
523 .PHONY: update-bitbake
524 update-bitbake: bitbake/.svn/entries
525 ( cd bitbake ; svn up )
527 .PHONY: update-openembedded
528 update-openembedded: openembedded/.git/config
529 ( cd openembedded ; git pull )
531 .PHONY: update-unslung
532 update-unslung: unslung/.svn/entries
533 ( cd unslung ; svn update )
535 .PHONY: update-optware
536 update-optware: optware/.svn/entries
537 ( cd optware ; svn update )
539 .PHONY: update-openwrt
540 update-openwrt: openwrt/.svn/entries
541 ( cd openwrt ; svn update ; ./scripts/feeds update )
543 update-slugos-%-beta: releases/slugos-%-beta/.configured
544 ( cd releases/slugos-$*-beta ; svn update )
546 update-unslung-%-beta: releases/unslung-%-beta/.configured
547 ( cd releases/unslung-$*-beta ; svn update )
549 update-openwrt-%: releases/openwrt-%/.configured
550 ( cd releases/openwrt-$* ; svn update )
552 .PHONY: check-makefile
553 check-makefile:
554 ( wget -q -O - http://www.nslu2-linux.org/Makefile | diff -u Makefile - )
556 .PHONY: status-common
557 status-common: common/.git/config
558 ( cd common ; git diff --stat )
560 .PHONY: status-bitbake
561 status-bitbake: bitbake/.svn/entries
562 ( cd bitbake ; svn status )
564 .PHONY: status-openembedded
565 status-openembedded: openembedded/.git/config
566 ( cd openembedded ; git diff --stat )
568 .PHONY: status-unslung
569 status-unslung: unslung/.svn/entries
570 ( cd unslung ; svn status )
572 .PHONY: status-optware
573 status-optware: optware/.svn/entries
574 ( cd optware ; svn status )
576 .PHONY: status-openwrt
577 status-openwrt: openwrt/.svn/entries
578 ( cd openwrt ; svn status )
580 status-slugosbe-%-beta:
581 ( cd releases/slugosbe-$*-beta ; svn status )
583 status-unslung-%-beta:
584 ( cd releases/unslung-$*-beta ; svn status )
586 .PHONY: clobber-unslung
587 clobber-unslung:
588 [ ! -e unslung/Makefile ] || ( cd unslung ; ${MAKE} clobber )
590 .PHONY: clobber-slugos
591 clobber-slugos:
592 [ ! -e slugos/Makefile ] || ( cd slugos ; ${MAKE} clobber )
594 .PHONY: clobber-angstrom
595 clobber-angstrom:
596 [ ! -e angstrom/Makefile ] || ( cd angstrom ; ${MAKE} clobber )
598 .PHONY: clobber-openwrt
599 clobber-openwrt-%:
600 [ ! -e openwrt/Makefile ] || ( cd openwrt ; ${MAKE} clean )
602 .PHONY: clobber-optware
603 clobber-optware:
604 [ ! -e optware ] || \
605 for f in optware/platforms/packages-*.mk ; do \
606 export target=`echo $$f | sed -e 's|optware/platforms/packages-\(.*\)\.mk|\1|'` ; \
607 [ ! -e optware/$$target ] || make clobber-optware-$$target ; \
608 done
610 .PHONY: clobber-optware-%
611 clobber-optware-%:
612 [ ! -e optware/$*/Makefile ] || ( cd optware/$* ; ${MAKE} distclean )
614 .PHONY: distclean-common
615 distclean-common:
616 rm -rf common
618 .PHONY: distclean-bitbake
619 distclean-bitbake:
620 rm -rf bitbake
622 .PHONY: distclean-openembedded
623 distclean-openembedded:
624 rm -rf openembedded
626 .PHONY: distclean-unslung
627 distclean-unslung:
628 rm -rf unslung
630 .PHONY: distclean-slugos
631 distclean-slugos:
632 rm -rf slugos
634 .PHONY: distclean-angstrom
635 distclean-angstrom:
636 rm -rf angstrom
638 .PHONY: distclean-openwrt
639 distclean-openwrt:
640 rm -rf openwrt
642 .PHONY: distclean-optware
643 distclean-optware:
644 rm -rf optware
646 .PHONY: distclean-releases
647 distclean-releases:
648 rm -rf releases
650 .PHONY: distclean
651 distclean: distclean-common distclean-bitbake distclean-openembedded distclean-openwrt \
652 distclean-unslung distclean-slugos distclean-angstrom distclean-optware \
653 distclean-releases
654 rm -rf downloads
656 # Targets for use by those with write access to the repositories
658 .PHONY: push
659 push: push-common push-openembedded
661 .PHONY: push-common
662 push-common: update-common
663 ( cd common ; git push ssh://repo.or.cz/srv/git/nslu2-linux/master.git )
665 .PHONY: push-openembedded
666 push-openembedded: update-openembedded
667 ( cd openembedded ; git push ssh://git@git.openembedded.net/openembedded )
669 # End of Makefile