+++ /dev/null
-# Makefile for the NSLU2 Linux development system
-# Licensed under the GPL v2 or later
-
-# Change these if you are unfortunate enough to have a split net personality.
-SVN_USER ?= ${USER}
-CVS_USER ?= ${USER}
-SVN_SSH ?= "-l ${SVN_USER}"
-
-HOST_MACHINE:=$(shell uname -m | sed \
- -e 's/i[3-9]86/i386/' \
- -e 's/armv5teb/armeb/' \
- -e 's/armv5b/armeb/' \
- )
-
-HOST_FIRMWARE:=$(shell uname -m | sed \
- -e 's/i[3-9]86/Linux/' \
- -e 's/armv5teb/OpenSlug/' \
- -e 's/armv5b/Unslung/' \
- )
-
-.PHONY: all
-all: update build
-
-.PHONY: prefetch
-prefetch: prefetch-unslung prefetch-openslug prefetch-ucslugc prefetch-optware
-
-.PHONY: build
-build: build-unslung build-openslug build-ucslugc build-optware
-
-.PHONY: setup
-ifneq ($(HOST_MACHINE),armeb)
-setup: setup-master setup-bitbake setup-openembedded setup-unslung setup-openslug setup-ucslugc setup-optware
-else
-ifeq ($(HOST_FIRMWARE),OpenSlug)
-setup: setup-master setup-bitbake setup-openembedded setup-openslug
-else
-setup: setup-master setup-optware
-endif
-endif
-
-.PHONY: setup-developer
-setup-developer: setup-master setup-bitbake setup-openembedded setup-optware-developer
-
-.PHONY: update
-ifneq ($(HOST_MACHINE),armeb)
-update: update-master update-bitbake update-openembedded update-optware
-else
-ifeq ($(HOST_FIRMWARE),OpenSlug)
-update: update-master update-bitbake update-openembedded
-else
-update: update-master update-optware
-endif
-endif
-
-.PHONY: status
-status: status-master status-bitbake status-openembedded status-optware
-
-.PHONY: clobber
-clobber: clobber-unslung clobber-openslug clobber-ucslugc clobber-optware
-
-.PHONY: distclean
-distclean: distclean-master distclean-bitbake distclean-openembedded \
- distclean-unslung distclean-openslug distclean-ucslugc distclean-optware distclean-releases
-
-.PHONY: prefetch-unslung
-ifneq ($(HOST_MACHINE),armeb)
-prefetch-unslung: unslung/.configured bitbake/.configured openembedded/.configured
- ( cd unslung ; ${MAKE} prefetch )
-else
-prefetch-unslung:
-endif
-
-.PHONY: prefetch-openslug
-ifneq ($(HOST_MACHINE),armeb)
-prefetch-openslug: openslug/.configured bitbake/.configured openembedded/.configured
- ( cd openslug ; ${MAKE} prefetch )
-else
-ifeq ($(HOST_FIRMWARE),OpenSlug)
-prefetch-openslug: openslug/.configured bitbake/.configured openembedded/.configured
- ( cd openslug ; ${MAKE} prefetch )
-else
-prefetch-openslug:
-endif
-endif
-
-.PHONY: prefetch-ucslugc
-ifneq ($(HOST_MACHINE),armeb)
-prefetch-ucslugc: ucslugc/.configured bitbake/.configured openembedded/.configured
- ( cd ucslugc ; ${MAKE} prefetch )
-else
-prefetch-ucslugc:
-endif
-
-.PHONY: prefetch-optware
-prefetch-optware: prefetch-optware-nslu2 prefetch-optware-wl500g prefetch-optware-ds101 prefetch-optware-ds101g
-
-.PHONY: prefetch-optware-nslu2
-ifneq ($(HOST_MACHINE),armeb)
-prefetch-optware-nslu2: optware/nslu2/.configured
- ( cd optware/nslu2 ; ${MAKE} source )
-else
-ifeq ($(HOST_FIRMWARE),Unslung)
-prefetch-optware-nslu2: optware/nslu2/.configured
- ( cd optware/nslu2 ; ${MAKE} source )
-else
-prefetch-optware-nslu2:
-endif
-endif
-
-.PHONY: prefetch-optware-%
-ifneq ($(HOST_MACHINE),armeb)
-prefetch-optware-%: optware/%/.configured
- ( cd optware/$* ; ${MAKE} source )
-else
-prefetch-optware-%:
-endif
-
-prefetch-openslug-%-beta: releases/OpenSlug-%-beta/.configured
- ( cd releases/OpenSlug-$*-beta ; ${MAKE} prefetch )
-
-.PHONY: unslung build-unslung
-ifneq ($(HOST_MACHINE),armeb)
-unslung build-unslung: unslung/.configured bitbake/.configured openembedded/.configured
- ( cd unslung ; ${MAKE} )
-else
-unslung build-unslung:
-endif
-
-.PHONY: openslug build-openslug
-ifneq ($(HOST_MACHINE),armeb)
-openslug build-openslug: openslug/.configured bitbake/.configured openembedded/.configured
- ( cd openslug ; ${MAKE} )
-else
-ifeq ($(HOST_FIRMWARE),OpenSlug)
-openslug build-openslug: openslug/.configured bitbake/.configured openembedded/.configured
- ( cd openslug ; ${MAKE} )
-else
-openslug build-openslug:
-endif
-endif
-
-.PHONY: ucslugc build-ucslugc
-ifneq ($(HOST_MACHINE),armeb)
-ucslugc build-ucslugc: ucslugc/.configured bitbake/.configured openembedded/.configured
- ( cd ucslugc ; ${MAKE} )
-else
-ucslugc build-ucslugc:
-endif
-
-.PHONY: unslung-image build-unslung-image
-ifneq ($(HOST_MACHINE),armeb)
-unslung-image build-unslung-image: unslung/.configured bitbake/.configured openembedded/.configured
- ( cd unslung ; ${MAKE} image)
-else
-unslung-image build-unslung-image:
-endif
-
-.PHONY: openslug-image build-openslug-image
-ifneq ($(HOST_MACHINE),armeb)
-openslug-image build-openslug-image: openslug/.configured bitbake/.configured openembedded/.configured
- ( cd openslug ; ${MAKE} image )
-else
-openslug-image build-openslug-image:
-endif
-
-.PHONY: ucslugc-image build-ucslugc-image
-ifneq ($(HOST_MACHINE),armeb)
-ucslugc-image build-ucslugc-image: ucslugc/.configured bitbake/.configured openembedded/.configured
- ( cd ucslugc ; ${MAKE} image)
-else
-ucslugc-image build-ucslugc-image:
-endif
-
-.PHONY: unslung-kernel build-unslung-kernel
-ifneq ($(HOST_MACHINE),armeb)
-unslung-kernel build-unslung-kernel: unslung/.configured bitbake/.configured openembedded/.configured
- ( cd unslung ; ${MAKE} kernel)
-else
-unslung-kernel build-unslung-kernel:
-endif
-
-.PHONY: openslug-kernel build-openslug-kernel
-ifneq ($(HOST_MACHINE),armeb)
-openslug-kernel build-openslug-kernel: openslug/.configured bitbake/.configured openembedded/.configured
- ( cd openslug ; ${MAKE} kernel )
-else
-openslug-kernel build-openslug-kernel:
-endif
-
-.PHONY: ucslugc-kernel build-ucslugc-kernel
-ifneq ($(HOST_MACHINE),armeb)
-ucslugc-kernel build-ucslugc-kernel: ucslugc/.configured bitbake/.configured openembedded/.configured
- ( cd ucslugc ; ${MAKE} kernel)
-else
-ucslugc-kernel build-ucslugc-kernel:
-endif
-
-.PHONY: build-optware
-build-optware: build-optware-nslu2 build-optware-wl500g build-optware-ds101 build-optware-ds101g
-
-.PHONY: optware-nslu2 build-optware-nslu2
-ifneq ($(HOST_MACHINE),armeb)
-optware-nslu2 build-optware-nslu2: optware/nslu2/.configured
- ( cd optware/nslu2 ; ${MAKE} autoclean ; ${MAKE} )
-else
-ifeq ($(HOST_FIRMWARE),Unslung)
-optware-nslu2 build-optware-nslu2: optware/nslu2/.configured
- ( cd optware/nslu2 ; ${MAKE} autoclean ; ${MAKE} )
-else
-optware-nslu2 build-optware-nslu2:
-endif
-endif
-
-.PHONY: optware-wl500g build-optware-wl500g
-ifneq ($(HOST_MACHINE),armeb)
-optware-wl500g build-optware-wl500g: optware/wl500g/.configured
- ( cd optware/wl500g ; ${MAKE} autoclean ; ${MAKE} )
-else
-optware-wl500g build-optware-wl500g:
-endif
-
-.PHONY: optware-ds101 build-optware-ds101
-ifneq ($(HOST_MACHINE),armeb)
-optware-ds101 build-optware-ds101: optware/ds101/.configured
- ( cd optware/ds101 ; ${MAKE} autoclean ; ${MAKE} )
-else
-optware-ds101 build-optware-ds101:
-endif
-
-.PHONY: optware-ds101g build-optware-ds101g
-ifneq ($(HOST_MACHINE),armeb)
-optware-ds101g build-optware-ds101g: optware/ds101g/.configured
- ( cd optware/ds101g ; ${MAKE} autoclean ; ${MAKE} )
-else
-optware-ds101g build-optware-ds101g:
-endif
-
-openslug-%-beta: update-openslug-%-beta build-openslug-%-beta
- echo "$@ completed"
-
-build-openslug-2.3-beta: releases/OpenSlug-2.3-beta/.configured
- ( cd releases/OpenSlug-2.3-beta ; ${MAKE} openslug-firmware )
-
-build-openslug-%-beta: releases/OpenSlug-%-beta/.configured
- ( cd releases/OpenSlug-$*-beta ; ${MAKE} firmware )
-
-.PHONY: setup-master
-setup-master MT/.configured:
- [ -e monotone/nslu2-linux.db ] || ( mkdir -p monotone && \
- wget http://sources.nslu2-linux.org/monotone/nslu2-linux.db.gz -O monotone/nslu2-linux.db.gz && \
- gunzip monotone/nslu2-linux.db.gz )
- - ( monotone -d monotone/nslu2-linux.db unset database default-server )
- - ( monotone -d monotone/nslu2-linux.db unset database default-include-pattern )
- ( monotone -d monotone/nslu2-linux.db pull monotone.nslu2-linux.org org.{nslu2-linux.*,openembedded.dev} )
- [ -e MT/revision ] || ( monotone -d monotone/nslu2-linux.db co -b org.nslu2-linux.dev . )
- touch MT/.configured
-
-.PHONY: setup-bitbake
-setup-bitbake bitbake/.configured: MT/.configured
- [ -e bitbake/bin/bitbake ] || monotone co -b org.nslu2-linux.bitbake bitbake
- touch bitbake/.configured
-
-.PHONY: setup-openembedded
-setup-openembedded openembedded/.configured: MT/.configured
- [ -e openembedded/conf/machine/nslu2.conf ] || monotone co -b org.openembedded.dev openembedded
- touch openembedded/.configured
-
-.PHONY: setup-optware
-setup-optware optware/.configured: MT/.configured
- [ -e downloads ] || ( mkdir -p downloads )
- [ -e optware/Makefile ] || ( cvs -q -d :pserver:anonymous@cvs.sf.net:/cvsroot/nslu co -d optware unslung )
- touch optware/.configured
-
-# This pattern rule has to come before the subsequent %/.configured openembedded pattern rule.
-optware/%/.configured: optware/.configured
- [ -e optware/$*/Makefile ] || ( \
- mkdir -p optware/$* ; \
- echo "OPTWARE_TARGET=$*" > optware/$*/Makefile ; \
- echo "include ../Makefile" >> optware/$*/Makefile ; \
- ln -s ../../downloads optware/$*/downloads ; \
- ln -s ../make optware/$*/make ; \
- ln -s ../scripts optware/$*/scripts ; \
- ln -s ../sources optware/$*/sources ; \
- )
- touch optware/$*/.configured
-
-.PHONY: setup-optware-developer
-setup-optware-developer:
- [ ! -e optware ] || ( mv optware optware-user )
- cvs -q -d :ext:${CVS_USER}@cvs.sf.net:/cvsroot/nslu co -d optware unslung
- ${MAKE} setup-optware
-
-.PHONY: setup-unslung setup-openslug setup-ucslugc
-setup-unslung setup-openslug setup-ucslugc: setup-%: MT/.configured
- rm -rf $*/.configured
- ${MAKE} $*/.configured
-
-%/.configured: MT/.configured
- [ -d $* ] || ( mkdir -p $* )
- [ -e downloads ] || ( mkdir -p downloads )
- [ -L $*/Makefile -o ! -e $*/Makefile ] || ( cd $* ; mv Makefile Makefile.delete-me)
- [ -e $*/Makefile ] || ( cd $* ; ln -s ../common/openembedded.mk Makefile )
- [ -L $*/setup-env -o ! -e $*/setup-env ] || ( cd $* ; mv setup-env setup-env.delete-me )
- [ -e $*/setup-env ] || ( cd $* ; ln -s ../common/setup-env . )
- [ -e $*/downloads ] || ( cd $* ; ln -s ../downloads . )
- [ -e $*/bitbake ] || ( cd $* ; ln -s ../bitbake . )
- [ -e $*/openembedded ] || ( cd $* ; ln -s ../openembedded . )
- [ -d $*/conf ] || ( mkdir -p $*/conf )
- [ ! -f $*/conf/local.conf -o -e $*/conf/auto.conf ] || ( cd $*/conf ; mv local.conf local.conf.delete-me )
- [ -e $*/conf/local.conf.sample ] || ( cd $*/conf ; ln -s ../../common/conf/local.conf.sample . )
- [ -e $*/conf/site.conf ] || ( cd $*/conf ; ln -s ../../common/conf/site.conf . )
- [ ! -f $*/conf/auto.conf ] || ( cd $*/conf ; rm -f auto.conf )
- [ -e $*/conf/auto.conf ] || ( \
- if [ "${HOST_MACHINE}" = "armeb" ] ; then \
- echo "DISTRO=\"$*-native\"" > $*/conf/auto.conf ; \
- else \
- echo "DISTRO=\"$*\"" > $*/conf/auto.conf ; \
- fi ; \
- echo "MACHINE=\"nslu2\"" >> $*/conf/auto.conf \
- )
- rm -rf $*/tmp/cache
- touch $*/.configured
-
-.PHONY: setup-slugimage-developer
-setup-slugimage-developer:
- cvs -q -d :ext:${CVS_USER}@cvs.sf.net:/cvsroot/nslu co slugimage
-
-.PHONY: setup-upslug-developer
-setup-upslug-developer:
- cvs -q -d :ext:${CVS_USER}@cvs.sf.net:/cvsroot/nslu co upslug
-
-.PHONY: setup-sluggo-developer
-setup-sluggo-developer:
- cvs -q -d :ext:${CVS_USER}@cvs.sf.net:/cvsroot/nslu co sluggo
-
-.PHONY: setup-apex
-setup-apex apex/Makefile:
- cvs -q -d :pserver:anonymous@cvs.sf.net:/cvsroot/nslu co apex
-
-.PHONY: setup-apex-developer
-setup-apex-developer:
- cvs -q -d :ext:${CVS_USER}@cvs.sf.net:/cvsroot/nslu co apex
-
-setup-openslug-2.3-beta releases/OpenSlug-2.3-beta/.configured:
- [ -e releases/OpenSlug-2.3-beta ] || ( \
- mkdir -p releases ; \
- svn checkout svn://svn.berlios.de/openslug/releases/OpenSlug-2.3-beta \
- releases/OpenSlug-2.3-beta \
- )
- ( cd releases/OpenSlug-2.3-beta ; ${MAKE} conf/local.conf setup-env )
- [ -e downloads ] || ( mkdir -p downloads )
- [ -e releases/OpenSlug-2.3-beta/downloads ] || ln -s ../../downloads releases/OpenSlug-2.3-beta/
- touch releases/OpenSlug-2.3-beta/.configured
-
-setup-openslug-%-beta releases/OpenSlug-%-beta/.configured:
- [ -e releases/OpenSlug-$*-beta ] || ( \
- mkdir -p releases ; \
- svn checkout svn://svn.berlios.de/openslug/releases/OpenSlug-$*-beta \
- releases/OpenSlug-$*-beta \
- )
- ( cd releases/OpenSlug-$*-beta ; ${MAKE} setup-env )
- [ -e downloads ] || ( mkdir -p downloads )
- [ -e releases/OpenSlug-$*-beta/downloads ] || ln -s ../../downloads releases/OpenSlug-$*-beta/
- touch releases/OpenSlug-$*-beta/.configured
-
-setup-openslug-%-beta-developer:
- [ -e releases/OpenSlug-$*-beta ] || ( \
- mkdir -p releases ; \
- svn checkout svn+ssh://svn.berlios.de/svnroot/repos/openslug/releases/OpenSlug-$*-beta \
- releases/OpenSlug-$*-beta \
- )
- ${MAKE} setup-openslug-$*-beta
-
-.PHONY: setup-host-debian
-setup-host-debian:
- su - -c " \
- apt-get install \
- autoconf automake automake1.9 \
- bison \
- ccache \
- cvs \
- docbook \
- flex \
- g++ gawk gcj gettext \
- libc6-dev libglib2.0-dev libtool \
- m4 make \
- patch pkg-config \
- python python-dev python-psyco python2.4 python2.4-dev \
- sed \
- texinfo \
- unzip \
- subversion \
- bzip2 ;\
- echo You will have to install monotone separately. See http://venge.net/monotone/ \
- "
-
-.PHONY: setup-host-ubuntu
-setup-host-ubuntu:
- su - -c " \
- apt-get install \
- autoconf automake automake1.9 \
- bison \
- ccache \
- cvs \
- docbook \
- flex \
- gcc g++ gawk gcj gettext \
- libc6-dev libglib2.0-dev libtool \
- m4 make \
- patch pkg-config \
- python python-dev python2.4 python2.4-dev \
- sed \
- texinfo \
- unzip \
- subversion \
- texinfo \
- bzip2 ;\
- echo You will have to install monotone separately. See http://venge.net/monotone/ \
- echo To get python2.4-psyco (Recommended to speed up builds), please read \
- echo http://ubuntuguide.org/#extrarepositories \
- "
-
-
-.PHONY: setup-host-gentoo
-setup-host-gentoo:
- su - -c "mkdir -p /etc/portage ; echo >> /etc/portage/package.keywords ; \
- grep monotone-0.22 /etc/portage/package.keywords || \
- echo ~dev-util/monotone-0.22 ~* >> /etc/portage/package.keywords ; \
- grep dev-libs/boost-1.32.0 /etc/portage/package.keywords || \
- echo ~dev-libs/boost-1.32.0 ~* >> /etc/portage/package.keywords ; \
- emerge -n \
- autoconf automake \
- bison \
- ccache \
- cvs \
- flex \
- glib \
- libtool \
- m4 \
- make \
- monotone \
- patch \
- pkgconfig \
- sed \
- sys-apps/texinfo \
- unzip \
- psyco \
- subversion \
- bzip2"
-
-.PHONY: update-master
-update-master: MT/.configured
-# if [ `monotone -d monotone/nslu2-linux.db list keys nslu2-linux@nslu2-linux.org | wc -l` = 8 ] ; then \
-# monotone -d monotone/nslu2-linux.db dropkey nslu2-linux@nslu2-linux.org ; \
-# fi
- monotone pull
- if [ `monotone automate heads org.nslu2-linux.dev | wc -l` != "1" ] ; then \
- monotone merge -b org.nslu2-linux.dev ; \
- fi
- monotone update
- if [ `monotone automate heads org.nslu2-linux.dev | wc -l` != "1" ] ; then \
- monotone merge -b org.nslu2-linux.dev ; \
- fi
-
-.PHONY: update-bitbake
-update-bitbake: bitbake/.configured
- monotone pull
- if [ `monotone automate heads org.nslu2-linux.bitbake | wc -l` != "1" ] ; then \
- monotone merge -b org.nslu2-linux.bitbake ; \
- fi
- ( cd bitbake ; monotone update )
- if [ `monotone automate heads org.nslu2-linux.bitbake | wc -l` != "1" ] ; then \
- monotone merge -b org.nslu2-linux.bitbake ; \
- fi
-
-.PHONY: update-openembedded
-update-openembedded: openembedded/.configured
- if grep "org.openembedded.nslu2-linux" openembedded/MT/options >/dev/null 2>&1 ; then \
- sed -i -e 's/org.openembedded.nslu2-linux/org.openembedded.dev/' openembedded/MT/options ; \
- monotone propagate org.openembedded.nslu2-linux org.openembedded.dev ; \
- fi
- monotone pull
- if [ `monotone automate heads org.openembedded.dev | wc -l` != "1" ] ; then \
- monotone merge -b org.openembedded.dev ; \
- fi
- ( cd openembedded ; monotone update )
- if [ `monotone automate heads org.openembedded.dev | wc -l` != "1" ] ; then \
- monotone merge -b org.openembedded.dev ; \
- fi
-
-.PHONY: update-optware
-update-optware: optware/.configured
- ( cd optware ; cvs -q update -d -P )
-
-update-openslug-%-beta: releases/OpenSlug-%-beta/.configured
- ( cd releases/OpenSlug-$*-beta ; svn up )
-
-.PHONY: status-master
-status-master: MT/.configured
- monotone status --brief
-
-.PHONY: status-bitbake
-status-bitbake: bitbake/.configured
- ( cd bitbake ; monotone status --brief )
-
-.PHONY: status-openembedded
-status-openembedded: openembedded/.configured
- ( cd openembedded ; monotone status --brief )
-
-.PHONY: status-optware
-status-optware: optware/.configured
- ( cd optware ; cvs -q update -d -P )
-
-status-openslug-%-beta:
- ( cd releases/OpenSlug-$*-beta ; svn status )
-
-.PHONY: clobber-unslung
-clobber-unslung:
- [ ! -e unslung/Makefile ] || ( cd unslung ; ${MAKE} clobber )
-
-.PHONY: clobber-openslug
-clobber-openslug:
- [ ! -e openslug/Makefile ] || ( cd openslug ; ${MAKE} clobber )
-
-.PHONY: clobber-ucslugc
-clobber-ucslugc:
- [ ! -e ucslugc/Makefile ] || ( cd ucslugc ; ${MAKE} clobber )
-
-.PHONY: clobber-optware
-clobber-optware: clobber-optware-nslu2 clobber-optware-wl500g clobber-optware-ds101 clobber-optware-ds101g
-
-.PHONY: clobber-optware-%
-clobber-optware-%:
- [ ! -e optware/$*/Makefile ] || ( cd optware/$* ; ${MAKE} distclean )
-
-.PHONY: distclean-master
-distclean-master:
- rm -rf MT common downloads openslug scripts ucslugc unslung
-
-.PHONY: distclean-bitbake
-distclean-bitbake:
- rm -rf bitbake
-
-.PHONY: distclean-openembedded
-distclean-openembedded:
- rm -rf openembedded
-
-.PHONY: distclean-unslung
-distclean-unslung:
- rm -rf unslung
-
-.PHONY: distclean-openslug
-distclean-openslug:
- rm -rf openslug
-
-.PHONY: distclean-ucslugc
-distclean-ucslugc:
- rm -rf ucslugc
-
-.PHONY: distclean-optware
-distclean-optware:
- rm -rf optware
-
-.PHONY: distclean-releases
-distclean-releases:
- rm -rf releases
-
-# Targets for use by those with write access to the repositories
-
-.PHONY: push
-push: push-master push-bitbake push-openembedded
-
-.PHONY: push-master
-push-master: update-master
- monotone push
-
-.PHONY: push-bitbake
-push-bitbake: update-bitbake
- ( cd bitbake ; monotone push )
-
-.PHONY: push-openembedded
-push-openembedded: update-openembedded
- ( cd openembedded ; monotone push )
-
-# Targets for use by core team members only
-
-.PHONY: import-bitbake
-import-bitbake: bitbake/.configured
- mv bitbake bitbake.old
- svn co svn://svn.berlios.de/bitbake/trunk/bitbake
- cp -rp bitbake.old/MT bitbake.old/.mt-attrs bitbake
- rm -rf bitbake.old
- ( cd bitbake ; rm -rf .svn ; monotone status )
-
-# End of Makefile