#!/usr/bin/make -f # target platform: dm500plus, dm600pvr, dm7020, dm7025, dm800, dm8000 MACHINE = dm7020 # for a list of some other repositories have # a look at http://git.opendreambox.org/ GIT_URL = git://git.opendreambox.org/git/openembedded # in case you want to send pull requests or generate patches #GIT_AUTHOR_NAME ?= Your Name #GIT_AUTHOR_EMAIL ?= you@example.com # you should not need to change anything below BB_VERSION = 1.8.12 SVN = svn SVN_BITBAKE_PARENT = "svn://svn.berlios.de/bitbake/" GIT = git GIT_BRANCH = opendreambox PWD := $(shell pwd) OE_BASE = $(PWD)/$(MACHINE) all: initialize @echo @echo "Openembedded for the Dreambox environment has been initialized" @echo "properly. Now you can either:" @echo @echo " - make the 'image'-target to build an image, or" @echo " - go into $(MACHINE)/build/, source env.source and start on your own!" @echo bb: $(SVN) checkout $(SVN_BITBAKE_PARENT)/tags/bitbake-$(BB_VERSION) bb .PHONY: image initialize openembedded-update openembedded-update-all image: initialize openembedded-update cd $(OE_BASE)/build; . ./env.source; bitbake dreambox-image initialize: $(OE_BASE)/cache sources $(OE_BASE)/build $(OE_BASE)/build/conf \ $(OE_BASE)/build/tmp $(OE_BASE)/openembedded $(OE_BASE)/build/conf/local.conf \ $(OE_BASE)/build/env.source bb openembedded-update: $(OE_BASE)/openembedded cd $(OE_BASE)/openembedded && $(GIT) pull openembedded-update-all: @for dir in dm*/openembedded; do \ echo "running ${GIT} pull in $$dir"; \ cd $$dir && ${GIT} pull && cd -; \ done $(OE_BASE)/build $(OE_BASE)/build/conf $(OE_BASE)/build/tmp $(OE_BASE)/cache sources: mkdir -p $@ $(OE_BASE)/build/conf/local.conf: echo 'DL_DIR = "$(PWD)/sources"' > $@ echo 'OE_BASE = "$(OE_BASE)"' >> $@ echo 'BBFILES = "$${OE_BASE}/openembedded/packages/*/*.bb"' >> $@ echo 'PREFERRED_PROVIDERS += " virtual/$${TARGET_PREFIX}gcc-initial:gcc-cross-initial"' >> $@ echo 'PREFERRED_PROVIDERS += " virtual/$${TARGET_PREFIX}gcc:gcc-cross"' >> $@ echo 'PREFERRED_PROVIDERS += " virtual/$${TARGET_PREFIX}g++:gcc-cross"' >> $@ echo 'MACHINE = "$(MACHINE)"' >> $@ echo 'TARGET_OS = "linux"' >> $@ echo 'DISTRO = "opendreambox"' >> $@ echo 'CACHE = "$(OE_BASE)/cache/oe-cache.$${USER}"' >> $@ $(OE_BASE)/build/env.source: echo 'OE_BASE=$(OE_BASE)' > $@ echo 'export BBPATH="$${OE_BASE}/openembedded/:$(PWD)/bb/:$${OE_BASE}/build/"' >> $@ echo 'PATH=$${PATH}:$(PWD)/bb/bin:$${OE_BASE}/build/tmp/cross/bin' >> $@ echo 'export PATH' >> $@ echo 'export LD_LIBRARY_PATH=' >> $@ echo 'export LANG=C' >> $@ cat $@ $(OE_BASE)/openembedded: $(OE_BASE)/openembedded/.git $(OE_BASE)/openembedded/.git: $(GIT) clone -n $(GIT_URL) $(OE_BASE)/openembedded cd $(OE_BASE)/openembedded && ( \ if [ -n "$(GIT_AUTHOR_EMAIL)" ]; then git config user.email "$(GIT_AUTHOR_EMAIL)"; fi; \ if [ -n "$(GIT_AUTHOR_NAME)" ]; then git config user.name "$(GIT_AUTHOR_NAME)"; fi; \ $(GIT) branch $(GIT_BRANCH) origin/$(GIT_BRANCH) || true; \ $(GIT) checkout $(GIT_BRANCH) \ )