parent
313202fb65
commit
5cdfb0a3a5
|
@ -1,90 +1 @@
|
||||||
#
|
include ../../tool/prepare.mk
|
||||||
# \brief Checkout Fiasco.OC and addtional needed tools (sigma0, bootstrap)
|
|
||||||
# \author Stefan Kalkowski
|
|
||||||
# \author Sebastian Sumpf
|
|
||||||
# \date 2011-03-31
|
|
||||||
#
|
|
||||||
|
|
||||||
VERBOSE ?= @
|
|
||||||
ECHO = @echo
|
|
||||||
SVN_URI = http://svn.tudos.org/repos/oc/tudos/trunk
|
|
||||||
GIT_URI = http://github.com/ssumpf/foc.git
|
|
||||||
GIT_BRANCH = r56
|
|
||||||
CONTRIB_DIR = contrib
|
|
||||||
GNU_FIND ?= find
|
|
||||||
|
|
||||||
SVN_TARGETS = tools/preprocess \
|
|
||||||
kernel/fiasco \
|
|
||||||
l4/conf \
|
|
||||||
l4/doc \
|
|
||||||
l4/mk \
|
|
||||||
l4/tool \
|
|
||||||
l4/pkg/bootstrap \
|
|
||||||
l4/pkg/cxx \
|
|
||||||
l4/pkg/drivers-frst \
|
|
||||||
l4/pkg/l4sys \
|
|
||||||
l4/pkg/l4util \
|
|
||||||
l4/pkg/ldscripts \
|
|
||||||
l4/pkg/libgcc-pure \
|
|
||||||
l4/pkg/libgcc \
|
|
||||||
l4/pkg/libsigma0 \
|
|
||||||
l4/pkg/sigma0 \
|
|
||||||
l4/pkg/uclibc-headers \
|
|
||||||
l4/pkg/uclibc-minimal \
|
|
||||||
l4/pkg/uclibc \
|
|
||||||
l4/pkg/libvcpu
|
|
||||||
|
|
||||||
#
|
|
||||||
# Utility to check if a tool is installed
|
|
||||||
#
|
|
||||||
check_tool = $(if $(shell which $(1)),,$(error Need to have '$(1)' installed.))
|
|
||||||
|
|
||||||
$(call check_tool,git)
|
|
||||||
$(call check_tool,svn)
|
|
||||||
$(call check_tool,$(GNU_FIND))
|
|
||||||
|
|
||||||
#
|
|
||||||
# Print help information by default
|
|
||||||
#
|
|
||||||
help::
|
|
||||||
|
|
||||||
$(CONTRIB_DIR)/.git:
|
|
||||||
$(VERBOSE)git clone $(GIT_URI) $(CONTRIB_DIR)
|
|
||||||
|
|
||||||
prepare: $(CONTRIB_DIR)/.git
|
|
||||||
$(VERBOSE)cd $(CONTRIB_DIR); git fetch origin
|
|
||||||
$(VERBOSE)cd $(CONTRIB_DIR); git checkout $(GIT_BRANCH)
|
|
||||||
$(VERBOSE)cd $(CONTRIB_DIR); git rebase origin/$(GIT_BRANCH)
|
|
||||||
|
|
||||||
$(SVN_REV)/%:
|
|
||||||
$(VERBOSE)svn co -r $(SVN_REV) $(SVN_URI)/$* $@
|
|
||||||
|
|
||||||
checkout_base:
|
|
||||||
ifeq ($(SVN_REV),)
|
|
||||||
$(error Syntax 'make checkout SVN_REV=<revision>')
|
|
||||||
endif
|
|
||||||
$(VERBOSE)svn export -r $(SVN_REV) $(SVN_URI)/l4/COPYING-GPL-2 $(SVN_REV)
|
|
||||||
$(VERBOSE)svn co -r $(SVN_REV) --depth immediates $(SVN_URI) $(SVN_REV)
|
|
||||||
$(VERBOSE)svn co -r $(SVN_REV) --depth files $(SVN_URI)/l4 $(SVN_REV)/l4
|
|
||||||
$(VERBOSE)svn co -r $(SVN_REV) --depth files $(SVN_URI)/l4/pkg $(SVN_REV)/l4/pkg
|
|
||||||
|
|
||||||
checkout: checkout_base $(addprefix $(SVN_REV)/,$(SVN_TARGETS))
|
|
||||||
$(VERBOSE)$(GNU_FIND) $(SVN_REV) -depth -name .svn -type d -exec rm -r {} ";"
|
|
||||||
|
|
||||||
help::
|
|
||||||
$(ECHO)
|
|
||||||
$(ECHO) "Check out upstream source code of Fiasco.OC"
|
|
||||||
$(ECHO)
|
|
||||||
$(ECHO) "The source code will be located at the '$(CONTRIB_DIR)/' directory."
|
|
||||||
$(ECHO)
|
|
||||||
$(ECHO) "--- available commands ---"
|
|
||||||
$(ECHO) "prepare - checkout upstream source codes"
|
|
||||||
$(ECHO) "checkout SVN_REV=<rev> - checkout out <rev> revision of Fiasco.OC/L4RE from the official repositiry"
|
|
||||||
$(ECHO) " and store in directory <rev>"
|
|
||||||
$(ECHO) "clean - remove upstream source codes"
|
|
||||||
$(ECHO)
|
|
||||||
|
|
||||||
clean::
|
|
||||||
$(VERBOSE)rm -rf $(CONTRIB_DIR)
|
|
||||||
|
|
||||||
.NOTPARALLEL:
|
|
||||||
|
|
|
@ -26,23 +26,7 @@ $(BUILD_BASE_DIR)/include/%:
|
||||||
$(VERBOSE)mkdir -p $(dir $@)
|
$(VERBOSE)mkdir -p $(dir $@)
|
||||||
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/include/$* $@
|
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/include/$* $@
|
||||||
|
|
||||||
#
|
FOC_CONTRIB_DIR := $(call select_from_ports,foc)/src/kernel/foc
|
||||||
# Sanity checks
|
|
||||||
#
|
|
||||||
ifeq ($(L4_BUILD_DIR),$(BUILD_BASE_DIR)/l4)
|
|
||||||
ifeq ($(L4_CONFIG),)
|
|
||||||
all: $(REP_DIR)/contrib l4_config_not_defined
|
|
||||||
l4_config_not_defined:
|
|
||||||
$(VERBOSE)$(ECHO) "Error: L4_CONFIG is not defined, platform not supported"
|
|
||||||
@false
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(REP_DIR)/contrib:
|
|
||||||
$(VERBOSE)$(ECHO) "--> Please, execute 'make prepare' in $(REP_DIR)"
|
|
||||||
$(VERBOSE)$(ECHO) "--> before compiling Genode apps for Fiasco.OC."
|
|
||||||
$(VERBOSE)$(ECHO) "--> Run 'make cleanall' before next compilation."
|
|
||||||
$(VERBOSE)exit 1
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Create L4 build directory
|
# Create L4 build directory
|
||||||
|
@ -50,8 +34,8 @@ $(REP_DIR)/contrib:
|
||||||
# Resetting the 'MAKEFLAGS' is important because otherwise, the L4
|
# Resetting the 'MAKEFLAGS' is important because otherwise, the L4
|
||||||
# build system will stuble over predefined variables, i.e., 'LIB'
|
# build system will stuble over predefined variables, i.e., 'LIB'
|
||||||
#
|
#
|
||||||
$(BUILD_BASE_DIR)/l4/.kconfig: $(REP_DIR)/contrib
|
$(BUILD_BASE_DIR)/l4/.kconfig:
|
||||||
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) $(VERBOSE_DIR) -C $(REP_DIR)/contrib/l4 B=$(dir $@) \
|
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) $(VERBOSE_DIR) -C $(FOC_CONTRIB_DIR)/l4 B=$(dir $@) \
|
||||||
DROPSCONF_DEFCONFIG="$(L4_CONFIG)" \
|
DROPSCONF_DEFCONFIG="$(L4_CONFIG)" \
|
||||||
VERBOSE="$(VERBOSE)" SYSTEM_TARGET="$(CROSS_DEV_PREFIX)"
|
VERBOSE="$(VERBOSE)" SYSTEM_TARGET="$(CROSS_DEV_PREFIX)"
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ endif
|
||||||
|
|
||||||
L4_BUILD_DIR = $(BUILD_BASE_DIR)/l4
|
L4_BUILD_DIR = $(BUILD_BASE_DIR)/l4
|
||||||
L4_BUILD_OPT = SYSTEM_TARGET=$(CROSS_DEV_PREFIX)
|
L4_BUILD_OPT = SYSTEM_TARGET=$(CROSS_DEV_PREFIX)
|
||||||
L4_PKG_DIR = $(REP_DIR)/contrib/l4/pkg
|
L4_PKG_DIR := $(call select_from_ports,foc)/src/kernel/foc/l4/pkg
|
||||||
STARTUP_LIB =
|
STARTUP_LIB =
|
||||||
PKG_TAGS = $(addsuffix .tag,$(PKGS))
|
PKG_TAGS = $(addsuffix .tag,$(PKGS))
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
dummy
|
|
@ -0,0 +1,6 @@
|
||||||
|
LICENSE := GPLv2
|
||||||
|
VERSION := git
|
||||||
|
DOWNLOADS := foc.git
|
||||||
|
URL(foc) := http://github.com/ssumpf/foc.git
|
||||||
|
REV(foc) := 7cd187003db06c842b11c9f46f0a0753ed677203
|
||||||
|
DIR(foc) := src/kernel/foc
|
|
@ -1,5 +1,5 @@
|
||||||
REQUIRES = platform_arndale
|
REQUIRES = platform_arndale
|
||||||
FIASCO_DIR = $(REP_DIR)/contrib/kernel/fiasco
|
FIASCO_DIR := $(call select_from_ports,foc)/src/kernel/foc/kernel/fiasco
|
||||||
KERNEL_CONFIG = $(REP_DIR)/config/arndale.kernel
|
KERNEL_CONFIG = $(REP_DIR)/config/arndale.kernel
|
||||||
|
|
||||||
-include $(PRG_DIR)/../target.inc
|
-include $(PRG_DIR)/../target.inc
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
REQUIRES = platform_panda
|
REQUIRES = platform_panda
|
||||||
FIASCO_DIR = $(REP_DIR)/contrib/kernel/fiasco
|
FIASCO_DIR := $(call select_from_ports,foc)/src/kernel/foc/kernel/fiasco
|
||||||
KERNEL_CONFIG = $(REP_DIR)/config/panda.kernel
|
KERNEL_CONFIG = $(REP_DIR)/config/panda.kernel
|
||||||
|
|
||||||
-include $(PRG_DIR)/../target.inc
|
-include $(PRG_DIR)/../target.inc
|
||||||
|
|
|
@ -2,7 +2,7 @@ TARGET = fiasco.oc
|
||||||
REQUIRES += foc
|
REQUIRES += foc
|
||||||
FOC_BUILD_DIR = $(BUILD_BASE_DIR)/kernel/$(TARGET)
|
FOC_BUILD_DIR = $(BUILD_BASE_DIR)/kernel/$(TARGET)
|
||||||
FIASCO = $(FOC_BUILD_DIR)/fiasco
|
FIASCO = $(FOC_BUILD_DIR)/fiasco
|
||||||
FIASCO_SRC = $(REP_DIR)/contrib/kernel/fiasco
|
FIASCO_SRC := $(call select_from_ports,foc)/src/kernel/foc/kernel/fiasco
|
||||||
STARTUP_LIB =
|
STARTUP_LIB =
|
||||||
|
|
||||||
$(TARGET): $(FIASCO)
|
$(TARGET): $(FIASCO)
|
||||||
|
|
Loading…
Reference in New Issue