# Makefile for the NSLU2 Linux development system
# Licensed under the GPL v2 or later
+.PHONY: all
all: update build
-build: unslung-build openslug-build optware-build
+.PHONY: build
+build: build-unslung build-openslug build-optware
-setup: monotone-setup bitbake-setup openembedded-setup oe-symlinks-setup optware-setup
+.PHONY: setup
+setup: setup-master setup-bitbake setup-openembedded setup-oe-symlinks setup-optware
-update: monotone-update bitbake-update openembedded-update oe-symlinks-update optware-update
+.PHONY: update
+update: update-master update-bitbake update-openembedded update-oe-symlinks update-optware
-clobber: optware-clobber oe-symlinks-clobber openembedded-clobber bitbake-clobber
+.PHONY: clobber
+clobber: clobber-optware clobber-oe-symlinks clobber-openembedded clobber-bitbake
-unslung-build:
+.PHONY: unslung build-unslung
+unslung build-unslung: unslung/Makefile bitbake/bin/bitbake openembedded/conf/machine/nslu2.conf oe-symlinks/packages
( cd unslung ; make )
-openslug-build:
+.PHONY: openslug build-openslug
+openslug build-openslug: openslug/Makefile bitbake/bin/bitbake openembedded/conf/machine/nslu2.conf oe-symlinks/packages
( cd openslug ; make )
-optware-build:
+.PHONY: optware build-optware
+optware build-optware: optware/Makefile
( cd optware ; make )
-monotone-setup monotone/nslu2-linux.db unslung/Makefile openslug/Makefile:
+.PHONY: setup-master
+setup-master monotone/nslu2-linux.db unslung/Makefile openslug/Makefile:
[ -e monotone/nslu2-linux.db ] || ( mkdir -p monotone && monotone -d monotone/nslu2-linux.db db init )
( monotone -d monotone/nslu2-linux.db pull monotone.vanille.de org.openembedded )
( monotone -d monotone/nslu2-linux.db unset database default-server )
[ -e unslung/downloads ] || ( cd unslung ; ln -s ../downloads . )
[ -e openslug/downloads ] || ( cd openslug ; ln -s ../downloads . )
-monotone-update: monotone/nslu2-linux.db
- monotone pull && monotone update
-
-bitbake-setup bitbake/bin/bitbake:
+.PHONY: setup-bitbake
+setup-bitbake bitbake/bin/bitbake:
[ -e bitbake/bin/bitbake ] || ( svn co svn://svn.berlios.de/bitbake/trunk/bitbake )
-bitbake-update: bitbake/bin/bitbake
- ( cd bitbake ; svn update )
+.PHONY: setup-openembedded
+setup-openembedded openembedded/conf/machine/nslu2.conf: monotone/nslu2-linux.db
+ [ -e openembedded/conf/machine/nslu2.conf ] || monotone co -b org.openembedded.nslu2-linux openembedded
-bitbake-clobber:
- rm -rf bitbake
+.PHONY: setup-oe-symlinks
+setup-oe-symlinks oe-symlinks/packages:
+ [ -e oe-symlinks/packages ] || ( svn co svn://svn.berlios.de/openslug/trunk/openslug/nslu2-linux oe-symlinks )
-openembedded-setup openembedded/conf/machine/nslu2.conf:
- [ -e openembedded/conf/machine/nslu2.conf ] || monotone co -b org.openembedded.nslu2-linux openembedded
+.PHONY: setup-optware
+setup-optware optware/Makefile:
+ [ -e optware/Makefile ] || ( cvs -d :pserver:anonymous@cvs.sf.net:/cvsroot/nslu co -d optware unslung )
+ [ -e optware/downloads ] || ( cd optware ; ln -s ../downloads . )
-openembedded-update: openembedded/conf/machine/nslu2.conf
- ( cd openembedded ; monotone update )
+.PHONY: update-master
+update-master: monotone/nslu2-linux.db
+ monotone pull && monotone update
-openembedded-clobber:
- rm -rf openembedded
+.PHONY: update-bitbake
+update-bitbake: bitbake/bin/bitbake
+ ( cd bitbake ; svn update )
-oe-symlinks-setup oe-symlinks/packages:
- [ -e oe-symlinks/packages ] || ( svn co svn://svn.berlios.de/openslug/trunk/openslug/nslu2-linux oe-symlinks )
+.PHONY: update-openembedded
+update-openembedded: openembedded/conf/machine/nslu2.conf
+ ( cd openembedded ; monotone pull && monotone update )
-oe-symlinks-update: oe-symlinks/packages
+.PHONY: update-oe-symlinks
+update-oe-symlinks: oe-symlinks/packages
( cd oe-symlinks ; svn update )
-oe-symlinks-clobber:
- rm -rf oe-symlinks
+.PHONY: update-optware
+update-optware: optware/Makefile
+ ( cd optware ; cvs update -d -P )
-optware-setup optware/Makefile:
- [ -e optware/Makefile ] || ( cvs -d :pserver:anonymous@cvs.sf.net:/cvsroot/nslu co -d optware unslung )
- [ -e optware/downloads ] || ( cd optware ; ln -s ../downloads . )
+.PHONY: clobber-bitbake
+clobber-bitbake:
+ rm -rf bitbake
-optware-update: optware/Makefile
- ( cd optware ; cvs update -d -P )
+.PHONY: clobber-openembedded
+clobber-openembedded:
+ rm -rf openembedded
+
+.PHONY: clobber-oe-symlinks
+clobber-oe-symlinks:
+ rm -rf oe-symlinks
-optware-clobber:
+.PHONY: clobber-optware
+clobber-optware:
rm -rf optware
+# Deprecated targets
+
+unslung-build : build-unslung
+openslug-build : build-openslug
+optware-build : build-optware
+
# End of Makefile