include make/cleantargets.mk
include make/ffmpeg.mk
+PARALLEL_JOBS := $(shell echo $$((1 + `getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1`)))
+override MAKE = make $(if $(findstring j,$(filter-out --%,$(MAKEFLAGS))),,-j$(PARALLEL_JOBS)) $(SILENT_OPT)
+
############################################################################
# a print out of environment variables
#
@echo ""
wittinobi-neutrino:
- $(MAKE) neutrino applications multimedia plugins skeleton rootfs
+ $(MAKE) neutrino system-tools applications multimedia plugins skeleton rootfs
@echo ""
@echo ' ============================================================================== '
@echo -e " \033[32mmake wittinobi-neutrino done\033[0m"
coolstream-flashimage:
$(MAKE) flash flash-check flash-finalize
-wittinobi-neutrino-flash: $(MAKE) neutrino applications multimedia plugins skeleton rootfs flash-prepare $(BOXTYPE)-flashimage
+wittinobi-neutrino-flash: $(MAKE) neutrino system-tools applications multimedia plugins skeleton rootfs flash-prepare $(BOXTYPE)-flashimage
@echo ""
@echo ' ============================================================================== '
@echo -e " \033[32mmake wittinobi-neutrino-flash done\033[0m"
@echo ""
wittinobi-all:
- $(MAKE) neutrino applications multimedia plugins skeleton bootloader kernel drivers rootfs flash-prepare flash flash-full flash-check flash-finalize
+ $(MAKE) neutrino system-tools applications multimedia plugins skeleton bootloader kernel drivers rootfs flash-prepare flash flash-full flash-check flash-finalize
@echo ""
@echo ' ============================================================================== '
@echo -e " \033[32mmake wittinobi-all done\033[0m"
# applications.mk
applications:
- $(MAKE) $(D)/procps $(D)/busybox $(D)/e2fsprogs $(D)/fbshot $(D)/vsftpd $(D)/mtd-utils $(D)/ntp $(D)/timezone
if [ $(WIFI) = "yes" ]; then \
$(MAKE) $(D)/wpa_supplicant; \
else \
PHONY += bootstrap includes-and-libs modules
PHONY += neutrino
PHONY += neutrino-libs
+PHONY += system-tools
PHONY += applications
PHONY += multimedia
PHONY += plugins
$(REMOVE)/portmap_$(PORTMAP_VER)
$(TOUCH)
+#
+# ofgwrite
+#
+$(D)/ofgwrite: $(ARCHIVE)/ofgwrite-git-$(OFGWRITE_VER).tar.bz2 | $(TARGETPREFIX)
+ $(START_BUILD)
+ $(REMOVE)/ofgwrite-git-$(OFGWRITE_VER)
+ $(UNTAR)/ofgwrite-git-$(OFGWRITE_VER).tar.bz2
+ set -e; cd $(BUILD_TMP)/ofgwrite-git-$(OFGWRITE_VER); \
+ $(BUILDENV); \
+ $(MAKE); \
+ install -m 755 $(BUILD_TMP)/ofgwrite-git-$(OFGWRITE_VER)/ofgwrite_bin $(TARGETPREFIX)/bin
+ install -m 755 $(BUILD_TMP)/ofgwrite-git-$(OFGWRITE_VER)/ofgwrite_tgz $(TARGETPREFIX)/bin
+ install -m 755 $(BUILD_TMP)/ofgwrite-git-$(OFGWRITE_VER)/ofgwrite $(TARGETPREFIX)/bin
+ $(REMOVE)/ofgwrite-git-$(OFGWRITE_VER)
+ $(TOUCH)
+
+#
+# ethtool
+#
+$(D)/ethtool: $(ARCHIVE)/ethtool-$(ETHTOOL_VER).tar.xz | $(TARGETPREFIX)
+ $(START_BUILD)
+ $(REMOVE)/ethtool-$(ETHTOOL_VER)
+ $(UNTAR)/ethtool-$(ETHTOOL_VER).tar.xz
+ set -e; cd $(BUILD_TMP)/ethtool-$(ETHTOOL_VER); \
+ $(CONFIGURE) \
+ --prefix=/ \
+ --mandir=/.remove \
+ --libdir=$(TARGETPREFIX)/lib \
+ ; \
+ $(MAKE); \
+ $(MAKE) install DESTDIR=$(TARGETPREFIX)
+ $(REMOVE)/ethtool-$(ETHTOOL_VER)
+ $(TOUCH)
+
$(D)/unfsd: $(D)/libflex $(D)/portmap $(ARCHIVE)/unfs3-$(UNFS3_VER).tar.gz
$(START_BUILD)
$(UNTAR)/unfs3-$(UNFS3_VER).tar.gz
$(ARCHIVE)/flac-1.3.0.tar.gz:
$(WGET) http://www.fhloston-paradise.de/flac-1.3.0.tar.gz
+$(ARCHIVE)/ethtool-$(ETHTOOL_VER).tar.xz:
+ $(WGET) https://www.kernel.org/pub/software/network/ethtool/ethtool-$(ETHTOOL_VER).tar.xz
+
$(ARCHIVE)/expat-$(EXPAT_VER).tar.bz2:
$(WGET) http://downloads.sourceforge.net/expat/expat-$(EXPAT_VER).tar.bz2
$(ARCHIVE)/tzdata$(TZ_VER).tar.gz:
$(WGET) ftp://ftp.iana.org/tz/releases/tzdata$(TZ_VER).tar.gz
+$(ARCHIVE)/ofgwrite-git-$(OFGWRITE_VER).tar.bz2:
+ get-git-archive.sh https://github.com/Duckbox-Developers/ofgwrite-ddt.git $(OFGWRITE_VER) $(notdir $@) $(ARCHIVE)
+
$(ARCHIVE)/u-boot-$(U-BOOT_VER).tar.bz2:
$(WGET) ftp://ftp.denx.de/pub/u-boot/u-boot-$(U-BOOT_VER).tar.bz2
bootstrap: $(BOOTSTRAP)
+SYSTEM_TOOLS = $(D)/busybox
+SYSTEM_TOOLS += $(D)/zlib
+SYSTEM_TOOLS += $(D)/e2fsprogs
+SYSTEM_TOOLS += $(D)/fbshot
+SYSTEM_TOOLS += $(D)/vsftpd
+SYSTEM_TOOLS += $(D)/mtd-utils
+SYSTEM_TOOLS += $(D)/procps
+SYSTEM_TOOLS += $(D)/ntp
+SYSTEM_TOOLS += $(D)/timezone
+ifeq ($(BOXTYPE), armbox)
+SYSTEM_TOOLS += $(D)/ofgwrite
+SYSTEM_TOOLS += $(D)/ethtool
+endif
+
+system-tools: $(SYSTEM_TOOLS)
targetprefix:
mkdir -p $(TARGETPREFIX)
fi
$(TARGETPREFIX)/lib/modules: | $(TARGETPREFIX)
- mkdir -p $@
+ mkdir -p $@/$(KVERSION_FULL)
if test -e $(SOURCE_DIR)/git/DRIVERS; then \
- cp -a $(SOURCE_DIR)/git/DRIVERS/$(DRIVER_DIR)/drivers/$(KVERSION_FULL)/* $@/; \
+ cp -a $(SOURCE_DIR)/git/DRIVERS/$(DRIVER_DIR)/drivers/$(KVERSION_FULL)/* $@/$(KVERSION_FULL)/; \
fi
$(TARGETPREFIX)/lib/libc.so.6: | $(TARGETPREFIX)
GCC = $(shell gcc -dumpversion | cut -c 1-3)
-SILENT_OPT := >/dev/null 2>&1
-SILENT := @
+# default platform...
+MAKEFLAGS = --no-print-directory
+# If VERBOSE equals 0 then the above command will be hidden.
+# If VERBOSE equals 1 then the above command is displayed.
+ifeq ($(VERBOSE),1)
+SILENT_PATCH =
+SILENT_OPT =
+SILENT =
+WGET_SILENT_OPT =
+else
+SILENT_PATCH = -s
+SILENT_OPT := >/dev/null 2>&1
+SILENT = @
+WGET_SILENT_OPT = -o /dev/null
+MAKEFLAGS += --silent
+endif
ifeq ($(BOXMODEL), $(filter $(BOXMODEL), zee2 link))
BOXTYPE = coolstream
DRIVER_DIR ?= $(PLATFORM)
KERNEL_VER = 4.10.12
KERNEL_VERSION_FULL = $(KERNEL_VER)
+ KVERSION_FULL = $(KERNEL_VER)
KERNEL_DATE = 20171103
KERNEL_TYPE = hd51
KERNEL_SRC = linux-$(KERNEL_VER)-arm.tar.gz
CT_NG_VER_HD2 = a0d58f4
CT_NG_VER_ARM = 1dbb06f2
+ETHTOOL_VER = 4.15
+
# Linaro GCC Versions
GCC_VER_HD1 = linaro-4.9-2017.01
GCC_VER_HD2 = linaro-5.2-2015.11-2
# ntp; synchronize system clock over a network
NTP_VER=4.2.8p6
+# ofgwrite from Betacentauri: Based upon: mtd-utils-native-1.5.1 and busybox 1.24.1
+OFGWRITE_VER = b7808ce
+
# openssl; toolkit for the SSL v2/v3 and TLS v1 protocol
OPENSSL_VER=1.0.2
OPENSSL_SUBVER=n