0f233c8eeae755a1a7e3e3173918fee0f90c563d
[nslu2-linux/master.git] / Makefile
blob0f233c8eeae755a1a7e3e3173918fee0f90c563d
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_BRANCH = 1.8
12 BITBAKE_VERSION = 1.8.18
14 .PHONY: all
15 all: update build
17 .PHONY: prefetch
18 prefetch: prefetch-unslung prefetch-slugos prefetch-unslung prefetch-optware
20 .PHONY: build
21 build:
22 [ ! -e unslung ] || ${MAKE} unslung
23 [ ! -e slugos ] || ${MAKE} slugosbe slugosle
24 [ ! -e optware ] || ${MAKE} optware
25 [ ! -e openwrt ] || ${MAKE} openwrt
27 .PHONY: setup
28 ifneq ($(HOST_MACHINE),armeb)
29 setup: setup-common setup-bitbake setup-openembedded setup-unslung \
30 setup-slugos 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 \
50 clobber-optware clobber-openwrt
52 .PHONY: distclean
53 distclean: distclean-common distclean-bitbake distclean-openembedded \
54 distclean-unslung distclean-slugos \
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/.git/config 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/.git/config 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/.git/config openembedded/.git/config
94 ( cd slugos ; \
95 ${MAKE} setup-machine-nslu2le setup-distro-slugos setup-image-slugos-image ; \
96 ${MAKE} -k image )
98 .PHONY: openwrt openwrt-image
99 openwrt openwrt-image: openwrt/.svn/entries
100 ( cd openwrt ; ${MAKE} -k world)
102 .PHONY: unslung-packages
103 unslung-packages: unslung/.configured
104 ( cd unslung ; \
105 ${MAKE} -k distro )
107 .PHONY: slugosbe-packages
108 slugosbe-packages: slugos/.configured bitbake/.git/config openembedded/.git/config
109 ( cd slugos ; \
110 ${MAKE} setup-machine-nslu2be setup-distro-slugos setup-image-slugos-image setup-packages-slugos-packages ; \
111 ${MAKE} -k distro )
113 .PHONY: slugosle-packages
114 slugosle-packages: slugos/.configured bitbake/.git/config openembedded/.git/config
115 ( cd slugos ; \
116 ${MAKE} setup-machine-nslu2le setup-distro-slugos setup-image-slugos-image setup-packages-slugos-packages ; \
117 ${MAKE} -k distro )
119 .PHONY: openwrt-packages
120 openwrt-packages: openwrt/.svn/entries
121 ( cd openwrt ; ${MAKE} -k world )
123 .PHONY: %-packages
124 %-packages: %/.configured bitbake/.git/config openembedded/.git/config
125 ( cd $* ; ${MAKE} -k distro)
127 .PHONY: openwrt-index
128 openwrt-index: openwrt/.svn/entries
129 ( cd openwrt ; ${MAKE} -k package/index )
131 .PHONY: %-index
132 %-index: %/.configured bitbake/.git/config openembedded/.git/config
133 ( cd $* ; ${MAKE} -k index)
135 .PHONY: optware
136 optware:
137 [ ! -e optware ] || \
138 for f in optware/platforms/packages-*.mk ; do \
139 export target=`echo $$f | sed -e 's|optware/platforms/packages-\(.*\)\.mk|\1|'` ; \
140 [ ! -e optware/$$target ] || make optware-$$target ; \
141 done
143 .PHONY: optware-%
144 optware-%: optware/%/.configured
145 ( cd optware/$* ; ${MAKE} autoclean ; ${MAKE} -k )
147 slugosle-%-beta: update-slugos-%-beta build-slugosle-%-beta
148 echo "$@ completed"
150 slugosle-%-beta-image: update-slugos-%-beta build-slugosle-%-beta-image
151 echo "$@ completed"
153 slugosbe-%-beta: update-slugos-%-beta build-slugosbe-%-beta
154 echo "$@ completed"
156 slugosbe-%-beta-image: update-slugos-%-beta build-slugosbe-%-beta-image
157 echo "$@ completed"
159 unslung-%-beta: update-unslung-%-beta build-unslung-%-beta
160 echo "$@ completed"
162 openwrt-%: update-openwrt-% build-openwrt-%
163 echo "$@ completed"
165 # The following two targets are deprecated,
166 # but are preserved for building old releases.
168 debianslug-%-beta: update-slugos-%-beta build-debianslug-%-beta
169 echo "$@ completed"
171 openslug-%-beta: update-slugos-%-beta build-openslug-%-beta
172 echo "$@ completed"
174 build-slugosle-%-beta: releases/slugos-%-beta/.configured
175 ( cd releases/slugos-$*-beta ; ${MAKE} -k slugosle-distro )
177 build-slugosle-%-beta-image: releases/slugos-%-beta/.configured
178 ( cd releases/slugos-$*-beta ; ${MAKE} -k slugosle-image )
180 build-slugosbe-%-beta: releases/slugos-%-beta/.configured
181 ( cd releases/slugos-$*-beta ; ${MAKE} -k slugosbe-distro )
183 build-slugosbe-%-beta-image: releases/slugos-%-beta/.configured
184 ( cd releases/slugos-$*-beta ; ${MAKE} -k slugosbe-image )
186 build-unslung-%-beta: releases/unslung-%-beta/.configured
187 ( cd releases/unslung-$*-beta ; ${MAKE} -k unslung-distro )
189 build-openwrt-%: releases/openwrt-%/.configured
190 ( cd releases/openwrt-$* ; ${MAKE} -k world package/index )
192 # The following two targets are deprecated,
193 # but are preserved for building old releases.
195 build-debianslug-%-beta: releases/slugos-%-beta/.configured
196 ( cd releases/slugos-$*-beta ; ${MAKE} -k debianslug-distro )
198 build-openslug-%-beta: releases/slugos-%-beta/.configured
199 ( cd releases/slugos-$*-beta ; ${MAKE} -k openslug-distro )
201 OE_SNAPSHOT_SITE := http://www.openembedded.org/snapshots
203 .PHONY: setup-common
204 .PRECIOUS: common/.git/config
205 setup-common common/.git/config:
206 [ -e common/.git/config ] || \
207 ( git clone git://repo.or.cz/nslu2-linux/master.git common && \
208 rm -f Makefile && \
209 ln -s common/Makefile Makefile )
210 touch common/.git/config
212 .PHONY: setup-bitbake
213 .PRECIOUS: bitbake/.git/config
214 setup-bitbake bitbake/.git/config:
215 [ -d bitbake/.svn ] && \
216 mv bitbake bitbake_svn_obsolete
217 [ -e bitbake/.git/config ] || \
218 ( git clone git://git.openembedded.org/bitbake bitbake ; \
219 cd bitbake && \
220 git checkout -b ${BITBAKE_BRANCH} --track origin/${BITBAKE_BRANCH} && \
221 git checkout ${BITBAKE_VERSION} )
223 .PHONY: setup-openembedded
224 .PRECIOUS: openembedded/.git/config
225 setup-openembedded openembedded/.git/config:
226 [ -e openembedded/.git/config ] || \
227 ( git clone git://git.openembedded.org/openembedded openembedded ; \
228 cd openembedded ; \
229 git config --add remote.origin.fetch '+refs/heads/*:refs/remotes/*' )
230 ( cd openembedded && \
231 ( git branch | egrep -e ' org.openembedded.dev$$' > /dev/null || \
232 git checkout -b org.openembedded.dev --track origin/org.openembedded.dev ))
233 ( cd openembedded && git checkout org.openembedded.dev )
234 touch openembedded/.git/config
236 .PHONY: setup-unslung
237 .PRECIOUS: unslung/.svn/entries
238 setup-unslung unslung/.svn/entries:
239 [ -e downloads ] || ( mkdir -p downloads )
240 [ -e unslung/.svn/entries ] || \
241 ( svn co http://svn.nslu2-linux.org/svnroot/unslung/trunk unslung )
242 touch unslung/.svn/entries
244 .PHONY: setup-unslung-%
245 setup-unslung-%: unslung/.svn/entries
246 ${MAKE} unslung/$*/.configured
248 .PHONY: setup-unslung-developer
249 setup-unslung-developer:
250 [ ! -e unslung ] || ( mv unslung unslung-user )
251 [ -e unslung/.svn/entries ] || \
252 ( svn co https://svn.nslu2-linux.org/svnroot/unslung/trunk unslung )
253 ${MAKE} setup-unslung
255 .PRECIOUS: unslung/.configured
256 unslung/.configured: common/.git/config unslung/.svn/entries
257 [ -e downloads ] || ( mkdir -p downloads )
258 [ -e unslung/downloads ] || ( cd unslung ; ln -sf ../downloads . )
259 rm -rf unslung/tmp/cache
260 touch unslung/.configured
262 .PHONY: setup-optware
263 .PRECIOUS: optware/.svn/entries
264 setup-optware optware/.svn/entries:
265 [ -e downloads ] || ( mkdir -p downloads )
266 [ -e optware/.svn/entries ] || \
267 ( svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware )
268 touch optware/.svn/entries
270 .PHONY: setup-optware-%
271 setup-optware-%: optware/.svn/entries
272 ${MAKE} optware/$*/.configured
274 .PHONY: setup-optware-developer
275 setup-optware-developer:
276 [ ! -e optware ] || ( mv optware optware-user )
277 [ -e optware/.svn/entries ] || \
278 ( svn co https://svn.nslu2-linux.org/svnroot/optware/trunk optware )
279 ${MAKE} setup-optware
281 # This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
282 .PRECIOUS: optware/%/.configured
283 optware/%/.configured: optware/.svn/entries
284 [ -e downloads ] || ( mkdir -p downloads )
285 [ -e optware/$*/Makefile ] || ( \
286 mkdir -p optware/$* ; \
287 echo "OPTWARE_TARGET=$*" > optware/$*/Makefile ; \
288 echo "include ../Makefile" >> optware/$*/Makefile ; \
289 ln -s ../../downloads optware/$*/downloads ; \
290 ln -s ../make optware/$*/make ; \
291 ln -s ../scripts optware/$*/scripts ; \
292 ln -s ../sources optware/$*/sources ; \
294 touch optware/$*/.configured
296 .PHONY: setup-openwrt
297 .PRECIOUS: openwrt/.svn/entries
298 setup-openwrt openwrt/.svn/entries: common/.git/config
299 [ -e downloads ] || ( mkdir -p downloads )
300 [ -e openwrt/Makefile ] || \
301 ( svn co https://svn.openwrt.org/openwrt/trunk openwrt )
302 [ -e openwrt/dl ] || ( ln -s ../downloads openwrt/dl )
303 [ -e openwrt/.config ] || ( cp common/conf/openwrt.config openwrt/.config )
304 ( cd openwrt ; \
305 ./scripts/feeds update ; \
306 ./scripts/feeds install -a ; \
307 ${MAKE} oldconfig )
308 touch openwrt/.svn/entries
310 .PHONY: setup-openwrt-developer
311 setup-openwrt-developer:
312 [ ! -e openwrt ] || ( mv openwrt openwrt-user )
313 svn co https://${LOGNAME}@svn.openwrt.org/openwrt/trunk openwrt
314 ${MAKE} setup-openwrt
316 # This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
317 .PHONY: setup-openwrt-%
318 .PRECIOUS: releases/openwrt-%/.configured
319 setup-openwrt-% releases/openwrt-%/.configured:
320 [ -e downloads ] || ( mkdir -p downloads )
321 [ -e releases/openwrt-$* ] || ( \
322 mkdir -p releases ; \
323 ( svn checkout https://svn.openwrt.org/openwrt/tags/$* \
324 releases/openwrt-$* | \
325 svn checkout https://svn.openwrt.org/openwrt/branches/$* \
326 releases/openwrt-$* ) \
328 [ -e releases/openwrt-$*/dl ] || ln -s ../../downloads releases/openwrt-$*/dl
329 [ -e releases/openwrt-$*/.config ] || \
330 ( cp common/conf/openwrt-$*.config releases/openwrt-$*/.config )
331 touch releases/openwrt-$*/.configured
333 .PHONY: setup-slugos
334 setup-slugos: setup-%:
335 rm -rf $*/.configured
336 ${MAKE} $*/.configured
338 # This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
339 .PHONY: setup-unslung-%-beta
340 .PRECIOUS: releases/unslung-%-beta/.configured
341 setup-unslung-%-beta releases/unslung-%-beta/.configured:
342 [ -e releases/unslung-$*-beta ] || ( \
343 mkdir -p releases ; \
344 svn checkout http://svn.nslu2-linux.org/svnroot/unslung/releases/unslung-$*-beta \
345 releases/unslung-$*-beta \
347 ( cd releases/unslung-$*-beta ; ${MAKE} setup-env )
348 [ -e downloads ] || ( mkdir -p downloads )
349 [ -e releases/unslung-$*-beta/downloads ] || \
350 ln -s ../../downloads releases/unslung-$*-beta/
351 touch releases/unslung-$*-beta/.configured
353 .PHONY: setup-unslung-%-beta-developer
354 setup-unslung-%-beta-developer:
355 [ -e releases/unslung-$*-beta ] || ( \
356 mkdir -p releases ; \
357 svn checkout https://svn.nslu2-linux.org/svnroot/unslung/releases/unslung-$*-beta \
358 releases/unslung-$*-beta \
360 ${MAKE} setup-unslung-$*-beta
362 # This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
363 .PHONY: setup-slugos-%-beta
364 .PRECIOUS: releases/slugos-%-beta/.configured
365 setup-slugos-%-beta releases/slugos-%-beta/.configured:
366 [ -e releases/slugos-$*-beta ] || ( \
367 mkdir -p releases ; \
368 svn checkout http://svn.nslu2-linux.org/svnroot/slugos/releases/slugos-$*-beta \
369 releases/slugos-$*-beta \
371 ( cd releases/slugos-$*-beta ; ${MAKE} setup-env )
372 [ -e downloads ] || ( mkdir -p downloads )
373 [ -e releases/slugos-$*-beta/downloads ] || \
374 ln -s ../../downloads releases/slugos-$*-beta/
375 touch releases/slugos-$*-beta/.configured
377 .PHONY: setup-slugos-%-beta-developer
378 setup-slugos-%-beta-developer:
379 [ -e releases/slugos-$*-beta ] || ( \
380 mkdir -p releases ; \
381 svn checkout https://svn.nslu2-linux.org/svnroot/slugos/releases/slugos-$*-beta \
382 releases/slugos-$*-beta \
384 ${MAKE} setup-slugos-$*-beta
386 .PRECIOUS: %/.configured
387 %/.configured: common/.git/config
388 [ -d $* ] || ( mkdir -p $* )
389 [ -e downloads ] || ( mkdir -p downloads )
390 [ -e $*/Makefile ] || ( cd $* ; ln -sf ../common/openembedded.mk Makefile )
391 [ -e $*/setup-env ] || ( cd $* ; ln -sf ../common/setup-env . )
392 [ -e $*/downloads ] || ( cd $* ; ln -sf ../downloads . )
393 [ -e $*/bitbake ] || ( cd $* ; ln -sf ../bitbake . )
394 [ -e $*/openembedded ] || ( cd $* ; ln -sf ../openembedded . )
395 [ -d $*/conf ] || ( mkdir -p $*/conf )
396 [ -e $*/conf/local.conf.sample ] || \
397 ( cd $*/conf ; ln -sf ../../common/conf/local.conf.sample . )
398 [ -e $*/conf/site.conf ] || ( cd $*/conf ; ln -sf ../../common/conf/site.conf . )
399 [ -e $*/conf/auto.conf ] || ( \
400 echo "DISTRO=\"$*\"" > $*/conf/auto.conf ; \
401 echo "MACHINE=\"nslu2be\"" >> $*/conf/auto.conf ; \
402 echo "IMAGE_TARGET=\"$*-image\"" >> $*/conf/auto.conf ; \
403 echo "DISTRO_TARGET=\"$*-packages\"" >> $*/conf/auto.conf ; \
405 [ -e $*/conf/local.conf ] || ( cd $*/conf ; touch local.conf )
406 rm -rf $*/tmp/cache
407 touch $*/.configured
409 .PHONY: setup-host-debian
410 setup-host-debian:
411 sudo apt-get install \
412 autoconf automake1.9 \
413 bison build-essential bzip2 \
414 ccache cvs \
415 devio diffstat \
416 flex \
417 gawk git-core \
418 help2man \
419 libncurses5-dev libtool \
420 make \
421 python-psyco \
422 quilt \
423 sed subversion \
424 texi2html texinfo \
425 unzip \
426 xmlto \
427 zlib1g-dev \
429 foo: \
430 docbook \
431 g++ gcj gfortran \
432 libglib2.0-dev \
433 m4 pkg-config python python-dev python2.4 python2.4-dev \
434 sharutils
436 .PHONY: setup-host-ubuntu
437 setup-host-ubuntu:
438 sudo apt-get install \
439 autoconf automake automake1.9 \
440 bison bzip2 \
441 ccache cogito cvs \
442 devio diffstat docbook \
443 ed \
444 fastjar flex \
445 gcc gcc-3.3 g++ gawk gcj gettext gfortran git git-core groff-base \
446 help2man \
447 intltool \
448 jikes \
449 libc6-dev libglib2.0-dev libncurses5-dev libssl-dev libtool \
450 libxml-parser-perl \
451 m4 make \
452 openssl \
453 patch pkg-config python python-dev python2.4 python2.4-dev \
454 quilt \
455 rcs ruby \
456 sdcc sed sharutils subversion sun-java5-jdk sysutils \
457 tcl8.4 texinfo texi2html \
458 unzip \
459 zip zlib1g-dev
460 @echo
461 @echo "To get python2.4-psyco (Recommended to speed up builds), please read"
462 @echo "http://ubuntuguide.org/#extrarepositories"
463 @echo "NOTE: python2.4-psyco will not work on 64-bit archs"
466 .PHONY: setup-host-gentoo
467 setup-host-gentoo:
468 su - -c " \
469 emerge -n \
470 autoconf automake \
471 bison \
472 ccache \
473 cvs \
474 flex \
475 glib \
476 libtool \
477 m4 \
478 make \
479 patch \
480 pkgconfig \
481 sed \
482 sharutils \
483 sys-apps/texinfo \
484 unzip \
485 psyco \
486 subversion \
487 dos2unix \
488 bzip2"
490 .PHONY: setup-host-centos
491 setup-host-centos:
492 sudo yum install \
493 bzip2 \
494 cvs \
495 diffstat \
496 diffutils \
497 gawk \
498 gcc-c++ \
499 git \
500 gzip \
501 makeinfo \
502 patch \
503 python-sqlite2 \
504 quilt \
505 rpm-build \
506 subversion \
507 tar \
508 tetex \
509 texi2html \
510 texinfo
511 sudo rpm -ivh http://www.python.org/pyvault/centos-4-i386/help2man-1.29-1.noarch.rpm
513 .PHONY: update-common
514 update-common: common/.git/config
515 ( cd common ; git pull )
517 .PHONY: update-bitbake
518 update-bitbake: bitbake/.git/config
519 ( cd bitbake && \
520 git checkout ${BITBAKE_BRANCH} && \
521 git pull && \
522 git checkout ${BITBAKE_VERSION} )
524 .PHONY: update-openembedded
525 update-openembedded: openembedded/.git/config
526 ( cd openembedded ; git pull )
528 .PHONY: update-unslung
529 update-unslung: unslung/.svn/entries
530 ( cd unslung ; svn update )
532 .PHONY: update-optware
533 update-optware: optware/.svn/entries
534 ( cd optware ; svn update )
536 .PHONY: update-openwrt
537 update-openwrt: openwrt/.svn/entries
538 ( cd openwrt ; svn update ; ./scripts/feeds update -a ; ./scripts/feeds install -a )
540 update-slugos-%-beta: releases/slugos-%-beta/.configured
541 ( cd releases/slugos-$*-beta ; svn update )
543 update-unslung-%-beta: releases/unslung-%-beta/.configured
544 ( cd releases/unslung-$*-beta ; svn update )
546 update-openwrt-%: releases/openwrt-%/.configured
547 ( cd releases/openwrt-$* ; svn update ; ./scripts/feeds update -a ; ./scripts/feeds install -a )
549 .PHONY: check-makefile
550 check-makefile:
551 ( wget -q -O - http://www.nslu2-linux.org/Makefile | diff -u Makefile - )
553 .PHONY: status-common
554 status-common: common/.git/config
555 ( cd common ; git diff --stat )
557 .PHONY: status-bitbake
558 status-bitbake: bitbake/.git/config
559 ( cd bitbake ; git diff --stat )
561 .PHONY: status-openembedded
562 status-openembedded: openembedded/.git/config
563 ( cd openembedded ; git diff --stat )
565 .PHONY: status-unslung
566 status-unslung: unslung/.svn/entries
567 ( cd unslung ; svn status )
569 .PHONY: status-optware
570 status-optware: optware/.svn/entries
571 ( cd optware ; svn status )
573 .PHONY: status-openwrt
574 status-openwrt: openwrt/.svn/entries
575 ( cd openwrt ; svn status )
577 status-slugosbe-%-beta:
578 ( cd releases/slugosbe-$*-beta ; svn status )
580 status-unslung-%-beta:
581 ( cd releases/unslung-$*-beta ; svn status )
583 .PHONY: clobber-unslung
584 clobber-unslung:
585 [ ! -e unslung/Makefile ] || ( cd unslung ; ${MAKE} clobber )
587 .PHONY: clobber-slugos
588 clobber-slugos:
589 [ ! -e slugos/Makefile ] || ( cd slugos ; ${MAKE} clobber )
591 .PHONY: clobber-openwrt
592 clobber-openwrt-%:
593 [ ! -e openwrt/Makefile ] || ( cd openwrt ; ${MAKE} clean )
595 .PHONY: clobber-optware
596 clobber-optware:
597 [ ! -e optware ] || \
598 for f in optware/platforms/packages-*.mk ; do \
599 export target=`echo $$f | sed -e 's|optware/platforms/packages-\(.*\)\.mk|\1|'` ; \
600 [ ! -e optware/$$target ] || make clobber-optware-$$target ; \
601 done
603 .PHONY: clobber-optware-%
604 clobber-optware-%:
605 [ ! -e optware/$*/Makefile ] || ( cd optware/$* ; ${MAKE} distclean )
607 .PHONY: distclean-common
608 distclean-common:
609 rm -rf common
611 .PHONY: distclean-bitbake
612 distclean-bitbake:
613 rm -rf bitbake
615 .PHONY: distclean-openembedded
616 distclean-openembedded:
617 rm -rf openembedded
619 .PHONY: distclean-unslung
620 distclean-unslung:
621 rm -rf unslung
623 .PHONY: distclean-slugos
624 distclean-slugos:
625 rm -rf slugos
627 .PHONY: distclean-openwrt
628 distclean-openwrt:
629 rm -rf openwrt
631 .PHONY: distclean-optware
632 distclean-optware:
633 rm -rf optware
635 .PHONY: distclean-releases
636 distclean-releases:
637 rm -rf releases
639 .PHONY: distclean
640 distclean: distclean-common distclean-bitbake distclean-openembedded distclean-openwrt \
641 distclean-unslung distclean-slugos distclean-optware \
642 distclean-releases
643 rm -rf downloads
645 # Targets for use by those with write access to the repositories
647 .PHONY: push
648 push: push-common push-openembedded
650 .PHONY: push-common
651 push-common: update-common
652 ( cd common ; git push ssh://repo.or.cz/srv/git/nslu2-linux/master.git )
654 .PHONY: push-openembedded
655 push-openembedded: update-openembedded
656 ( cd openembedded ; git push ssh://git@git.openembedded.org/openembedded )
658 # End of Makefile