All pastes #19507 Raw Edit

Anonymous

public text v1 · immutable
#19507 ·published 2005-08-07 17:13 UTC
rendered paste body
# 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: 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: 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: optware build-optware
optware build-optware: build-optware-nslu2 build-optware-wl500g

.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: openslug-%-beta
openslug-%-beta: update-openslug-$*-beta build-openslug-$*-beta upload-openslug-$*-beta-cross

.PHONY: build-openslug-%-beta
build-openslug-%-beta: releases/OpenSlug-$*-beta/.configured
        ( cd releases/OpenSlug-$*-beta ; ${MAKE} openslug-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,dreambox,nslu2-linux}} )
        [ -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.nslu2-linux openembedded
        touch openembedded/.configured

.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-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

optware/nslu2/.configured: optware/.configured
        [ -e optware/nslu2/Makefile ] || ( \
                mkdir -p optware/nslu2 ; \
                echo "OPTWARE_TARGET=nslu2" > optware/nslu2/Makefile ; \
                echo "include ../Makefile" >> optware/nslu2/Makefile ; \
                ln -s ../../downloads optware/nslu2/downloads ; \
                ln -s ../make optware/nslu2/make ; \
                ln -s ../scripts optware/nslu2/scripts ; \
                ln -s ../sources optware/nslu2/sources ; \
        )
        touch optware/nslu2/.configured

optware/wl500g/.configured: optware/.configured
        [ -e optware/wl500g/Makefile ] || ( \
                mkdir -p optware/wl500g ; \
                echo "OPTWARE_TARGET=wl500g" > optware/wl500g/Makefile ; \
                echo "include ../Makefile" >> optware/wl500g/Makefile ; \
                ln -s ../../downloads optware/wl500g/downloads ; \
                ln -s ../make optware/wl500g/make ; \
                ln -s ../scripts optware/wl500g/scripts ; \
                ln -s ../sources optware/wl500g/sources ; \
        )
        touch optware/wl500g/.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-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

.PHONY: setup-openslug-%-beta
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

.PHONY: setup-openslug-%-beta-developer
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:
        sudo 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

.PHONY: setup-host-gentoo
setup-host-gentoo:
        su - -c "mkdir -p /etc/portage ; echo >> /etc/portage/package.keywords ; \
        grep monotone /etc/portage/package.keywords || \
        echo ~dev-util/monotone-0.21 ~* >> /etc/portage/package.keywords ; \
        grep dev-libs/boost /etc/portage/package.keywords || \
        echo ~dev-libs/boost-1.32 ~* >> /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"

.PHONY: update-master
update-master: MT/.configured
        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
        monotone pull
        if [ `monotone automate heads org.openembedded.nslu2-linux | wc -l` != "1" ] ; then \
          monotone merge -b org.openembedded.nslu2-linux ; \
        fi
        ( cd openembedded ; monotone update )
        if [ `monotone automate heads org.openembedded.nslu2-linux | wc -l` != "1" ] ; then \
          monotone merge -b org.openembedded.nslu2-linux ; \
        fi

.PHONY: update-optware
update-optware: optware/.configured
        ( cd optware ; cvs -q update -d -P )

.PHONY: update-openslug-%-beta
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 )

.PHONY: status-openslug-%-beta
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

.PHONY: clobber-optware-nslu2
clobber-optware-nslu2:
        [ ! -e optware/nslu2/Makefile ] || ( cd optware/nslu2 ; ${MAKE} distclean )

.PHONY: clobber-optware-wl500g
clobber-optware-wl500g:
        [ ! -e optware/wl500g/Makefile ] || ( cd optware/wl500g ; ${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
        scp Makefile slug@nugabe.nslu2-linux.org:htdocs/www/Makefile

.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: autobuild
autobuild:
        rm -rf builderrors.log
        - ${MAKE} update                                      || echo -n " update"         >> builderrors.log
ifneq ($(HOST_MACHINE),armeb)
        - ${MAKE} build-openslug       upload-openslug        || echo -n " openslug"       >> builderrors.log
        - ${MAKE} build-ucslugc        upload-ucslugc         || echo -n " ucslugc"        >> builderrors.log
        - ${MAKE} build-unslung        upload-unslung-modules || echo -n " unslung"        >> builderrors.log
else
ifeq ($(HOST_FIRMWARE),OpenSlug)
        - ${MAKE} build-openslug       upload-openslug        || echo -n " openslug"       >> builderrors.log
endif
endif
ifneq ($(HOST_MACHINE),armeb)
        - ${MAKE} build-optware-nslu2  upload-optware-nslu2   || echo -n " optware/nslu2"  >> builderrors.log
        - ${MAKE} build-optware-wl500g upload-optware-wl500g  || echo -n " optware/wl500g" >> builderrors.log
else
ifeq ($(HOST_FIRMWARE),Unslung)
        - ${MAKE} build-optware-nslu2  upload-optware-nslu2   || echo -n " optware/nslu2"  >> builderrors.log
endif
endif
        - ${MAKE}                      upload-sources         || echo -n " upload-sources" >> builderrors.log
        if [ -e builderrors.log ] ; then \
                echo -n "*** Errors during autobuild:" ; \
                cat builderrors.log ; \
                echo " ***" ; \
        fi

.PHONY: upload
ifneq ($(HOST_MACHINE),armeb)
upload: upload-openslug upload-ucslugc upload-unslung-modules upload-optware-nslu2 upload-optware-wl500g upload-sources
else
ifeq ($(HOST_FIRMWARE),OpenSlug)
upload: upload-openslug upload-sources
else
ifeq ($(HOST_FIRMWARE),Unslung)
upload: upload-optware-nslu2 upload-sources
else
upload: upload-sources
endif
endif
endif

.PHONY: upload-openslug
upload-openslug: openslug/.configured
        rm -rf openslug/tmp/deploy/ipk/morgue
ifneq ($(HOST_MACHINE),armeb)
        rsync -vlrt --exclude='Packages*' openslug/tmp/deploy/ipk/ slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/openslug/cross/unstable/
        ssh nslu2@sources.nslu2-linux.org mirror/sync-ipk openslug/cross/unstable
        rsync -vl openslug/tmp/deploy/ipk/Packages* slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/openslug/cross/unstable/
        rsync -vlrt --delete openslug/tmp/deploy/ipk/ slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/openslug/cross/unstable/
        ssh nslu2@sources.nslu2-linux.org mirror/sync-packages-clean openslug/cross/unstable
else
        rsync -vlrt --exclude='Packages*' openslug/tmp/deploy/ipk/ slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/openslug/native/unstable/
        ssh nslu2@sources.nslu2-linux.org mirror/sync-ipk openslug/native/unstable
        rsync -vl openslug/tmp/deploy/ipk/Packages* slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/openslug/native/unstable/
        rsync -vlrt --delete openslug/tmp/deploy/ipk/ slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/openslug/native/unstable/
        ssh nslu2@sources.nslu2-linux.org mirror/sync-packages-clean openslug/native/unstable
endif

.PHONY: upload-openslug-%-beta-cross
upload-openslug-%-beta-cross: releases/OpenSlug-$*-beta/.configured
        rm -rf releases/OpenSlug-$*-beta/tmp/deploy/ipk/morgue
        rsync -vlrt --exclude='Packages*' releases/OpenSlug-$*-beta/tmp/deploy/ipk/ slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/openslug/cross/$*-beta/
        ssh nslu2@sources.nslu2-linux.org mirror/sync-ipk openslug/cross/$*-beta
        rsync -vl releases/OpenSlug-$*-beta/tmp/deploy/ipk/Packages* slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/openslug/cross/$*-beta/
        rsync -vlrt --delete releases/OpenSlug-$*-beta/tmp/deploy/ipk/ slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/openslug/cross/$*-beta/
        ssh nslu2@sources.nslu2-linux.org mirror/sync-packages-clean openslug/cross/$*-beta

.PHONY: upload-ucslugc
upload-ucslugc: ucslugc/.configured
        rm -rf ucslugc/tmp/deploy/ipk/morgue
        rsync -vlrt --exclude='Packages*' ucslugc/tmp/deploy/ipk/ slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/ucslugc/cross/unstable/
        ssh nslu2@sources.nslu2-linux.org mirror/sync-ipk ucslugc/cross/unstable
        rsync -vl ucslugc/tmp/deploy/ipk/Packages* slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/ucslugc/cross/unstable/
        rsync -vlrt --delete ucslugc/tmp/deploy/ipk/ slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/ucslugc/cross/unstable/
        ssh nslu2@sources.nslu2-linux.org mirror/sync-packages-clean ucslugc/cross/unstable

.PHONY: upload-unslung-modules
upload-unslung-modules: unslung/.configured
        rm -rf unslung/tmp/deploy/ipk/morgue
        scripts/package-strip.pl kernel-module-\* unslung/tmp/deploy/ipk/Packages unslung/tmp/deploy/ipk/Packages.new
        mv unslung/tmp/deploy/ipk/Packages.new unslung/tmp/deploy/ipk/Packages
        rm -f unslung/tmp/deploy/ipk/Packages.gz
        gzip -c unslung/tmp/deploy/ipk/Packages > unslung/tmp/deploy/ipk/Packages.gz
        rsync -vlt unslung/tmp/deploy/ipk/kernel-module-* slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/unslung/oe/
        ssh nslu2@sources.nslu2-linux.org mirror/sync-ipk unslung/oe
        rsync -vl unslung/tmp/deploy/ipk/Packages* slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/unslung/oe/
        ssh nslu2@sources.nslu2-linux.org mirror/sync-packages-clean unslung/oe
#       rsync -vlt --delete unslung/tmp/deploy/ipk/kernel-module-* slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/unslung/oe/

.PHONY: upload-optware-nslu2
upload-optware-nslu2: optware/nslu2/.configured
ifneq ($(HOST_MACHINE),armeb)
        rsync -vlrt --exclude='Packages*' optware/nslu2/packages/ slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/unslung/cross/
        ssh nslu2@sources.nslu2-linux.org mirror/sync-ipk unslung/cross
        rsync -vl optware/nslu2/packages/Packages* slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/unslung/cross/
        rsync -vlrt --delete optware/nslu2/packages/ slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/unslung/cross/
        ssh nslu2@sources.nslu2-linux.org mirror/sync-packages-clean unslung/cross
else
        rsync -vlrt --exclude='Packages*' optware/nslu2/packages/ slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/unslung/native/
        ssh nslu2@sources.nslu2-linux.org mirror/sync-ipk unslung/native
        rsync -vl optware/nslu2/packages/Packages* slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/unslung/native/
        rsync -vlrt --delete optware/nslu2/packages/ slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/unslung/native/
        ssh nslu2@sources.nslu2-linux.org mirror/sync-packages-clean unslung/native
endif

.PHONY: upload-optware-wl500g
upload-optware-wl500g: optware/wl500g/.configured
        rsync -vlrt --exclude='Packages*' optware/wl500g/packages/ slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/unslung/wl500g/
        ssh nslu2@sources.nslu2-linux.org mirror/sync-ipk unslung/wl500g
        rsync -vl optware/wl500g/packages/Packages* slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/unslung/wl500g/
        rsync -vlrt --delete optware/wl500g/packages/ slug@nugabe.nslu2-linux.org:htdocs/ipkg/feeds/unslung/wl500g/
        ssh nslu2@sources.nslu2-linux.org mirror/sync-packages-clean unslung/wl500g

.PHONY: upload-sources
upload-sources:
        rsync -vlrt --exclude='ixp400*' downloads/ nslu2@sources.nslu2-linux.org:ipkg/sources/

.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 )

.PHONY: import-openembedded
import-openembedded: openembedded/.configured
        monotone pull monotone.vanille.de org.openembedded.*
        if [ `monotone automate heads org.openembedded.dev | wc -l` != "1" ] ; then \
          monotone merge -b org.openembedded.dev ; \
        fi
        if [ `monotone automate heads org.openembedded.nslu2-linux | wc -l` != "1" ] ; then \
          monotone merge -b org.openembedded.nslu2-linux ; \
        fi
        monotone propagate org.openembedded.dev org.openembedded.nslu2-linux
        if [ `monotone automate heads org.openembedded.nslu2-linux | wc -l` != "1" ] ; then \
          monotone merge -b org.openembedded.nslu2-linux ; \
        fi

.PHONY: export-openembedded
export-openembedded: openembedded/.configured
        if [ `monotone automate heads org.openembedded.nslu2-linux | wc -l` != "1" ] ; then \
          monotone merge -b org.openembedded.nslu2-linux ; \
        fi
        if [ `monotone automate heads org.openembedded.dev | wc -l` != "1" ] ; then \
          monotone merge -b org.openembedded.dev ; \
        fi
        monotone propagate org.openembedded.nslu2-linux org.openembedded.dev
        if [ `monotone automate heads org.openembedded.dev | wc -l` != "1" ] ; then \
          monotone merge -b org.openembedded.dev ; \
        fi
        monotone push monotone.vanille.de org.openembedded.*

.PHONY: publish-openembedded
publish-openembedded: import-openembedded update-openembedded push-openembedded export-openembedded

# End of Makefile