Makefile: Added setup-optware-<platform> target, and fixed push target
[nslu2-linux/master.git] / Makefile
blobfdee084b0bb44a1d848c045bbed7a16ba0f0a730
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 .PHONY: setup-optware-%
276 setup-optware-%: optware/.git/config
277 ${MAKE} optware/$*/.configured
279 # This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
280 .PRECIOUS: optware/%/.configured
281 optware/%/.configured: optware/.git/config
282 [ -e downloads ] || ( mkdir -p downloads )
283 [ -e optware/$*/Makefile ] || ( \
284 mkdir -p optware/$* ; \
285 echo "OPTWARE_TARGET=$*" > optware/$*/Makefile ; \
286 echo "include ../Makefile" >> optware/$*/Makefile ; \
287 ln -s ../../downloads optware/$*/downloads ; \
288 ln -s ../make optware/$*/make ; \
289 ln -s ../scripts optware/$*/scripts ; \
290 ln -s ../sources optware/$*/sources ; \
292 touch optware/$*/.configured
294 .PHONY: setup-openwrt-developer
295 setup-openwrt-developer:
296 [ ! -e openwrt ] || ( mv openwrt openwrt-user )
297 svn co https://${LOGNAME}@svn.openwrt.org/openwrt/trunk openwrt
298 ${MAKE} setup-openwrt
300 .PHONY: setup-unslung setup-slugos setup-angstrom
301 setup-unslung setup-slugos setup-angstrom: \
302 setup-%: common/.git/config
303 rm -rf $*/.configured
304 ${MAKE} $*/.configured
306 # This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
307 .PHONY: setup-slugos-%-beta
308 .PRECIOUS: releases/slugos-%-beta/.configured
309 setup-slugos-%-beta releases/slugos-%-beta/.configured: common/.git/config
310 [ -e releases/slugos-$*-beta ] || ( \
311 mkdir -p releases ; \
312 svn checkout http://svn.nslu2-linux.org/svnroot/slugos/releases/slugos-$*-beta \
313 releases/slugos-$*-beta \
315 ( cd releases/slugos-$*-beta ; ${MAKE} setup-env )
316 [ -e downloads ] || ( mkdir -p downloads )
317 [ -e releases/slugos-$*-beta/downloads ] || \
318 ln -s ../../downloads releases/slugos-$*-beta/
319 touch releases/slugos-$*-beta/.configured
321 # This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
322 .PHONY: setup-unslung-%-beta
323 .PRECIOUS: releases/unslung-%-beta/.configured
324 setup-unslung-%-beta releases/unslung-%-beta/.configured: common/.git/config
325 [ -e releases/unslung-$*-beta ] || ( \
326 mkdir -p releases ; \
327 svn checkout http://svn.nslu2-linux.org/svnroot/unslung/releases/unslung-$*-beta \
328 releases/unslung-$*-beta \
330 ( cd releases/unslung-$*-beta ; ${MAKE} setup-env )
331 [ -e downloads ] || ( mkdir -p downloads )
332 [ -e releases/unslung-$*-beta/downloads ] || \
333 ln -s ../../downloads releases/unslung-$*-beta/
334 touch releases/unslung-$*-beta/.configured
336 # This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
337 .PHONY: setup-openwrt-%
338 .PRECIOUS: releases/openwrt-%/.configured
339 setup-openwrt-% releases/openwrt-%/.configured:
340 [ -e downloads ] || ( mkdir -p downloads )
341 [ -e releases/openwrt-$* ] || ( \
342 mkdir -p releases ; \
343 svn checkout https://svn.openwrt.org/openwrt/tags/$* \
344 releases/openwrt-$* \
346 [ -e releases/openwrt-$*/dl ] || ln -s ../../downloads releases/openwrt-$*/dl
347 [ -e releases/openwrt-$*/.config ] || \
348 ( cp common/conf/openwrt-$*.config releases/openwrt-$*/.config )
349 touch releases/openwrt-$*/.configured
351 .PHONY: setup-slugos-%-beta-developer
352 setup-slugos-%-beta-developer:
353 [ -e releases/slugos-$*-beta ] || ( \
354 mkdir -p releases ; \
355 svn checkout https://svn.nslu2-linux.org/svnroot/slugos/releases/slugos-$*-beta \
356 releases/slugos-$*-beta \
358 ${MAKE} setup-slugos-$*-beta
360 .PHONY: setup-unslung-%-beta-developer
361 setup-unslung-%-beta-developer:
362 [ -e releases/unslung-$*-beta ] || ( \
363 mkdir -p releases ; \
364 svn checkout https://svn.nslu2-linux.org/svnroot/unslung/releases/unslung-$*-beta \
365 releases/unslung-$*-beta \
367 ${MAKE} setup-unslung-$*-beta
369 .PRECIOUS: %/.configured
370 %/.configured: common/.git/config
371 [ -d $* ] || ( mkdir -p $* )
372 [ -e downloads ] || ( mkdir -p downloads )
373 [ -e $*/Makefile ] || ( cd $* ; ln -sf ../common/openembedded.mk Makefile )
374 [ -e $*/setup-env ] || ( cd $* ; ln -sf ../common/setup-env . )
375 [ -e $*/downloads ] || ( cd $* ; ln -sf ../downloads . )
376 [ -e $*/bitbake ] || ( cd $* ; ln -sf ../bitbake . )
377 [ -e $*/openembedded ] || ( cd $* ; ln -sf ../openembedded . )
378 [ -d $*/conf ] || ( mkdir -p $*/conf )
379 [ -e $*/conf/local.conf.sample ] || \
380 ( cd $*/conf ; ln -sf ../../common/conf/local.conf.sample . )
381 [ -e $*/conf/site.conf ] || ( cd $*/conf ; ln -sf ../../common/conf/site.conf . )
382 [ -e $*/conf/auto.conf ] || ( \
383 if [ "$*" = "angstrom" ] ; then \
384 echo "DISTRO=\"$*-2008.1\"" > $*/conf/auto.conf ; \
385 echo "MACHINE=\"ixp4xxbe\"" >> $*/conf/auto.conf ; \
386 echo "IMAGE_TARGET = \"base-image\"" >> $*/conf/auto.conf ; \
387 echo "DISTRO_TARGET = \"meta-angstrom\"" >> $*/conf/auto.conf ; \
388 echo "ENABLE_BINARY_LOCALE_GENERATION = \"0\"" >> $*/conf/auto.conf ; \
389 else \
390 echo "DISTRO=\"$*\"" > $*/conf/auto.conf ; \
391 echo "MACHINE=\"nslu2be\"" >> $*/conf/auto.conf ; \
392 echo "IMAGE_TARGET=\"$*-image\"" >> $*/conf/auto.conf ; \
393 echo "DISTRO_TARGET=\"$*-packages\"" >> $*/conf/auto.conf ; \
394 fi \
396 [ -e $*/conf/local.conf ] || ( cd $*/conf ; touch local.conf )
397 rm -rf $*/tmp/cache
398 touch $*/.configured
400 .PHONY: setup-host-debian
401 setup-host-debian:
402 sudo apt-get install \
403 autoconf \
404 bison build-essential bzip2 \
405 ccache cvs \
406 devio diffstat \
407 flex \
408 gawk git-core \
409 help2man \
410 libncurses5-dev
411 make \
412 python-psyco \
413 quilt \
414 sed subversion \
415 texi2html texinfo \
416 unzip \
417 zlib1g-dev \
419 automake automake1.9 \
420 docbook \
421 g++ gcj gfortran \
422 libglib2.0-dev libtool \
423 m4 pkg-config python python-dev python2.4 python2.4-dev \
424 sharutils
426 .PHONY: setup-host-ubuntu
427 setup-host-ubuntu:
428 sudo apt-get install \
429 autoconf automake automake1.9 \
430 bison bzip2 \
431 ccache cogito cvs \
432 devio diffstat docbook \
433 ed \
434 fastjar flex \
435 gcc gcc-3.3 g++ gawk gcj gettext gfortran git git-core groff-base \
436 help2man \
437 intltool \
438 jikes \
439 libc6-dev libglib2.0-dev libncurses5-dev libssl-dev libtool \
440 libxml-parser-perl \
441 m4 make \
442 openssl \
443 patch pkg-config python python-dev python2.4 python2.4-dev \
444 quilt \
445 rcs ruby \
446 sdcc sed sharutils subversion sun-java5-jdk sysutils \
447 tcl8.4 texinfo texi2html \
448 unzip \
449 zip zlib1g-dev
450 @echo
451 @echo "To get python2.4-psyco (Recommended to speed up builds), please read"
452 @echo "http://ubuntuguide.org/#extrarepositories"
453 @echo "NOTE: python2.4-psyco will not work on 64-bit archs"
456 .PHONY: setup-host-gentoo
457 setup-host-gentoo:
458 su - -c " \
459 emerge -n \
460 autoconf automake \
461 bison \
462 ccache \
463 cvs \
464 flex \
465 glib \
466 libtool \
467 m4 \
468 make \
469 patch \
470 pkgconfig \
471 sed \
472 sharutils \
473 sys-apps/texinfo \
474 unzip \
475 psyco \
476 subversion \
477 dos2unix \
478 bzip2"
480 .PHONY: setup-host-centos
481 setup-host-centos:
482 sudo yum install \
483 bzip2 \
484 cvs \
485 diffstat \
486 diffutils \
487 gawk \
488 gcc-c++ \
489 git \
490 gzip \
491 makeinfo \
492 patch \
493 python-sqlite2 \
494 quilt \
495 rpm-build \
496 subversion \
497 tar \
498 tetex \
499 texi2html \
500 texinfo
501 sudo rpm -ivh http://www.python.org/pyvault/centos-4-i386/help2man-1.29-1.noarch.rpm
503 .PHONY: update-common
504 update-common:
505 ( cd common ; git pull )
507 .PHONY: update-bitbake
508 update-bitbake: bitbake/.git/config
509 ( cd bitbake ; git pull )
511 .PHONY: update-openembedded
512 update-openembedded: openembedded/.git/config
513 ( cd openembedded ; git pull )
515 .PHONY: update-optware
516 update-optware: optware/.git/config
517 ( cd optware ; git pull )
519 .PHONY: update-kernel
520 update-kernel: kernel/.git/config
521 ( cd kernel ; git pull )
523 .PHONY: update-openwrt
524 update-openwrt: openwrt/.configured
525 ( cd openwrt ; svn update ; ./scripts/feeds update )
527 update-slugos-%-beta: releases/slugos-%-beta/.configured
528 ( cd releases/slugos-$*-beta ; svn update )
530 update-unslung-%-beta: releases/unslung-%-beta/.configured
531 ( cd releases/unslung-$*-beta ; svn update )
533 update-openwrt-%: releases/openwrt-%/.configured
534 ( cd releases/openwrt-$* ; svn update )
536 .PHONY: check-makefile
537 check-makefile:
538 ( wget -q -O - http://www.nslu2-linux.org/Makefile | diff -u Makefile - )
540 .PHONY: status-common
541 status-common: common/.git/config
542 ( cd common ; git diff --stat )
544 .PHONY: status-bitbake
545 status-bitbake: bitbake/.git/config
546 ( cd bitbake ; git diff --stat )
548 .PHONY: status-kernel
549 status-kernel: kernel/.git/config
550 ( cd kernel ; git diff --stat )
552 .PHONY: status-openembedded
553 status-openembedded: openembedded/.git/config
554 ( cd openembedded ; git diff --stat )
556 .PHONY: status-optware
557 status-optware: optware/.git/config
558 ( cd optware ; git diff --stat )
560 .PHONY: status-openwrt
561 status-openwrt: openwrt/.configured
562 ( cd openwrt ; svn status )
564 status-slugosbe-%-beta:
565 ( cd releases/slugosbe-$*-beta ; svn status )
567 status-unslung-%-beta:
568 ( cd releases/unslung-$*-beta ; svn status )
570 .PHONY: clobber-unslung
571 clobber-unslung:
572 [ ! -e unslung/Makefile ] || ( cd unslung ; ${MAKE} clobber )
574 .PHONY: clobber-slugos
575 clobber-slugos:
576 [ ! -e slugos/Makefile ] || ( cd slugos ; ${MAKE} clobber )
578 .PHONY: clobber-angstrom
579 clobber-angstrom:
580 [ ! -e angstrom/Makefile ] || ( cd angstrom ; ${MAKE} clobber )
582 .PHONY: clobber-openwrt
583 clobber-openwrt-%:
584 [ ! -e openwrt/Makefile ] || ( cd openwrt ; ${MAKE} clean )
586 .PHONY: clobber-optware
587 clobber-optware:
588 [ ! -e optware ] || \
589 for f in optware/platforms/packages-*.mk ; do \
590 export target=`echo $$f | sed -e 's|optware/platforms/packages-\(.*\)\.mk|\1|'` ; \
591 [ ! -e optware/$$target ] || make clobber-optware-$$target ; \
592 done
594 .PHONY: clobber-optware-%
595 clobber-optware-%:
596 [ ! -e optware/$*/Makefile ] || ( cd optware/$* ; ${MAKE} distclean )
598 .PHONY: distclean-common
599 distclean-common:
600 rm -rf common
602 .PHONY: distclean-kernel
603 distclean-kernel:
604 rm -rf kernel
606 .PHONY: distclean-bitbake
607 distclean-bitbake:
608 rm -rf bitbake
610 .PHONY: distclean-openembedded
611 distclean-openembedded:
612 rm -rf openembedded
614 .PHONY: distclean-unslung
615 distclean-unslung:
616 rm -rf unslung
618 .PHONY: distclean-slugos
619 distclean-slugos:
620 rm -rf slugos
622 .PHONY: distclean-angstrom
623 distclean-angstrom:
624 rm -rf angstrom
626 .PHONY: distclean-openwrt
627 distclean-openwrt:
628 rm -rf openwrt
630 .PHONY: distclean-optware
631 distclean-optware:
632 rm -rf optware
634 .PHONY: distclean-releases
635 distclean-releases:
636 rm -rf releases
638 .PHONY: distclean
639 distclean: distclean-common distclean-kernel distclean-bitbake distclean-openembedded distclean-openwrt \
640 distclean-unslung distclean-slugos distclean-angstrom distclean-optware \
641 distclean-releases
642 rm -rf downloads
644 # Targets for use by those with write access to the repositories
646 .PHONY: push
647 push: push-common push-optware push-kernel
649 .PHONY: push-common
650 push-common: update-common
651 ( cd common ; git push --all ssh://repo.or.cz/srv/git/nslu2-linux/master.git )
653 .PHONY: push-optware
654 push-optware: update-optware
655 ( cd optware ; git svn dcommit )
656 ( cd optware ; git push --all ssh://repo.or.cz/srv/git/nslu2-linux/optware.git )
658 .PHONY: push-kernel
659 push-kernel: update-kernel
660 ( cd kernel ; git svn dcommit )
661 ( cd kernel ; git push --all ssh://repo.or.cz/srv/git/nslu2-linux/kernel.git )
663 .PHONY: import
664 import: import-optware import-kernel
666 .PHONY: import-optware
667 import-optware: optware/.git/config
668 ( cd optware ; git svn init -s svn+ssh://svn.nslu2-linux.org/svnroot/optware )
669 ( cd optware ; git svn fetch -A AUTHORS )
670 ( cd optware ; git svn rebase -A AUTHORS )
672 .PHONY: import-kernel
673 import-kernel: kernel/.git/config
674 ( cd kernel ; git svn init -s svn+ssh://svn.nslu2-linux.org/svnroot/kernel )
675 ( cd kernel ; git svn fetch -A AUTHORS )
676 ( cd kernel ; git svn rebase -A AUTHORS )
678 .PHONY: mirror
679 mirror: mirror-optware mirror-kernel
681 .PHONY: mirror-optware
682 mirror-optware: import-optware
683 ( cd optware ; git push --all ssh://repo.or.cz/srv/git/nslu2-linux/optware.git )
685 .PHONY: mirror-kernel
686 mirror-kernel: import-kernel
687 ( cd kernel ; git push --all ssh://repo.or.cz/srv/git/nslu2-linux/kernel.git )
689 # End of Makefile