downloads:
[ -e $@ ] || mkdir -p $@
-unslung/Makefile openslug/Makefile ucslugc/Makefile common/Make.rules MT/revision:
+unslung/Makefile openslug/Makefile common/openembedded.mk common/setup-openembedded MT/revision:
${MAKE} downloads
[ -e monotone/nslu2-linux.db ] || ( ${MAKE} monotone/nslu2-linux.db )
[ -e MT/revision ] || ( monotone -d monotone/nslu2-linux.db co -b org.nslu2-linux.dev . )
.PHONY: setup-master
-setup-master: setup-monotone unslung/Makefile openslug/Makefile
+setup-master: setup-monotone unslung/Makefile openslug/Makefile ucslugc/Makefile
[ -e unslung/downloads ] || ( cd unslung ; ln -s ../downloads . )
[ -e openslug/downloads ] || ( cd openslug ; ln -s ../downloads . )
${MAKE} MT/revision
[ -e openembedded/conf/machine/nslu2.conf ] || monotone co -b org.openembedded.nslu2-linux openembedded
-.PHONY: setup-optware
-setup-optware optware/Makefile:
- ${MAKE} downloads
- [ -e optware/Makefile ] || ( cvs -q -d :pserver:anonymous@cvs.sf.net:/cvsroot/nslu co -d optware unslung )
-
.PHONY: setup-openslug-2.3-beta
setup-openslug-2.3-beta releases/OpenSlug-2.3-beta/Makefile: downloads
[ ! -e releases/OpenSlug-2.3-beta ] || mkdir -p releases
cd releases/OpenSlug-2.3-beta && ${MAKE} conf/local.conf setup-env
ln -s ../../downloads releases/OpenSlug-2.3-beta/
+.PHONY: setup-ucslugc
+setup-ucslugc ucslugc/Makefile:
+ ${MAKE} MT/revision
+ [ -d ucslugc ] || ( mkdir -p ucslugc )
+ [ -e ucslugc/Makefile ] || ( cd ucslugc ; ln -s ../common/openembedded.mk Makefile )
+ [ -e ucslugc/setup-openembedded ] || ( cd ucslugc ; ln -s ../common/setup-openembedded . )
+ [ -e ucslugc/downloads ] || ( cd ucslugc ; ln -s ../downloads . )
+ [ -e ucslugc/bitbake ] || ( cd ucslugc ; ln -s ../bitbake . )
+ [ -e ucslugc/openembedded ] || ( cd ucslugc ; ln -s ../openembedded . )
+ [ -d ucslugc/conf ] || ( mkdir -p ucslugc/conf )
+ [ -e ucslugc/conf/site.conf ] || ( cd ucslugc/conf ; ln -s ../../common/conf/site.conf . )
+
+.PHONY: setup-optware
+setup-optware optware/Makefile:
+ ${MAKE} downloads
+ [ -e optware/Makefile ] || ( cvs -q -d :pserver:anonymous@cvs.sf.net:/cvsroot/nslu co -d optware unslung )
+
optware/nslu2/Makefile:
${MAKE} optware/Makefile
[ -e optware/nslu2/Makefile ] || ( \
#
# Each DISTRO must create a appropriate topdir file containing
# (just) the definition of TOPDIR
-include topdir.conf
+include conf/topdir.conf
# These definitions should be the same for every DISTRO - if
# a change is necessary make it in the DISTRO auto.conf. The
# Makefile for UcSlugC
# Licensed under the GPL v2 or later
#
-# Define DISTRO and TARGET before including this in Makefile
-BUILD_DIRS = downloads home
-REQUIRED_DIRS = bitbake openembedded common
+BUILD_DIRS = downloads
+REQUIRED_DIRS = bitbake openembedded
FIRMWARE_DEPS = create-topdir $(BUILD_DIRS) $(REQUIRED_DIRS)
# The default rule is to build the firmware in an unprotected environment.
-$(DISTRO)-firmware: $(FIRMWARE_DEPS)
- . common/env; exec bitbake $(TARGET)
+firmware: $(FIRMWARE_DEPS)
+ . ./setup-openembedded; exec bitbake $${MAKE_TARGET}
# This rule clobbers the environment (note that ccache uses '$HOME' by
# default, so the cache will end up there).
-$(DISTRO)-safe:
- env -i HOME="`pwd`/home" PATH="$${PATH}" $(MAKE) $(DISTRO)-firmware
+firmware-safe:
+ env -i HOME="$${HOME}" PATH="$${PATH}" $(MAKE) firmware
# topdir.conf is re-created automatically if the directory is
# moved - this will cause a full bitbake reparse
.PHONY: create-topdir
-create-topdir: topdir.conf
- . topdir.conf && test "`pwd`" = "$$TOPDIR" || echo "TOPDIR='`pwd`'" >topdir.conf
+create-topdir: conf/topdir.conf
+ . conf/topdir.conf && test "`pwd`" = "$$TOPDIR" || echo "TOPDIR='`pwd`'" > conf/topdir.conf
-topdir.conf:
+conf/topdir.conf:
echo "TOPDIR='`pwd`'" >$@
# rules for directories - if a symlink exists and the target does not
clobber:
rm -rf tmp
-.PHONY: $(DISTRO)-source
-$(DISTRO)-source: $(REQUIRED_DIRS)
- tar zcf $@.tar.gz --exclude=MT Makefile conf/auto.conf conf/local.conf.sample $(REQUIRED_DIRS:=/.)
+.PHONY: source
+source: $(REQUIRED_DIRS)
+ tar zcf $${DISTRO}.tar.gz --exclude=MT Makefile setup-openembedded conf/site.conf conf/auto.conf \
+ conf/local.conf.sample $(REQUIRED_DIRS:=/.)
# This target probably isn't important any longer, because the -source
# target above does the right thing
.PHONY:
distclean: clobber
- rm -rf topdir.conf conf/local.conf common/conf/local.conf $(BUILD_DIRS)
+ rm -rf conf/topdir.conf conf/local.conf $(BUILD_DIRS)
# This target is mainly for testing - it is intended to put the disto directory
# back to its original state, it will destroy a source-tarball system (because
# it removes directories from the tarball).
.PHONY:
really-clean: distclean
- rm -rf $(REQUIRED_DIRS) $(DISTRO)-source.tar.gz
+ rm -rf $(REQUIRED_DIRS) $${DISTRO}-source.tar.gz
#
# topdir must exist in the directory and define TOPDIR to
# the full path name of the working directory
-. ./topdir.conf
+. ./conf/topdir.conf
test -n "$TOPDIR" -a -d "$TOPDIR" || {
echo "environment: TOPDIR not defined" >&2
exit 1
}
+
+. ./conf/auto.conf
+export DISTRO
+export MAKE_TARGET
+
#
# the following must match the definitions in common/conf/site.conf
export PYTHONPATH="${TOPDIR}/bitbake/lib"
-export BBPATH="${TOPDIR}:${TOPDIR}/common:${TOPDIR}/openembedded:${TOPDIR}/bitbake"
+export BBPATH="${TOPDIR}:${TOPDIR}/openembedded:${TOPDIR}/bitbake"
export PATH="${TOPDIR}/bitbake/bin:${PATH}"
export LD_LIBRARY_PATH=
export LANG=C
+++ /dev/null
-# Makefile for UcSlugC
-# Licensed under the GPL v2 or later
-DISTRO=ucslugc
-TARGET=openslug-packages
-
-include common/Make.rules
-
-# The following is required for bootstrapping
-common/Make.rules:
- $(MAKE) -f ../common/Make.rules common
# UcSlugC bitbake configuration
DISTRO="ucslugc"
MACHINE="nslu2"
+MAKE_TARGET="openslug-packages"
\ No newline at end of file
+++ /dev/null
-# set up an environment for building UcSlugC
-# (it is sufficient to source common/env to do this, this
-# script, which should be sourced, exists to mirror the old
-# method).
-test -d common || {
- test -d ../common && ln -s ../common ./common
-}
-if test -r common/env
-then
- . common/env
- echo 'Environment set up for UcSlugC development.'
-else
- echo "setup-env: 'common/env' script not found" >&2
-fi