mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-02 09:18:18 +00:00
parent
de4335b443
commit
aff92004d1
@ -1,67 +1 @@
|
|||||||
#
|
include ../../tool/prepare.mk
|
||||||
# \brief Checkout Pistachio and additional needed tools (kickstart)
|
|
||||||
# \author Stefan Kalkowski
|
|
||||||
# \date 2011-07-15
|
|
||||||
#
|
|
||||||
|
|
||||||
VERBOSE = @
|
|
||||||
ECHO = @echo
|
|
||||||
GIT_URI = https://github.com/l4ka/pistachio.git
|
|
||||||
GIT_REV = 76bac3d926dc707c6a3243b38c1505d2b5b6537b
|
|
||||||
CONTRIB_DIR = contrib
|
|
||||||
SHELL = bash
|
|
||||||
PATCHES = $(shell find patches -name *.patch)
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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,patch)
|
|
||||||
$(call check_tool,sed)
|
|
||||||
$(call check_tool,autoheader)
|
|
||||||
$(call check_tool,autoconf)
|
|
||||||
|
|
||||||
#
|
|
||||||
# Determine python version to use for CML2
|
|
||||||
#
|
|
||||||
PYTHON2 := $(notdir $(lastword $(shell which python2 $(addprefix python2.,4 5 6 7 8))))
|
|
||||||
ifeq ($(PYTHON2),)
|
|
||||||
prepare: python_not_installed
|
|
||||||
python_not_installed:
|
|
||||||
$(ECHO) "Error: CML2 Configuration System needs Python 2 to be installed"
|
|
||||||
@false;
|
|
||||||
endif
|
|
||||||
|
|
||||||
#
|
|
||||||
# Print help information by default
|
|
||||||
#
|
|
||||||
help::
|
|
||||||
$(ECHO)
|
|
||||||
$(ECHO) "Check out upstream source code of Pistachio"
|
|
||||||
$(ECHO)
|
|
||||||
$(ECHO) "The source code will be located at the '$(CONTRIB_DIR)/' directory."
|
|
||||||
$(ECHO)
|
|
||||||
$(ECHO) "--- available commands ---"
|
|
||||||
$(ECHO) "prepare - checkout upstream source codes"
|
|
||||||
$(ECHO) "clean - remove upstream source codes"
|
|
||||||
$(ECHO)
|
|
||||||
|
|
||||||
$(CONTRIB_DIR):
|
|
||||||
$(VERBOSE)git clone $(GIT_URI) contrib
|
|
||||||
|
|
||||||
prepare: $(CONTRIB_DIR)
|
|
||||||
$(VERBOSE)cd $(CONTRIB_DIR); git fetch; git reset --hard $(GIT_REV)
|
|
||||||
$(ECHO) "applying patches to '$(CONTRIB_DIR)/'"
|
|
||||||
$(VERBOSE)for i in $(PATCHES); do patch -d $(CONTRIB_DIR) -p1 < $$i; done
|
|
||||||
@# use GCC front end for as linker for the pistachio user land
|
|
||||||
$(VERBOSE)sed -i "/LD=/s/^.*$$/LD=\$$(CC)/" $(CONTRIB_DIR)/user/config.mk.in
|
|
||||||
@# add '-Wl,' prefix to '-melf_*' linker options
|
|
||||||
$(VERBOSE)sed -i "s/-melf_/-Wl,-melf_/" `grep -rl melf_ $(CONTRIB_DIR)/user`
|
|
||||||
$(VERBOSE)for i in cmlcompile.py cmlconfigure.py configtrans.py; do \
|
|
||||||
sed -i "s/env python/env $(PYTHON2)/" $(CONTRIB_DIR)/contrib/cml2/$$i; done
|
|
||||||
$(VERBOSE)cd $(CONTRIB_DIR)/user; autoheader; autoconf;
|
|
||||||
|
|
||||||
clean::
|
|
||||||
$(VERBOSE)rm -rf $(CONTRIB_DIR)
|
|
||||||
|
@ -11,6 +11,7 @@ ifeq ($(called_from_lib_mk),yes)
|
|||||||
all: $(filter-out $(wildcard $(PISTACHIO_USER_BUILD_DIR)), $(PISTACHIO_USER_BUILD_DIR))
|
all: $(filter-out $(wildcard $(PISTACHIO_USER_BUILD_DIR)), $(PISTACHIO_USER_BUILD_DIR))
|
||||||
|
|
||||||
LD_PREFIX = "-Wl,"
|
LD_PREFIX = "-Wl,"
|
||||||
|
PISTACHIO_CONTRIB_DIR := $(call select_from_ports,pistachio)/src/kernel/pistachio
|
||||||
|
|
||||||
$(PISTACHIO_USER_BUILD_DIR):
|
$(PISTACHIO_USER_BUILD_DIR):
|
||||||
$(VERBOSE)mkdir $@
|
$(VERBOSE)mkdir $@
|
||||||
@ -18,7 +19,7 @@ $(PISTACHIO_USER_BUILD_DIR):
|
|||||||
LIBGCCFLAGS="$(CC_MARCH)" \
|
LIBGCCFLAGS="$(CC_MARCH)" \
|
||||||
LDFLAGS="$(addprefix $(LD_PREFIX),$(LD_MARCH)) -nostdlib" \
|
LDFLAGS="$(addprefix $(LD_PREFIX),$(LD_MARCH)) -nostdlib" \
|
||||||
CFLAGS="$(CC_MARCH)" \
|
CFLAGS="$(CC_MARCH)" \
|
||||||
$(REP_DIR)/contrib/user/configure --build=ia32 --host i686 \
|
$(PISTACHIO_CONTRIB_DIR)/user/configure --build=ia32 --host i686 \
|
||||||
CC=$(CROSS_DEV_PREFIX)gcc
|
CC=$(CROSS_DEV_PREFIX)gcc
|
||||||
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) $(VERBOSE_DIR) -C $@
|
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) $(VERBOSE_DIR) -C $@
|
||||||
|
|
||||||
|
1
repos/base-pistachio/ports/pistachio.hash
Normal file
1
repos/base-pistachio/ports/pistachio.hash
Normal file
@ -0,0 +1 @@
|
|||||||
|
dummy
|
34
repos/base-pistachio/ports/pistachio.port
Normal file
34
repos/base-pistachio/ports/pistachio.port
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
LICENSE := BSD
|
||||||
|
VERSION := git
|
||||||
|
DOWNLOADS := pistachio.git
|
||||||
|
URL(pistachio) := https://github.com/l4ka/pistachio.git
|
||||||
|
REV(pistachio) := 76bac3d926dc707c6a3243b38c1505d2b5b6537b
|
||||||
|
DIR(pistachio) := src/kernel/pistachio
|
||||||
|
PATCHES := $(shell find $(REP_DIR)/patches -name *.patch)
|
||||||
|
PATCH_OPT := -p1 -d src/kernel/pistachio
|
||||||
|
|
||||||
|
$(call check_tool,git)
|
||||||
|
$(call check_tool,patch)
|
||||||
|
$(call check_tool,sed)
|
||||||
|
$(call check_tool,autoheader)
|
||||||
|
$(call check_tool,autoconf)
|
||||||
|
|
||||||
|
#
|
||||||
|
# Determine python version to use for CML2
|
||||||
|
#
|
||||||
|
PYTHON2 := $(notdir $(lastword $(shell which python2 $(addprefix python2.,4 5 6 7 8))))
|
||||||
|
ifeq ($(PYTHON2),)
|
||||||
|
default: python_not_installed
|
||||||
|
python_not_installed:
|
||||||
|
$(error CML2 Configuration System needs Python 2 to be installed)
|
||||||
|
endif
|
||||||
|
|
||||||
|
default : additional_steps
|
||||||
|
additional_steps : $(DOWNLOADS)
|
||||||
|
@# use GCC front end for as linker for the pistachio user land
|
||||||
|
$(VERBOSE)sed -i "/LD=/s/^.*$$/LD=\$$(CC)/" src/kernel/pistachio/user/config.mk.in
|
||||||
|
@# add '-Wl,' prefix to '-melf_*' linker options
|
||||||
|
$(VERBOSE)sed -i "s/-melf_/-Wl,-melf_/" `grep -rl melf_ src/kernel/pistachio/user`
|
||||||
|
$(VERBOSE)for i in cmlcompile.py cmlconfigure.py configtrans.py; do \
|
||||||
|
sed -i "s/env python/env $(PYTHON2)/" src/kernel/pistachio/contrib/cml2/$$i; done
|
||||||
|
$(VERBOSE)cd src/kernel/pistachio/user; autoheader; autoconf;
|
@ -2,7 +2,7 @@ TARGET = kernel
|
|||||||
REQUIRES += pistachio
|
REQUIRES += pistachio
|
||||||
KERNEL_BUILD_DIR = $(BUILD_BASE_DIR)/kernel/pistachio
|
KERNEL_BUILD_DIR = $(BUILD_BASE_DIR)/kernel/pistachio
|
||||||
KERNEL = $(KERNEL_BUILD_DIR)/x86-kernel
|
KERNEL = $(KERNEL_BUILD_DIR)/x86-kernel
|
||||||
KERNEL_SRC = $(REP_DIR)/contrib/kernel
|
KERNEL_SRC := $(call select_from_ports,pistachio)/src/kernel/pistachio/kernel
|
||||||
STARTUP_LIB =
|
STARTUP_LIB =
|
||||||
|
|
||||||
LIBGCC_DIR = $(dir $(shell $(CC) $(CC_MARCH) -print-libgcc-file-name))
|
LIBGCC_DIR = $(dir $(shell $(CC) $(CC_MARCH) -print-libgcc-file-name))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user