Updated the import targets
[nslu2-linux/master.git] / Makefile
bloba2eb3637c8b3fd8cee99f88bfe660fc61dcd95a2
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 .PHONY: all
12 all: update build
14 .PHONY: prefetch
15 prefetch: prefetch-unslung prefetch-slugos prefetch-angstrom prefetch-optware
17 .PHONY: build
18 build:
19 [ ! -e unslung ] || ${MAKE} unslung
20 [ ! -e slugos ] || ${MAKE} slugosbe slugosle
21 [ ! -e optware ] || ${MAKE} optware
22 [ ! -e openwrt ] || ${MAKE} openwrt
23 [ ! -e angstrom ] || ${MAKE} angstrombe angstromle
25 .PHONY: setup
26 ifneq ($(HOST_MACHINE),armeb)
27 setup: setup-common setup-kernel setup-bitbake setup-openembedded setup-unslung \
28 setup-slugos setup-angstrom setup-optware setup-openwrt
29 else
30 setup: setup-common setup-optware
31 endif
33 .PHONY: setup-developer
34 setup-developer: setup-common setup-bitbake setup-openembedded setup-optware-developer setup-openwrt-developer
36 .PHONY: update
37 ifneq ($(HOST_MACHINE),armeb)
38 update: update-common update-kernel update-bitbake update-openembedded update-optware update-openwrt
39 else
40 update: update-common update-optware
41 endif
43 .PHONY: status
44 status: status-common status-kernel status-bitbake status-openembedded status-optware status-openwrt
46 .PHONY: clobber
47 clobber: clobber-unslung clobber-slugos clobber-angstrom \
48 clobber-optware clobber-openwrt
50 .PHONY: distclean
51 distclean: distclean-common distclean-bitbake distclean-openembedded \
52 distclean-unslung distclean-slugos distclean-angstrom \
53 distclean-optware distclean-releases distclean-openwrt
55 .PHONY: prefetch-optware
56 prefetch-optware:
57 [ ! -e optware ] || \
58 for f in optware/platforms/packages-*.mk ; do \
59 export target=`echo $$f | sed -e 's|optware/platforms/packages-\(.*\)\.mk|\1|'` ; \
60 [ ! -e optware/$$target ] || make prefetch-optware-$$target ; \
61 done
63 .PHONY: prefetch-optware-%
64 prefetch-optware-%: optware/%/.configured
65 ( cd optware/$* ; ${MAKE} source )
67 .PHONY: prefetch-unslung-%-beta
68 prefetch-unslung-%-beta: releases/unslung-%-beta/.configured
69 ( cd releases/unslung-$*-beta ; ${MAKE} prefetch )
71 .PHONY: prefetch-%
72 prefetch-%: %/.configured bitbake/.git/config openembedded/.git/config
73 ( cd $* ; ${MAKE} prefetch )
75 .PHONY: unslung unslung-image
76 unslung unslung-image: unslung/.configured bitbake/.git/config openembedded/.git/config
77 ( cd unslung ; \
78 ${MAKE} setup-machine-nslu2be setup-distro-unslung setup-image-unslung-image ; \
79 ${MAKE} -k image )
81 .PHONY: slugosbe slugosbe-image
82 slugosbe slugosbe-image: slugos/.configured bitbake/.git/config openembedded/.git/config
83 ( cd slugos ; \
84 ${MAKE} setup-machine-nslu2be setup-distro-slugos setup-image-slugos-image ; \
85 ${MAKE} -k image )
87 .PHONY: slugosle slugosle-image
88 slugosle slugosle-image: slugos/.configured bitbake/.git/config openembedded/.git/config
89 ( cd slugos ; \
90 ${MAKE} setup-machine-nslu2le setup-distro-slugos setup-image-slugos-image ; \
91 ${MAKE} -k image )
93 .PHONY: angstrombe angstrombe-image
94 angstrombe angstrombe-image: angstrom/.configured bitbake/.git/config openembedded/.git/config
95 ( cd angstrom ; \
96 ${MAKE} setup-machine-ixp4xxbe setup-distro-angstrom-2008.1 setup-image-base-image ; \
97 ${MAKE} -k image )
99 .PHONY: angstromle angstromle-image
100 angstromle angstromle-image: angstrom/.configured bitbake/.git/config openembedded/.git/config
101 ( cd angstrom ; \
102 ${MAKE} setup-machine-ixp4xxle setup-distro-angstrom-2008.1 setup-image-base-image ; \
103 ${MAKE} -k image )
105 .PHONY: openwrt openwrt-image
106 openwrt openwrt-image: openwrt/.configured
107 ( cd openwrt ; ${MAKE} -k world)
109 .PHONY: unslung-packages
110 unslung-packages: unslung/.configured bitbake/.git/config openembedded/.git/config
111 ( cd unslung ; \
112 ${MAKE} setup-machine-nslu2be setup-distro-unslung setup-image-unslung-image setup-packages-unslung-packages ; \
113 ${MAKE} -k distro )
115 .PHONY: slugosbe-packages
116 slugosbe-packages: slugos/.configured bitbake/.git/config openembedded/.git/config
117 ( cd slugos ; \
118 ${MAKE} setup-machine-nslu2be setup-distro-slugos setup-image-slugos-image setup-packages-slugos-packages ; \
119 ${MAKE} -k distro )
121 .PHONY: slugosle-packages
122 slugosle-packages: slugos/.configured bitbake/.git/config openembedded/.git/config
123 ( cd slugos ; \
124 ${MAKE} setup-machine-nslu2le setup-distro-slugos setup-image-slugos-image setup-packages-slugos-packages ; \
125 ${MAKE} -k distro )
127 .PHONY: angstrombe-packages
128 angstrombe-packages: angstrom/.configured bitbake/.git/config openembedded/.git/config
129 ( cd angstrom ; \
130 ${MAKE} setup-machine-ixp4xxbe setup-distro-angstrom-2008.1 setup-image-base-image setup-packages-meta-angstrom ; \
131 ${MAKE} -k distro )
133 .PHONY: angstrombe-packages
134 angstromle-packages: angstrom/.configured bitbake/.git/config openembedded/.git/config
135 ( cd angstrom ; \
136 ${MAKE} setup-machine-ixp4xxle setup-distro-angstrom-2008.1 setup-image-base-image setup-packages-meta-angstrom ; \
137 ${MAKE} -k distro )
139 .PHONY: openwrt-packages
140 openwrt-packages: openwrt/.configured
141 ( cd openwrt ; ${MAKE} -k world )
143 .PHONY: %-packages
144 %-packages: %/.configured bitbake/.git/config openembedded/.git/config
145 ( cd $* ; ${MAKE} -k distro)
147 .PHONY: openwrt-index
148 openwrt-index: openwrt/.configured
149 ( cd openwrt ; ${MAKE} -k package/index )
151 .PHONY: %-index
152 %-index: %/.configured bitbake/.git/config openembedded/.git/config
153 ( cd $* ; ${MAKE} -k index)
155 .PHONY: optware
156 optware:
157 [ ! -e optware ] || \
158 for f in optware/platforms/packages-*.mk ; do \
159 export target=`echo $$f | sed -e 's|optware/platforms/packages-\(.*\)\.mk|\1|'` ; \
160 [ ! -e optware/$$target ] || make optware-$$target ; \
161 done
163 .PHONY: optware-%
164 optware-%: optware/%/.configured
165 ( cd optware/$* ; ${MAKE} autoclean ; ${MAKE} -k )
167 slugosle-%-beta: update-slugos-%-beta build-slugosle-%-beta
168 echo "$@ completed"
170 slugosbe-%-beta: update-slugos-%-beta build-slugosbe-%-beta
171 echo "$@ completed"
173 unslung-%-beta: update-unslung-%-beta build-unslung-%-beta
174 echo "$@ completed"
176 openwrt-%: update-openwrt-% build-openwrt-%
177 echo "$@ completed"
179 # The following two targets are deprecated,
180 # but are preserved for building old releases.
182 debianslug-%-beta: update-slugos-%-beta build-debianslug-%-beta
183 echo "$@ completed"
185 openslug-%-beta: update-slugos-%-beta build-openslug-%-beta
186 echo "$@ completed"
188 build-slugosle-%-beta: releases/slugos-%-beta/.configured
189 ( cd releases/slugos-$*-beta ; ${MAKE} -k slugosle-distro )
191 build-slugosbe-%-beta: releases/slugos-%-beta/.configured
192 ( cd releases/slugos-$*-beta ; ${MAKE} -k slugosbe-distro )
194 build-unslung-%-beta: releases/unslung-%-beta/.configured
195 ( cd releases/unslung-$*-beta ; ${MAKE} -k unslung-distro )
197 build-openwrt-%: releases/openwrt-%/.configured
198 ( cd releases/openwrt-$* ; ${MAKE} -k world package/index )
200 # The following two targets are deprecated,
201 # but are preserved for building old releases.
203 build-debianslug-%-beta: releases/slugos-%-beta/.configured
204 ( cd releases/slugos-$*-beta ; ${MAKE} -k debianslug-distro )
206 build-openslug-%-beta: releases/slugos-%-beta/.configured
207 ( cd releases/slugos-$*-beta ; ${MAKE} -k openslug-distro )
209 OE_SNAPSHOT_SITE := http://www.openembedded.org/snapshots
211 .PHONY: setup-common
212 .PRECIOUS: common/.git/config
213 setup-common common/.git/config:
214 [ -e common/.git/config ] || \
215 ( git clone git://repo.or.cz/nslu2-linux/master.git common && \
216 rm -f Makefile && \
217 ln -s common/Makefile Makefile )
218 touch common/.git/config
220 .PHONY: setup-kernel
221 .PRECIOUS: kernel/.git/config
222 setup-kernel kernel/.git/config:
223 [ -e downloads ] || ( mkdir -p downloads )
224 [ -e kernel/.git/config ] || \
225 ( git clone git://repo.or.cz/nslu2-linux/kernel.git ; \
226 cd kernel ; \
227 git config --add remote.origin.fetch '+refs/remotes/*:refs/remotes/*' )
228 [ -e kernel/downloads ] || ( ln -s ../downloads kernel/downloads )
229 ( cd kernel ; git pull )
230 touch kernel/.git/config
232 .PHONY: setup-optware
233 .PRECIOUS: optware/.git/config
234 setup-optware optware/.git/config:
235 [ -e optware/.git/config ] || \
236 ( git clone git://repo.or.cz/nslu2-linux/optware.git ; \
237 cd optware ; \
238 git config --add remote.origin.fetch '+refs/remotes/*:refs/remotes/*' )
239 [ -e optware/downloads ] || ( ln -s ../downloads optware/downloads )
240 ( cd optware ; git pull )
241 touch optware/.git/config
243 .PHONY: setup-bitbake
244 .PRECIOUS: bitbake/.git/config
245 setup-bitbake bitbake/.git/config: common/.git/config
246 [ -e bitbake/.git/config ] || \
247 ( git clone git://git.openmoko.org/git/bitbake.git bitbake ; \
248 cd bitbake ; \
249 git config --add remote.origin.fetch '+refs/remotes/*:refs/remotes/*' )
250 touch bitbake/.git/config
252 .PHONY: setup-openembedded
253 .PRECIOUS: openembedded/.git/config
254 setup-openembedded openembedded/.git/config: common/.git/config
255 [ -e openembedded/.git/config ] || \
256 ( git clone git://git.openembedded.net/org.openembedded.dev openembedded ; \
257 cd openembedded ; \
258 git config --add remote.origin.fetch '+refs/remotes/*:refs/remotes/*' )
259 touch openembedded/.git/config
261 .PHONY: setup-openwrt
262 .PRECIOUS: openwrt/.configured
263 setup-openwrt openwrt/.configured: common/.git/config
264 [ -e downloads ] || ( mkdir -p downloads )
265 [ -e openwrt/Makefile ] || \
266 ( svn co https://svn.openwrt.org/openwrt/trunk openwrt )
267 [ -e openwrt/dl ] || ( ln -s ../downloads openwrt/dl )
268 [ -e openwrt/.config ] || ( cp common/conf/openwrt.config openwrt/.config )
269 ( cd openwrt ; \
270 ./scripts/feeds update ; \
271 ./scripts/feeds install -a ; \
272 ${MAKE} oldconfig )
273 touch openwrt/.configured
275 # This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
276 .PRECIOUS: optware/%/.configured
277 optware/%/.configured: optware/.configured
278 [ -e downloads ] || ( mkdir -p downloads )
279 [ -e optware/$*/Makefile ] || ( \
280 mkdir -p optware/$* ; \
281 echo "OPTWARE_TARGET=$*" > optware/$*/Makefile ; \
282 echo "include ../Makefile" >> optware/$*/Makefile ; \
283 ln -s ../../downloads optware/$*/downloads ; \
284 ln -s ../make optware/$*/make ; \
285 ln -s ../scripts optware/$*/scripts ; \
286 ln -s ../sources optware/$*/sources ; \
288 touch optware/$*/.configured
290 .PHONY: setup-openwrt-developer
291 setup-openwrt-developer:
292 [ ! -e openwrt ] || ( mv openwrt openwrt-user )
293 svn co https://${LOGNAME}@svn.openwrt.org/openwrt/trunk openwrt
294 ${MAKE} setup-openwrt
296 .PHONY: setup-unslung setup-slugos setup-angstrom
297 setup-unslung setup-slugos setup-angstrom: \
298 setup-%: common/.git/config
299 rm -rf $*/.configured
300 ${MAKE} $*/.configured
302 # This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
303 .PHONY: setup-slugos-%-beta
304 .PRECIOUS: releases/slugos-%-beta/.configured
305 setup-slugos-%-beta releases/slugos-%-beta/.configured: common/.git/config
306 [ -e releases/slugos-$*-beta ] || ( \
307 mkdir -p releases ; \
308 svn checkout http://svn.nslu2-linux.org/svnroot/slugos/releases/slugos-$*-beta \
309 releases/slugos-$*-beta \
311 ( cd releases/slugos-$*-beta ; ${MAKE} setup-env )
312 [ -e downloads ] || ( mkdir -p downloads )
313 [ -e releases/slugos-$*-beta/downloads ] || \
314 ln -s ../../downloads releases/slugos-$*-beta/
315 touch releases/slugos-$*-beta/.configured
317 # This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
318 .PHONY: setup-unslung-%-beta
319 .PRECIOUS: releases/unslung-%-beta/.configured
320 setup-unslung-%-beta releases/unslung-%-beta/.configured: common/.git/config
321 [ -e releases/unslung-$*-beta ] || ( \
322 mkdir -p releases ; \
323 svn checkout http://svn.nslu2-linux.org/svnroot/unslung/releases/unslung-$*-beta \
324 releases/unslung-$*-beta \
326 ( cd releases/unslung-$*-beta ; ${MAKE} setup-env )
327 [ -e downloads ] || ( mkdir -p downloads )
328 [ -e releases/unslung-$*-beta/downloads ] || \
329 ln -s ../../downloads releases/unslung-$*-beta/
330 touch releases/unslung-$*-beta/.configured
332 # This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
333 .PHONY: setup-openwrt-%
334 .PRECIOUS: releases/openwrt-%/.configured
335 setup-openwrt-% releases/openwrt-%/.configured:
336 [ -e downloads ] || ( mkdir -p downloads )
337 [ -e releases/openwrt-$* ] || ( \
338 mkdir -p releases ; \
339 svn checkout https://svn.openwrt.org/openwrt/tags/$* \
340 releases/openwrt-$* \
342 [ -e releases/openwrt-$*/dl ] || ln -s ../../downloads releases/openwrt-$*/dl
343 [ -e releases/openwrt-$*/.config ] || \
344 ( cp common/conf/openwrt-$*.config releases/openwrt-$*/.config )
345 touch releases/openwrt-$*/.configured
347 .PHONY: setup-slugos-%-beta-developer
348 setup-slugos-%-beta-developer:
349 [ -e releases/slugos-$*-beta ] || ( \
350 mkdir -p releases ; \
351 svn checkout https://svn.nslu2-linux.org/svnroot/slugos/releases/slugos-$*-beta \
352 releases/slugos-$*-beta \
354 ${MAKE} setup-slugos-$*-beta
356 .PHONY: setup-unslung-%-beta-developer
357 setup-unslung-%-beta-developer:
358 [ -e releases/unslung-$*-beta ] || ( \
359 mkdir -p releases ; \
360 svn checkout https://svn.nslu2-linux.org/svnroot/unslung/releases/unslung-$*-beta \
361 releases/unslung-$*-beta \
363 ${MAKE} setup-unslung-$*-beta
365 .PRECIOUS: %/.configured
366 %/.configured: common/.git/config
367 [ -d $* ] || ( mkdir -p $* )
368 [ -e downloads ] || ( mkdir -p downloads )
369 [ -e $*/Makefile ] || ( cd $* ; ln -sf ../common/openembedded.mk Makefile )
370 [ -e $*/setup-env ] || ( cd $* ; ln -sf ../common/setup-env . )
371 [ -e $*/downloads ] || ( cd $* ; ln -sf ../downloads . )
372 [ -e $*/bitbake ] || ( cd $* ; ln -sf ../bitbake . )
373 [ -e $*/openembedded ] || ( cd $* ; ln -sf ../openembedded . )
374 [ -d $*/conf ] || ( mkdir -p $*/conf )
375 [ -e $*/conf/local.conf.sample ] || \
376 ( cd $*/conf ; ln -sf ../../common/conf/local.conf.sample . )
377 [ -e $*/conf/site.conf ] || ( cd $*/conf ; ln -sf ../../common/conf/site.conf . )
378 [ -e $*/conf/auto.conf ] || ( \
379 if [ "$*" = "angstrom" ] ; then \
380 echo "DISTRO=\"$*-2008.1\"" > $*/conf/auto.conf ; \
381 echo "MACHINE=\"ixp4xxbe\"" >> $*/conf/auto.conf ; \
382 echo "IMAGE_TARGET = \"base-image\"" >> $*/conf/auto.conf ; \
383 echo "DISTRO_TARGET = \"meta-angstrom\"" >> $*/conf/auto.conf ; \
384 echo "ENABLE_BINARY_LOCALE_GENERATION = \"0\"" >> $*/conf/auto.conf ; \
385 else \
386 echo "DISTRO=\"$*\"" > $*/conf/auto.conf ; \
387 echo "MACHINE=\"nslu2be\"" >> $*/conf/auto.conf ; \
388 echo "IMAGE_TARGET=\"$*-image\"" >> $*/conf/auto.conf ; \
389 echo "DISTRO_TARGET=\"$*-packages\"" >> $*/conf/auto.conf ; \
390 fi \
392 [ -e $*/conf/local.conf ] || ( cd $*/conf ; touch local.conf )
393 rm -rf $*/tmp/cache
394 touch $*/.configured
396 .PHONY: setup-host-debian
397 setup-host-debian:
398 su - -c " \
399 apt-get install \
400 autoconf automake automake1.9 \
401 bison bzip2 \
402 ccache \
403 cvs \
404 devio diffstat \
405 docbook \
406 flex \
407 g++ gawk gcj gettext gfortran git \
408 libc6-dev libglib2.0-dev libtool \
409 m4 make \
410 patch pkg-config python python-dev python-psyco python2.4 python2.4-dev \
411 quilt \
412 sed sharutils subversion \
413 texi2html texinfo \
414 unzip \
415 x-dev"
417 .PHONY: setup-host-ubuntu
418 setup-host-ubuntu:
419 sudo apt-get install \
420 autoconf automake automake1.9 \
421 bison bzip2 \
422 ccache cogito cvs \
423 devio diffstat docbook \
424 ed \
425 fastjar flex \
426 gcc gcc-3.3 g++ gawk gcj gettext gfortran git git-core groff-base \
427 help2man \
428 intltool \
429 jikes \
430 libc6-dev libglib2.0-dev libncurses5-dev libssl-dev libtool \
431 libxml-parser-perl \
432 m4 make \
433 openssl \
434 patch pkg-config python python-dev python2.4 python2.4-dev \
435 quilt \
436 rcs ruby \
437 sdcc sed sharutils subversion sun-java5-jdk sysutils \
438 tcl8.4 texinfo texi2html \
439 unzip \
440 zip zlib1g-dev
441 @echo
442 @echo "To get python2.4-psyco (Recommended to speed up builds), please read"
443 @echo "http://ubuntuguide.org/#extrarepositories"
444 @echo "NOTE: python2.4-psyco will not work on 64-bit archs"
447 .PHONY: setup-host-gentoo
448 setup-host-gentoo:
449 su - -c " \
450 emerge -n \
451 autoconf automake \
452 bison \
453 ccache \
454 cvs \
455 flex \
456 glib \
457 libtool \
458 m4 \
459 make \
460 patch \
461 pkgconfig \
462 sed \
463 sharutils \
464 sys-apps/texinfo \
465 unzip \
466 psyco \
467 subversion \
468 dos2unix \
469 bzip2"
471 .PHONY: setup-host-centos
472 setup-host-centos:
473 sudo yum install \
474 bzip2 \
475 cvs \
476 diffstat \
477 diffutils \
478 gawk \
479 gcc-c++ \
480 git \
481 gzip \
482 makeinfo \
483 patch \
484 python-sqlite2 \
485 quilt \
486 rpm-build \
487 subversion \
488 tar \
489 tetex \
490 texi2html \
491 texinfo
492 sudo rpm -ivh http://www.python.org/pyvault/centos-4-i386/help2man-1.29-1.noarch.rpm
494 .PHONY: update-common
495 update-common:
496 ( cd common ; git pull )
498 .PHONY: update-bitbake
499 update-bitbake: bitbake/.git/config
500 ( cd bitbake ; git pull )
502 .PHONY: update-openembedded
503 update-openembedded: openembedded/.git/config
504 ( cd openembedded ; git pull )
506 .PHONY: update-optware
507 update-optware: optware/.git/config
508 ( cd optware ; git pull )
510 .PHONY: update-kernel
511 update-kernel: kernel/.git/config
512 ( cd kernel ; git pull )
514 .PHONY: update-openwrt
515 update-openwrt: openwrt/.configured
516 ( cd openwrt ; svn update ; ./scripts/feeds update )
518 update-slugos-%-beta: releases/slugos-%-beta/.configured
519 ( cd releases/slugos-$*-beta ; svn update )
521 update-unslung-%-beta: releases/unslung-%-beta/.configured
522 ( cd releases/unslung-$*-beta ; svn update )
524 update-openwrt-%: releases/openwrt-%/.configured
525 ( cd releases/openwrt-$* ; svn update )
527 .PHONY: check-makefile
528 check-makefile:
529 ( wget -q -O - http://www.nslu2-linux.org/Makefile | diff -u Makefile - )
531 .PHONY: status-common
532 status-common: common/.git/config
533 ( cd common ; git diff --stat )
535 .PHONY: status-bitbake
536 status-bitbake: bitbake/.git/config
537 ( cd bitbake ; git diff --stat )
539 .PHONY: status-kernel
540 status-kernel: kernel/.git/config
541 ( cd kernel ; git diff --stat )
543 .PHONY: status-openembedded
544 status-openembedded: openembedded/.git/config
545 ( cd openembedded ; git diff --stat )
547 .PHONY: status-optware
548 status-optware: optware/.git/config
549 ( cd optware ; git diff --stat )
551 .PHONY: status-openwrt
552 status-openwrt: openwrt/.configured
553 ( cd openwrt ; svn status )
555 status-slugosbe-%-beta:
556 ( cd releases/slugosbe-$*-beta ; svn status )
558 status-unslung-%-beta:
559 ( cd releases/unslung-$*-beta ; svn status )
561 .PHONY: clobber-unslung
562 clobber-unslung:
563 [ ! -e unslung/Makefile ] || ( cd unslung ; ${MAKE} clobber )
565 .PHONY: clobber-slugos
566 clobber-slugos:
567 [ ! -e slugos/Makefile ] || ( cd slugos ; ${MAKE} clobber )
569 .PHONY: clobber-angstrom
570 clobber-angstrom:
571 [ ! -e angstrom/Makefile ] || ( cd angstrom ; ${MAKE} clobber )
573 .PHONY: clobber-openwrt
574 clobber-openwrt-%:
575 [ ! -e openwrt/Makefile ] || ( cd openwrt ; ${MAKE} clean )
577 .PHONY: clobber-optware
578 clobber-optware:
579 [ ! -e optware ] || \
580 for f in optware/platforms/packages-*.mk ; do \
581 export target=`echo $$f | sed -e 's|optware/platforms/packages-\(.*\)\.mk|\1|'` ; \
582 [ ! -e optware/$$target ] || make clobber-optware-$$target ; \
583 done
585 .PHONY: clobber-optware-%
586 clobber-optware-%:
587 [ ! -e optware/$*/Makefile ] || ( cd optware/$* ; ${MAKE} distclean )
589 .PHONY: distclean-common
590 distclean-common:
591 rm -rf common
593 .PHONY: distclean-kernel
594 distclean-kernel:
595 rm -rf kernel
597 .PHONY: distclean-bitbake
598 distclean-bitbake:
599 rm -rf bitbake
601 .PHONY: distclean-openembedded
602 distclean-openembedded:
603 rm -rf openembedded
605 .PHONY: distclean-unslung
606 distclean-unslung:
607 rm -rf unslung
609 .PHONY: distclean-slugos
610 distclean-slugos:
611 rm -rf slugos
613 .PHONY: distclean-angstrom
614 distclean-angstrom:
615 rm -rf angstrom
617 .PHONY: distclean-openwrt
618 distclean-openwrt:
619 rm -rf openwrt
621 .PHONY: distclean-optware
622 distclean-optware:
623 rm -rf optware
625 .PHONY: distclean-releases
626 distclean-releases:
627 rm -rf releases
629 .PHONY: distclean
630 distclean: distclean-common distclean-kernel distclean-bitbake distclean-openembedded distclean-openwrt \
631 distclean-unslung distclean-slugos distclean-angstrom distclean-optware \
632 distclean-releases
633 rm -rf downloads
635 # Targets for use by those with write access to the repositories
637 .PHONY: push
638 push: push-common push-optware push-kernel
640 .PHONY: push-common
641 push-common: update-common
642 ( cd common ; git push --all ssh://repo.or.cz/srv/git/nslu2-linux/master.git )
644 .PHONY: push-optware
645 push-optware: update-optware
646 ( cd optware ; git dcommit )
648 .PHONY: push-kernel
649 push-kernel: update-kernel
650 ( cd kernel ; git dcommit )
652 .PHONY: import
653 import: import-optware import-kernel
655 .PHONY: import-optware
656 import-optware: optware/.git/config
657 ( cd optware ; git svn init -s svn+ssh://svn.nslu2-linux.org/svnroot/optware )
658 ( cd optware ; git svn fetch -A AUTHORS )
659 ( cd optware ; git svn rebase -A AUTHORS )
661 .PHONY: import-kernel
662 import-kernel: kernel/.git/config
663 ( cd kernel ; git svn init -s svn+ssh://svn.nslu2-linux.org/svnroot/kernel )
664 ( cd kernel ; git svn fetch -A AUTHORS )
665 ( cd kernel ; git svn rebase -A AUTHORS )
667 .PHONY: mirror
668 mirror: mirror-optware mirror-kernel
670 .PHONY: mirror-optware
671 mirror-optware: import-optware
672 ( cd optware ; git push --all ssh://repo.or.cz/srv/git/nslu2-linux/optware.git )
674 .PHONY: mirror-kernel
675 mirror-kernel: import-kernel
676 ( cd kernel ; git push --all ssh://repo.or.cz/srv/git/nslu2-linux/kernel.git )
678 # End of Makefile