You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

181 lines
4.9 KiB

#
7 years ago
# makefile for basic prerequisites
#
# -----------------------------------------------------------------------------
7 years ago
init: preqs crosstool bootstrap
# -----------------------------------------------------------------------------
TOOLCHECK =
TOOLCHECK += find-automake
TOOLCHECK += find-autopoint
TOOLCHECK += find-bc
TOOLCHECK += find-bison
TOOLCHECK += find-bzip2
TOOLCHECK += find-ccache
TOOLCHECK += find-cmake
TOOLCHECK += find-curl
TOOLCHECK += find-flex
TOOLCHECK += find-gawk
TOOLCHECK += find-gcc
TOOLCHECK += find-gettext
TOOLCHECK += find-git
TOOLCHECK += find-gperf
TOOLCHECK += find-gzip
TOOLCHECK += find-help2man
TOOLCHECK += find-libtool
TOOLCHECK += find-lzma
TOOLCHECK += find-makeinfo
TOOLCHECK += find-patch
TOOLCHECK += find-pkg-config
TOOLCHECK += find-python
TOOLCHECK += find-svn
TOOLCHECK += find-tic
TOOLCHECK += find-yacc
find-%:
@TOOL=$(patsubst find-%,%,$(@)); \
type -p $$TOOL >/dev/null || { echo "required tool $$TOOL missing."; false; }
toolcheck: $(TOOLCHECK)
@echo "All required tools seem to be installed."
@make bashcheck
bashcheck:
@if test "$(subst /bin/,,$(shell readlink /bin/sh))" != "bash"; then \
echo -e "$(TERM_YELLOW)WARNING$(TERM_NORMAL): /bin/sh is not linked to bash."; \
fi
# -----------------------------------------------------------------------------
7 years ago
preqs: download ni-sources
7 years ago
$(CCACHE):
$(call draw_line);
7 years ago
@echo "ccache package on host missing."
$(call draw_line);
7 years ago
@false
download:
$(call draw_line);
@echo "Download directory missing."
7 years ago
@echo
@echo "You need to make a directory named 'download' by executing 'mkdir download' or create a symlink to the directory where you keep your sources, e.g. by typing 'ln -s /path/to/my/Archive download'."
$(call draw_line);
7 years ago
@false
# -----------------------------------------------------------------------------
$(SOURCE_DIR):
mkdir -p $(@)
$(BUILD-GENERIC-PC):
git clone $(NI-PUBLIC)/$(NI-BUILD-GENERIC-PC).git $(BUILD-GENERIC-PC)
$(SOURCE_DIR)/$(NI-NEUTRINO):
$(CD) $(SOURCE_DIR); \
git clone $(NI-PUBLIC)/$(@F).git
ifeq ($(NI_ADMIN), true)
$(CD) $(@); \
git remote add tuxbox $(GITHUB)/tuxbox-neutrino/gui-neutrino.git; \
git remote add seife $(GITHUB)/neutrino-mp/neutrino-mp.git; \
git remote add ddt $(GITHUB)/duckbox-developers/neutrino-ddt.git; \
git remote add tango $(GITHUB)/tangocash/neutrino-tangos.git; \
git fetch --all
endif
7 years ago
$(SOURCE_DIR)/$(NI-LIBSTB-HAL):
$(CD) $(SOURCE_DIR); \
git clone $(NI-PUBLIC)/$(@F).git
ifeq ($(NI_ADMIN), true)
$(CD) $(@); \
git remote add tuxbox $(GITHUB)/tuxbox-neutrino/library-stb-hal.git; \
git remote add seife $(GITHUB)/neutrino-mp/libstb-hal.git; \
git remote add ddt $(GITHUB)/duckbox-developers/libstb-hal-ddt.git; \
git remote add tango $(GITHUB)/tangocash/libstb-hal-tangos.git; \
git fetch --all
endif
$(SOURCE_DIR)/$(NI-LIBCOOLSTREAM):
7 years ago
ifeq ($(HAS_LIBCS), yes)
$(CD) $(SOURCE_DIR); \
git clone $(NI-PRIVATE)/$(@F).git
$(CD) $(@); \
git checkout $(NI-LIBCOOLSTREAM_BRANCH)
7 years ago
endif
# upstream for rebase
$(SOURCE_DIR)/$(NI-FFMPEG):
$(CD) $(SOURCE_DIR); \
git clone $(NI-PUBLIC)/$(@F).git
ifeq ($(NI_ADMIN), true)
$(CD) $(@); \
git remote add upstream https://git.ffmpeg.org/ffmpeg.git; \
7 years ago
git fetch --all
endif
7 years ago
# upstream for rebase
# torvalds for cherry-picking
$(SOURCE_DIR)/$(NI-LINUX-KERNEL):
$(CD) $(SOURCE_DIR); \
git clone $(NI-PUBLIC)/$(@F).git
ifeq ($(NI_ADMIN), true)
$(CD) $(@); \
git remote add upstream https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git; \
git remote add torvalds https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git; \
7 years ago
git fetch --all
endif
7 years ago
# upstream for rebase
$(SOURCE_DIR)/$(NI-OFGWRITE):
$(CD) $(SOURCE_DIR); \
git clone $(NI-PUBLIC)/$(@F).git
ifeq ($(NI_ADMIN), true)
$(CD) $(@); \
git remote add upstream $(GITHUB)/oe-alliance/ofgwrite.git; \
git fetch --all
endif
# upstream for rebase
$(SOURCE_DIR)/$(NI-RTMPDUMP):
$(CD) $(SOURCE_DIR); \
git clone $(NI-PUBLIC)/$(@F).git
ifeq ($(NI_ADMIN), true)
$(CD) $(@); \
git remote add upstream git://git.ffmpeg.org/rtmpdump; \
git fetch --all
endif
$(SOURCE_DIR)/$(NI-DRIVERS-BIN) \
$(SOURCE_DIR)/$(NI-LOGO-STUFF) \
$(SOURCE_DIR)/$(NI-NEUTRINO-PLUGINS) \
$(SOURCE_DIR)/$(NI-OPENTHREADS) \
$(SOURCE_DIR)/$(NI-STREAMRIPPER):
$(CD) $(SOURCE_DIR); \
git clone $(NI-PUBLIC)/$(@F).git
7 years ago
ni-sources: $(SOURCE_DIR) \
$(BUILD-GENERIC-PC) \
$(SOURCE_DIR)/$(NI-DRIVERS-BIN) \
$(SOURCE_DIR)/$(NI-FFMPEG) \
$(SOURCE_DIR)/$(NI-LIBCOOLSTREAM) \
$(SOURCE_DIR)/$(NI-LIBSTB-HAL) \
$(SOURCE_DIR)/$(NI-LINUX-KERNEL) \
$(SOURCE_DIR)/$(NI-LOGO-STUFF) \
$(SOURCE_DIR)/$(NI-NEUTRINO) \
$(SOURCE_DIR)/$(NI-NEUTRINO-PLUGINS) \
$(SOURCE_DIR)/$(NI-OFGWRITE) \
$(SOURCE_DIR)/$(NI-OPENTHREADS) \
$(SOURCE_DIR)/$(NI-RTMPDUMP) \
$(SOURCE_DIR)/$(NI-STREAMRIPPER)
# -----------------------------------------------------------------------------
PHONY += init
PHONY += find-%
PHONY += toolcheck
PHONY += bashcheck
PHONY += preqs
PHONY += ni-sources