Check for required tools on 'make prepare'

Fixes #221.
This commit is contained in:
Christian Helmuth 2012-05-25 12:13:05 +02:00
parent 06fdc7b897
commit 36ae42b8ff
17 changed files with 127 additions and 5 deletions

View File

@ -11,6 +11,14 @@ GIT_REV = 6fa4884a5a1cf6207372f69ae01e5faa6d5a39c8
CONTRIB_DIR = contrib CONTRIB_DIR = contrib
PATCHES = $(shell find patches -name *.patch) 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)
# #
# Print help information by default # Print help information by default
# #

View File

@ -30,6 +30,14 @@ SVN_TARGETS = tools/preprocess \
l4/pkg/uclibc \ l4/pkg/uclibc \
l4/pkg/libvcpu 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,patch)
$(call check_tool,svn)
# #
# Print help information by default # Print help information by default
# #

View File

@ -11,6 +11,14 @@ CONTRIB_DIR = contrib
NOVA_ARCHIVE = nova-hypervisor-0.4.tar.bz2 NOVA_ARCHIVE = nova-hypervisor-0.4.tar.bz2
NOVA_URI = http://os.inf.tu-dresden.de/~us15/nova/$(NOVA_ARCHIVE) NOVA_URI = http://os.inf.tu-dresden.de/~us15/nova/$(NOVA_ARCHIVE)
#
# Utility to check if a tool is installed
#
check_tool = $(if $(shell which $(1)),,$(error Need to have '$(1)' installed.))
$(call check_tool,wget)
$(call check_tool,patch)
# #
# Print help information by default # Print help information by default
# #

View File

@ -14,6 +14,15 @@ OKL4_URI = http://wiki.ok-labs.com/downloads/release-2.1.1-patch.9/$(OKL4_A
PATCHES = $(shell find patches -name *.patch) PATCHES = $(shell find patches -name *.patch)
SHELL = bash SHELL = bash
#
# Utility to check if a tool is installed
#
check_tool = $(if $(shell which $(1)),,$(error Need to have '$(1)' installed.))
$(call check_tool,wget)
$(call check_tool,patch)
$(call check_tool,sed)
# #
# Determine python version to use for OKL4's elfweaver # Determine python version to use for OKL4's elfweaver
# #

View File

@ -11,6 +11,17 @@ GIT_REV = 5c1b29b9c77fbd4760f35507da3d2f548f4364bd
CONTRIB_DIR = contrib CONTRIB_DIR = contrib
PATCHES = $(shell find patches -name *.patch) 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)
# #
# Print help information by default # Print help information by default
# #

View File

@ -12,6 +12,14 @@ GIT_REV = 174df77359f22f3be2169e9bb04e8018015b5e94
CONTRIB_DIR = contrib CONTRIB_DIR = contrib
PATCH_FILE = patches/dde_ipxe.patch PATCH_FILE = patches/dde_ipxe.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)
# #
# Print help information by default # Print help information by default
# #

View File

@ -58,6 +58,14 @@ CONTENT += include/linux/input/mt.h
CONTRIB_CONTENT := $(addprefix $(CONTRIB_DIR)/,$(CONTENT)) CONTRIB_CONTENT := $(addprefix $(CONTRIB_DIR)/,$(CONTENT))
#
#
# Utility to check if a tool is installed
#
check_tool = $(if $(shell which $(1)),,$(error Need to have '$(1)' installed.))
$(call check_tool,wget)
$(call check_tool,patch)
# #
# Print help information by default # Print help information by default

View File

@ -22,6 +22,14 @@ SHELL = bash
# #
prepare: $(DOWNLOAD_DIR) $(CONTRIB_DIR) prepare: $(DOWNLOAD_DIR) $(CONTRIB_DIR)
#
# Utility to check if a tool is installed
#
check_tool = $(if $(shell which $(1)),,$(error Need to have '$(1)' installed.))
$(call check_tool,wget)
$(call check_tool,patch)
# #
# Include information about available ports # Include information about available ports
# #
@ -66,4 +74,3 @@ clean: $(addprefix clean-,$(PKG))
cleanall: clean cleanall: clean
$(VERBOSE)rm -rf $(DOWNLOAD_DIR) $(VERBOSE)rm -rf $(DOWNLOAD_DIR)

View File

@ -13,6 +13,11 @@ FFAT_URL = http://genode.org/files/$(FFAT_ZIP)
# #
PORTS += ffat-0.07e PORTS += ffat-0.07e
#
# Check for tools
#
$(call check_tool,unzip)
prepare-ffat: $(CONTRIB_DIR)/$(FFAT) prepare-ffat: $(CONTRIB_DIR)/$(FFAT)
$(CONTRIB_DIR)/$(FFAT): clean-ffat $(CONTRIB_DIR)/$(FFAT): clean-ffat

View File

@ -6,11 +6,11 @@ LIBC := libc-8.2.0
PORTS += $(LIBC) PORTS += $(LIBC)
# #
# Sanity check for tools # Check for tools
# #
ifeq ($(shell which lex),) $(call check_tool,svn)
$(error Missing installation of 'lex' (package flex)) $(call check_tool,lex)
endif $(call check_tool,yacc)
# #
# Subdirectories to check out from FreeBSD's Subversion repository # Subdirectories to check out from FreeBSD's Subversion repository

View File

@ -7,6 +7,11 @@ LWIP_URL = http://mirrors.zerg.biz/nongnu/lwip/$(LWIP_ZIP)
# #
PORTS += $(LWIP) PORTS += $(LWIP)
#
# Check for tools
#
$(call check_tool,unzip)
prepare-lwip: $(CONTRIB_DIR)/$(LWIP) include/lwip/lwip include/lwip/netif prepare-lwip: $(CONTRIB_DIR)/$(LWIP) include/lwip/lwip include/lwip/netif
$(CONTRIB_DIR)/$(LWIP): clean-lwip $(CONTRIB_DIR)/$(LWIP): clean-lwip

View File

@ -7,6 +7,12 @@ NCURSES_URL := http://ftp.gnu.org/pub/gnu/ncurses/$(NCURSES_TGZ)
# #
PORTS += $(NCURSES) PORTS += $(NCURSES)
#
# Check for tools
#
$(call check_tool,sed)
$(call check_tool,mawk)
NCURSES_SYMLINKED_INC := nc_alloc.h nc_panel.h nc_tparm.h term_entry.h \ NCURSES_SYMLINKED_INC := nc_alloc.h nc_panel.h nc_tparm.h term_entry.h \
tic.h hashed_db.h capdefaults.c tic.h hashed_db.h capdefaults.c
NCURSES_GENERATED_INC := curses.h ncurses_def.h ncurses_dll.h term.h \ NCURSES_GENERATED_INC := curses.h ncurses_def.h ncurses_dll.h term.h \

View File

@ -16,11 +16,20 @@ PATCH-l4android = patches/l4android_genode.patch
REV-l4android = 90ca43bd629452ffd38d85fe8c976f069b5bb3d9 REV-l4android = 90ca43bd629452ffd38d85fe8c976f069b5bb3d9
REPO-l4android = git://git.l4android.org/kernel.git REPO-l4android = git://git.l4android.org/kernel.git
#
# Utility to check if a tool is installed
#
check_tool = $(if $(shell which $(1)),,$(error Need to have '$(1)' installed.))
$(call check_tool,patch)
ifeq ($(TARGET), l4android) ifeq ($(TARGET), l4android)
$(call check_tool,git)
DIFF = git diff DIFF = git diff
UPDATE = cd $(REAL_CONTRIB_DIR)/l4android; git fetch; git reset --hard $(REV-l4android) UPDATE = cd $(REAL_CONTRIB_DIR)/l4android; git fetch; git reset --hard $(REV-l4android)
PATCH = patch -p1 PATCH = patch -p1
else else
$(call check_tool,svn)
DIFF = svn diff DIFF = svn diff
UPDATE = svn up -r $(REV-l4linux) $(REAL_CONTRIB_DIR)/l4linux UPDATE = svn up -r $(REV-l4linux) $(REAL_CONTRIB_DIR)/l4linux
PATCH = patch -p0 PATCH = patch -p0

View File

@ -15,6 +15,15 @@ OKLX_VERSION = oklinux_2.6.23.24
OKLX_ARCHIVE = $(OKLX_VERSION).tar.gz OKLX_ARCHIVE = $(OKLX_VERSION).tar.gz
OKLX_CONTRIB = kernel-2.6.23-v2 OKLX_CONTRIB = kernel-2.6.23-v2
#
# Utility to check if a tool is installed
#
check_tool = $(if $(shell which $(1)),,$(error Need to have '$(1)' installed.))
$(call check_tool,wget)
$(call check_tool,patch)
$(call check_tool,sed)
# #
# Print help information by default # Print help information by default
# #

View File

@ -22,6 +22,14 @@ SHELL = bash
# #
prepare:: $(DOWNLOAD_DIR) $(CONTRIB_DIR) prepare:: $(DOWNLOAD_DIR) $(CONTRIB_DIR)
#
# Utility to check if a tool is installed
#
check_tool = $(if $(shell which $(1)),,$(error Need to have '$(1)' installed.))
$(call check_tool,wget)
$(call check_tool,patch)
# #
# Include information about available ports # Include information about available ports
# #

View File

@ -7,6 +7,11 @@ VIM_URL = ftp://ftp.vim.org/pub/vim/unix/$(VIM_TBZ2)
# #
PORTS += $(VIM) PORTS += $(VIM)
#
# Check for tools
#
$(call check_tool,sed)
prepare:: $(CONTRIB_DIR)/$(VIM) prepare:: $(CONTRIB_DIR)/$(VIM)
# #

View File

@ -33,6 +33,14 @@ PATCHES = qt4_genode.patch \
qt4_renderwidget.patch \ qt4_renderwidget.patch \
qt4_include_time_h.patch qt4_include_time_h.patch
#
# Utility to check if a tool is installed
#
check_tool = $(if $(shell which $(1)),,$(error Need to have '$(1)' installed.))
$(call check_tool,wget)
$(call check_tool,patch)
help: help:
$(ECHO) $(ECHO)
$(ECHO) "Prepare the Qt4 repository" $(ECHO) "Prepare the Qt4 repository"