diff --git a/make/environment.mk b/make/environment.mk index 18a4d5dc..bf70729f 100644 --- a/make/environment.mk +++ b/make/environment.mk @@ -98,88 +98,80 @@ ifndef BOXMODEL $(error BOXMODEL not set) endif -MAINTAINER ?= NI-Team -FLAVOUR ?= ni-neutrino-hd - -TARGET = arm-cx2450x-linux-gnueabi -ifeq ($(BOXSERIES), hd2) - TARGET = arm-cortex-linux-uclibcgnueabi -endif - -DRIVERS_DIR = nevis -KVERSION = 2.6.34.13 -KBRANCH = ni/2.6.34.x -KTECHSTR = -ifeq ($(BOXSERIES), hd2) - KVERSION = 3.10.93 - KBRANCH = ni/3.10.x - ifeq ($(BOXFAMILY), apollo) - DRIVERS_DIR = apollo-3.x - KTECHSTR = hd849x - endif - ifeq ($(BOXFAMILY), kronos) - DRIVERS_DIR = kronos-3.x - KTECHSTR = en75x1 - endif -endif -KSTRING = NI $(shell echo $(BOXMODEL) | sed 's/.*/\u&/') Kernel - -KVERSION_FULL = $(KVERSION) -ifeq ($(BOXMODEL), nevis) - KVERSION_FULL := $(KVERSION_FULL)-$(BOXMODEL) -endif - +MAINTAINER ?= NI-Team +FLAVOUR ?= ni-neutrino-hd +KSTRING = NI $(shell echo $(BOXMODEL) | sed 's/.*/\u&/') Kernel WHOAMI := $(shell id -un) -ARCHIVE = $(BASE_DIR)/download -BUILD_TMP = $(BASE_DIR)/build_tmp -D = $(BASE_DIR)/deps -DEPDIR = $(D) -HOSTPREFIX = $(BASE_DIR)/host +ARCHIVE = $(BASE_DIR)/download +BUILD_TMP = $(BASE_DIR)/build_tmp +D = $(BASE_DIR)/deps +DEPDIR = $(D) +HOSTPREFIX = $(BASE_DIR)/host TARGETPREFIX ?= $(BASE_DIR)/root -SOURCE_DIR = $(BASE_DIR)/source -MAKE_DIR = $(BASE_DIR)/make -STAGING_DIR = $(BASE_DIR)/staging -LOCAL_DIR = $(BASE_DIR)/local -IMAGE_DIR = $(STAGING_DIR)/images -UPDATE_DIR = $(STAGING_DIR)/updates -STATIC_DIR = $(BASE_DIR)/static/$(BOXARCH)/$(BOXSERIES) -HELPERS_DIR = $(BASE_DIR)/helpers -CROSS_BASE = $(BASE_DIR)/cross/$(BOXARCH)/$(BOXSERIES) -CROSS_DIR ?= $(CROSS_BASE) -BUILD ?= $(shell /usr/share/libtool/config.guess 2>/dev/null || /usr/share/libtool/config/config.guess 2>/dev/null || /usr/share/misc/config.guess) -CCACHE = /usr/bin/ccache - -CONFIGS = $(BASE_DIR)/archive-configs -PATCHES = $(BASE_DIR)/archive-patches -IMAGEFILES = $(BASE_DIR)/archive-imagefiles -SOURCES = $(BASE_DIR)/archive-sources - -SKEL_ROOT = $(BASE_DIR)/skel-root/$(BOXTYPE)/$(BOXSERIES) +SOURCE_DIR = $(BASE_DIR)/source +MAKE_DIR = $(BASE_DIR)/make +STAGING_DIR = $(BASE_DIR)/staging +LOCAL_DIR = $(BASE_DIR)/local +IMAGE_DIR = $(STAGING_DIR)/images +UPDATE_DIR = $(STAGING_DIR)/updates +STATIC_DIR = $(BASE_DIR)/static/$(BOXARCH)/$(BOXSERIES) +HELPERS_DIR = $(BASE_DIR)/helpers +CROSS_BASE = $(BASE_DIR)/cross/$(BOXARCH)/$(BOXSERIES) +CROSS_DIR ?= $(CROSS_BASE) +CONFIGS = $(BASE_DIR)/archive-configs +PATCHES = $(BASE_DIR)/archive-patches +IMAGEFILES = $(BASE_DIR)/archive-imagefiles +SOURCES = $(BASE_DIR)/archive-sources +SKEL_ROOT = $(BASE_DIR)/skel-root/$(BOXTYPE)/$(BOXSERIES) +STATICLIB = $(STATIC_DIR)/lib +TARGETLIB = $(TARGETPREFIX)/lib +TARGETINCLUDE = $(TARGETPREFIX)/include +BUILD ?= $(shell /usr/share/libtool/config.guess 2>/dev/null || /usr/share/libtool/config/config.guess 2>/dev/null || /usr/share/misc/config.guess) +CCACHE = /usr/bin/ccache # create debug image DEBUG ?= no -# cortex-strings optimization -CORTEX-STRINGS = -ifeq ($(BOXSERIES), hd2) - CORTEX-STRINGS = -lcortex-strings +ifeq ($(BOXSERIES), hd1) + KVERSION = 2.6.34.13 + KVERSION_FULL := $(KVERSION_FULL)-$(BOXMODEL) + KBRANCH = ni/2.6.34.x + DRIVERS_DIR = nevis + KTECHSTR = + CORTEX-STRINGS = + TARGET = arm-cx2450x-linux-gnueabi + TARGET_MARCH_CFLAGS = -Os -march=armv6 -mfloat-abi=soft -mlittle-endian + TARGET_EXTRA_CFLAGS = -fdata-sections -ffunction-sections + TARGET_EXTRA_LDFLAGS = -Wl,--gc-sections endif -STATICLIB = $(STATIC_DIR)/lib -TARGETLIB = $(TARGETPREFIX)/lib -TARGETINCLUDE = $(TARGETPREFIX)/include -TARGET_CFLAG_O = -O2 -TARGET_LDFLAGS_ADD = -ifeq ($(BOXMODEL), $(filter $(BOXMODEL), nevis kronos_v2)) - TARGET_CFLAG_O += -Os -fdata-sections -ffunction-sections - TARGET_LDFLAGS_ADD = -Wl,--gc-sections +ifeq ($(BOXSERIES), hd2) + KVERSION = 3.10.93 + KVERSION_FULL = $(KVERSION) + KBRANCH = ni/3.10.x + ifeq ($(BOXFAMILY), apollo) + DRIVERS_DIR = apollo-3.x + KTECHSTR = hd849x + endif + ifeq ($(BOXFAMILY), kronos) + DRIVERS_DIR = kronos-3.x + KTECHSTR = en75x1 + endif + CORTEX-STRINGS = -lcortex-strings + TARGET = arm-cortex-linux-uclibcgnueabi + TARGET_MARCH_CFLAGS = -O2 -march=armv7-a -mcpu=cortex-a9 -mtune=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard -mlittle-endian + TARGET_EXTRA_CFLAGS = + TARGET_EXTRA_LDFLAGS = + ifeq ($(BOXMODEL), kronos_v2) + TARGET_EXTRA_CFLAGS = -fdata-sections -ffunction-sections + TARGET_EXTRA_LDFLAGS = -Wl,--gc-sections + endif endif -TARGET_CFLAGS = -pipe $(TARGET_CFLAG_O) -g -I$(TARGETINCLUDE) -TARGET_CPPFLAGS = $(TARGET_CFLAGS) -TARGET_CXXFLAGS = $(TARGET_CFLAGS) -TARGET_LDFLAGS = $(CORTEX-STRINGS) -Wl,-O1 $(TARGET_LDFLAGS_ADD) -L$(TARGETLIB) -TARGET_LDFLAGS_RPATH = $(CORTEX-STRINGS) -Wl,-O1 $(TARGET_LDFLAGS_ADD) -L$(TARGETLIB) -Wl,-rpath-link,$(TARGETLIB) +TARGET_CFLAGS = -pipe $(TARGET_MARCH_CFLAGS) $(TARGET_EXTRA_CFLAGS) -g -I$(TARGETINCLUDE) +TARGET_CPPFLAGS = $(TARGET_CFLAGS) +TARGET_CXXFLAGS = $(TARGET_CFLAGS) +TARGET_LDFLAGS = $(CORTEX-STRINGS) -Wl,-O1 $(TARGET_EXTRA_LDFLAGS) -L$(TARGETLIB) -Wl,-rpath-link,$(TARGETLIB) VPATH = $(D) @@ -222,35 +214,11 @@ BUILDENV = \ LDFLAGS="$(TARGET_LDFLAGS)" \ PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) -BUILDENV_NON_CORTEX = \ - CFLAGS="$(TARGET_CFLAGS)" \ - CPPFLAGS="$(TARGET_CPPFLAGS)" \ - CXXFLAGS="$(TARGET_CXXFLAGS)" \ - LDFLAGS="-Wl,-O1 -L$(TARGETLIB)" \ - PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) - -BUILDENV_RPATH = \ - CFLAGS="$(TARGET_CFLAGS)" \ - CPPFLAGS="$(TARGET_CPPFLAGS)" \ - CXXFLAGS="$(TARGET_CXXFLAGS)" \ - LDFLAGS="$(TARGET_LDFLAGS_RPATH)" \ - PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) - CONFIGURE = \ test -f ./configure || ./autogen.sh && \ $(BUILDENV) \ ./configure $(CONFIGURE_OPTS) -CONFIGURE_NON_CORTEX = \ - test -f ./configure || ./autogen.sh && \ - $(BUILDENV_NON_CORTEX) \ - ./configure $(CONFIGURE_OPTS) - -CONFIGURE_RPATH = \ - test -f ./configure || ./autogen.sh && \ - $(BUILDENV_RPATH) \ - ./configure $(CONFIGURE_OPTS) - GITHUB = https://github.com BITBUCKET = https://bitbucket.org BITBUCKET_SSH = git@bitbucket.org diff --git a/make/neutrino.mk b/make/neutrino.mk index 1e902e8b..127f236f 100644 --- a/make/neutrino.mk +++ b/make/neutrino.mk @@ -9,33 +9,26 @@ endif # uncomment next line to build neutrino without --enable-ffmpegdec #NEUTRINO_DEPS += libvorbisidec libid3tag libmad libFLAC -N_CFLAG_O = -O2 -ifeq ($(BOXSERIES), hd1) - N_CFLAG_O = -Os -endif - N_CFLAGS = -Wall -W -Wshadow -D__KERNEL_STRICT_NAMES -D__STDC_CONSTANT_MACROS -DENABLE_FREESATEPG ifeq ($(BOXSERIES), hd1) N_CFLAGS += -DCPU_FREQ - N_CFLAGS += -march=armv6 -mfloat-abi=soft -mlittle-endian endif ifeq ($(BOXSERIES), hd2) N_CFLAGS += -DFB_HW_ACCELERATION - N_CFLAGS += -march=armv7-a -mcpu=cortex-a9 -mtune=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard -mlittle-endian endif ifeq ($(DEBUG), yes) N_CFLAGS += -ggdb3 -rdynamic else - N_CFLAGS += -g $(N_CFLAG_O) + N_CFLAGS += $(TARGET_CFLAGS) endif N_CPPFLAGS += -I$(TARGETINCLUDE) -N_LDFLAGS = -L$(TARGETLIB) -lcrypto -ldl -lz $(CORTEX-STRINGS) +N_LDFLAGS = -lcrypto -ldl -lz $(CORTEX-STRINGS) -L$(TARGETLIB) ifeq ($(DEBUG), yes) N_LDFLAGS += -Wl,-rpath-link,$(TARGETLIB) else - N_LDFLAGS += -Wl,-O1,-rpath-link,$(TARGETLIB) + N_LDFLAGS += -Wl,-O1 $(TARGET_EXTRA_LDFLAGS) -Wl,-rpath-link,$(TARGETLIB) endif N_CONFIGURE_DEBUG = diff --git a/make/plugins-extra.mk b/make/plugins-extra.mk index 9ee5f402..703752e0 100644 --- a/make/plugins-extra.mk +++ b/make/plugins-extra.mk @@ -69,10 +69,10 @@ $(BIN)/logoview: $(BIN) blockads: $(SOURCE_DIR)/$(TUXBOX_PLUGINS) $(BIN)/blockad $(LIBPLUG)/blockads.so $(BIN)/blockad: $(D)/freetype $(BIN) $(VARCONF) pushd $(SOURCE_DIR)/$(TUXBOX_PLUGINS)/blockads && \ - $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS_RPATH) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz $(CORTEX-STRINGS) -o $@ blockad.c globals.c http.c && \ + $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz $(CORTEX-STRINGS) -o $@ blockad.c globals.c http.c && \ install -m644 blockads.conf $(VARCONF)/ $(LIBPLUG)/blockads.so: $(LIBPLUG) pushd $(SOURCE_DIR)/$(TUXBOX_PLUGINS)/blockads && \ - $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS_RPATH) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz $(CORTEX-STRINGS) -o $@ blockads.c gfx.c io.c text.c globals.c http.c && \ + $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz $(CORTEX-STRINGS) -o $@ blockads.c gfx.c io.c text.c globals.c http.c && \ install -m644 blockads.cfg $(LIBPLUG)/ diff --git a/make/plugins.mk b/make/plugins.mk index 8700325b..32ee781d 100644 --- a/make/plugins.mk +++ b/make/plugins.mk @@ -102,7 +102,7 @@ $(BIN)/emmrd: $(BIN) $(VARCONF) $(ETCINIT) FritzCallMonitor: $(SHAREICONS) $(BIN)/FritzCallMonitor $(BIN)/FritzCallMonitor: $(D)/openssl $(D)/libcurl $(BIN) $(VARCONF) $(ETCINIT) pushd $(SOURCES)/FritzCallMonitor && \ - $(TARGET)-gcc -Wall $(TARGET_CFLAGS) $(TARGET_LDFLAGS_RPATH) -lstdc++ -lcrypto -pthread -lcurl $(CORTEX-STRINGS) -o $@ FritzCallMonitor.cpp connect.cpp && \ + $(TARGET)-gcc -Wall $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -lstdc++ -lcrypto -pthread -lcurl $(CORTEX-STRINGS) -o $@ FritzCallMonitor.cpp connect.cpp && \ install -m644 FritzCallMonitor.addr $(VARCONF)/ && \ install -m644 FritzCallMonitor.cfg $(VARCONF)/ && \ install -m755 fritzcallmonitor.init $(ETCINIT)/fritzcallmonitor && \ @@ -114,7 +114,7 @@ $(BIN)/FritzCallMonitor: $(D)/openssl $(D)/libcurl $(BIN) $(VARCONF) $(ETCINIT) FritzInfoMonitor: $(LIBPLUG)/FritzInfoMonitor.so $(LIBPLUG)/FritzInfoMonitor.so: $(D)/freetype $(D)/openssl $(D)/libcurl $(LIBPLUG) pushd $(SOURCES)/FritzCallMonitor/FritzInfoMonitor && \ - $(TARGET)-gcc -Wall $(TARGET_CFLAGS) $(TARGET_LDFLAGS_RPATH) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz -lstdc++ -lcrypto -lcurl $(CORTEX-STRINGS) -o $@ \ + $(TARGET)-gcc -Wall $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz -lstdc++ -lcrypto -lcurl $(CORTEX-STRINGS) -o $@ \ parser.cpp \ connect.cpp \ framebuffer.cpp \ @@ -226,7 +226,7 @@ $(BIN)/getrc: $(BIN) input: $(SOURCE_DIR)/$(TUXBOX_PLUGINS) $(BIN)/input $(BIN)/input: $(D)/freetype $(BIN) pushd $(SOURCE_DIR)/$(TUXBOX_PLUGINS)/input && \ - $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS_RPATH) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz -lpng $(CORTEX-STRINGS) -o $@ input.c inputd.c gfx.c io.c text.c fb_display.c resize.c pngw.cpp png_helper.cpp + $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz -lpng $(CORTEX-STRINGS) -o $@ input.c inputd.c gfx.c io.c text.c fb_display.c resize.c pngw.cpp png_helper.cpp #logomask logomask: $(SOURCE_DIR)/$(TUXBOX_PLUGINS) $(BIN)/logomask $(LIBPLUG)/logoset.so $(LIBPLUG)/logomask.so @@ -237,7 +237,7 @@ $(BIN)/logomask: $(BIN) $(LIBPLUG)/logoset.so: $(D)/freetype $(LIBPLUG) pushd $(SOURCE_DIR)/$(TUXBOX_PLUGINS)/logomask && \ - $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS_RPATH) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz $(CORTEX-STRINGS) -o $@ logoset.c gfx.c io.c text.c && \ + $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz $(CORTEX-STRINGS) -o $@ logoset.c gfx.c io.c text.c && \ install -m644 logoset.cfg $(LIBPLUG)/ install -m644 $(IMAGEFILES)/icons/hinticons/logoset_hint.png $(LIBPLUG)/ @@ -251,13 +251,13 @@ $(LIBPLUG)/logomask.so: $(LIBPLUG) $(BIN) msgbox: $(SOURCE_DIR)/$(TUXBOX_PLUGINS) $(BIN)/msgbox $(BIN)/msgbox: $(D)/freetype $(BIN) pushd $(SOURCE_DIR)/$(TUXBOX_PLUGINS)/msgbox && \ - $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS_RPATH) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz -lpng $(CORTEX-STRINGS) -o $@ msgbox.c gfx.c io.c text.c txtform.c fb_display.c resize.c pngw.cpp png_helper.cpp + $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz -lpng $(CORTEX-STRINGS) -o $@ msgbox.c gfx.c io.c text.c txtform.c fb_display.c resize.c pngw.cpp png_helper.cpp #tuxcal tuxcal: $(SOURCE_DIR)/$(TUXBOX_PLUGINS) $(BIN)/tuxcald $(LIBPLUG)/tuxcal.so $(BIN)/tuxcald: $(D)/freetype $(BIN) $(ETCINIT) $(VARCONF) pushd $(SOURCE_DIR)/$(TUXBOX_PLUGINS)/tuxcal/daemon && \ - $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS_RPATH) -I$(TARGETINCLUDE)/freetype2 -lpthread -lfreetype -lz $(CORTEX-STRINGS) -o $@ tuxcald.c && \ + $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -I$(TARGETINCLUDE)/freetype2 -lpthread -lfreetype -lz $(CORTEX-STRINGS) -o $@ tuxcald.c && \ install -m755 $(IMAGEFILES)/scripts/tuxcald.init $(ETCINIT)/tuxcald && \ cd $(ETCINIT) && \ ln -sf tuxcald S99tuxcald && \ @@ -268,7 +268,7 @@ $(BIN)/tuxcald: $(D)/freetype $(BIN) $(ETCINIT) $(VARCONF) $(LIBPLUG)/tuxcal.so: $(LIBPLUG) pushd $(SOURCE_DIR)/$(TUXBOX_PLUGINS)/tuxcal && \ - $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS_RPATH) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz $(CORTEX-STRINGS) -o $@ tuxcal.c && \ + $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz $(CORTEX-STRINGS) -o $@ tuxcal.c && \ install -m644 tuxcal.cfg $(LIBPLUG)/ install -m644 $(IMAGEFILES)/icons/hinticons/tuxcal_hint.png $(LIBPLUG)/ @@ -276,7 +276,7 @@ $(LIBPLUG)/tuxcal.so: $(LIBPLUG) tuxcom: $(SOURCE_DIR)/$(TUXBOX_PLUGINS) $(LIBPLUG)/tuxcom.so $(LIBPLUG)/tuxcom.so: $(D)/freetype $(LIBPLUG) pushd $(SOURCE_DIR)/$(TUXBOX_PLUGINS)/tuxcom && \ - $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS_RPATH) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz $(CORTEX-STRINGS) -o $@ tuxcom.c && \ + $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz $(CORTEX-STRINGS) -o $@ tuxcom.c && \ install -m644 tuxcom.cfg $(LIBPLUG)/ install -m644 $(IMAGEFILES)/icons/hinticons/tuxcom_hint.png $(LIBPLUG)/ @@ -284,7 +284,7 @@ $(LIBPLUG)/tuxcom.so: $(D)/freetype $(LIBPLUG) tuxmail: $(SOURCE_DIR)/$(TUXBOX_PLUGINS) $(BIN)/tuxmaild $(LIBPLUG)/tuxmail.so $(BIN)/tuxmaild: $(D)/freetype $(D)/openssl $(BIN) $(ETCINIT) $(VARCONF) pushd $(SOURCE_DIR)/$(TUXBOX_PLUGINS)/tuxmail/daemon && \ - $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS_RPATH) -I$(TARGETINCLUDE)/freetype2 -lssl -lcrypto -lpthread -lfreetype -lz $(CORTEX-STRINGS) -o $@ tuxmaild.c && \ + $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -I$(TARGETINCLUDE)/freetype2 -lssl -lcrypto -lpthread -lfreetype -lz $(CORTEX-STRINGS) -o $@ tuxmaild.c && \ install -m755 $(IMAGEFILES)/scripts/tuxmaild.init $(ETCINIT)/tuxmaild && \ cd $(ETCINIT) && \ ln -sf tuxmaild S99tuxmaild && \ @@ -297,7 +297,7 @@ $(BIN)/tuxmaild: $(D)/freetype $(D)/openssl $(BIN) $(ETCINIT) $(VARCONF) $(LIBPLUG)/tuxmail.so: $(LIBPLUG) pushd $(SOURCE_DIR)/$(TUXBOX_PLUGINS)/tuxmail && \ - $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS_RPATH) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz $(CORTEX-STRINGS) -o $@ tuxmail.c && \ + $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz $(CORTEX-STRINGS) -o $@ tuxmail.c && \ install -m644 tuxmail.cfg $(LIBPLUG)/ install -m644 $(IMAGEFILES)/icons/hinticons/tuxmail_hint.png $(LIBPLUG)/ @@ -305,7 +305,7 @@ $(LIBPLUG)/tuxmail.so: $(LIBPLUG) tuxwetter: $(SOURCE_DIR)/$(NI_TUXWETTER) $(LIBPLUG)/tuxwetter.so $(LIBPLUG)/tuxwetter.so: $(D)/freetype $(D)/libcurl $(D)/giflib $(D)/libjpeg $(LIBPLUG) $(VARCONF) pushd $(SOURCE_DIR)/$(NI_TUXWETTER) && \ - $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS_RPATH) -I$(TARGETINCLUDE)/freetype2 \ + $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -I$(TARGETINCLUDE)/freetype2 \ -lfreetype -lcrypto -lssl -lz -lcurl -ljpeg -lpng -lgif \ \ -DWWEATHER \ @@ -341,13 +341,13 @@ $(LIBPLUG)/tuxwetter.so: $(D)/freetype $(D)/libcurl $(D)/giflib $(D)/libjpeg $(L cooliTSclimax: $(SOURCE_DIR)/$(TUXBOX_PLUGINS) $(BIN)/cooliTSclimax $(BIN)/cooliTSclimax: $(D)/ffmpeg $(BIN) pushd $(SOURCE_DIR)/$(TUXBOX_PLUGINS)/cooliTSclimax && \ - $(TARGET)-g++ $(TARGET_CFLAGS) -D__STDC_CONSTANT_MACROS $(TARGET_LDFLAGS_RPATH) -lpthread -lavformat -lavcodec -lavutil $(CORTEX-STRINGS) -o $@ cooliTSclimax.cpp + $(TARGET)-g++ $(TARGET_CFLAGS) -D__STDC_CONSTANT_MACROS $(TARGET_LDFLAGS) -lpthread -lavformat -lavcodec -lavutil $(CORTEX-STRINGS) -o $@ cooliTSclimax.cpp # oscammon oscammon: $(D)/zlib $(D)/freetype $(D)/openssl $(LIBPLUG)/oscammon.so $(LIBPLUG)/oscammon.so: $(LIBPLUG) $(VARCONF) pushd $(SOURCES)/oscammon && \ - $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS_RPATH) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz -lcrypto -o $@ oscammon.c && \ + $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz -lcrypto -o $@ oscammon.c && \ cp -f oscammon.conf $(VARCONF)/ && \ cp -f oscammon.cfg $(LIBPLUG)/ && \ cp -f oscammon_hint.png $(LIBPLUG)/ @@ -356,7 +356,7 @@ $(LIBPLUG)/oscammon.so: $(LIBPLUG) $(VARCONF) shellexec: $(SOURCE_DIR)/$(TUXBOX_PLUGINS) $(LIBPLUG)/shellexec.so $(LIBPLUG)/shellexec.so: $(D)/freetype $(LIBPLUG) $(SHAREFLEX) $(VARCONF) $(BIN) pushd $(SOURCE_DIR)/$(TUXBOX_PLUGINS)/shellexec; \ - $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS_RPATH) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz -lpng $(CORTEX-STRINGS) -o $@ shellexec.c gfx.c io.c text.c fb_display.c resize.c pngw.cpp png_helper.cpp; \ + $(TARGET)-gcc $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -I$(TARGETINCLUDE)/freetype2 -lfreetype -lz -lpng $(CORTEX-STRINGS) -o $@ shellexec.c gfx.c io.c text.c fb_display.c resize.c pngw.cpp png_helper.cpp; \ install -m644 shellexec.conf $(VARCONF)/; \ install -m644 shellexec.cfg $(LIBPLUG)/ sed -i 's|FONT=|#FONT=|' $(VARCONF)/shellexec.conf diff --git a/make/static.mk b/make/static.mk index cb5c2a79..e2575946 100644 --- a/make/static.mk +++ b/make/static.mk @@ -6,7 +6,13 @@ cortex-strings: $(STATICLIB)/libcortex-strings.la $(STATICLIB)/libcortex-strings.la: $(ARCHIVE)/cortex-strings-$(CORTEX-STRINGS_VER).tar.bz2 | $(TARGETPREFIX) $(UNTAR)/cortex-strings-$(CORTEX-STRINGS_VER).tar.bz2 pushd $(BUILD_TMP)/cortex-strings-$(CORTEX-STRINGS_VER) && \ - $(CONFIGURE_NON_CORTEX) \ + ./autogen.sh && \ + CFLAGS="-pipe -O2 -g -I$(TARGETINCLUDE)" \ + CPPFLAGS="-pipe -O2 -g -I$(TARGETINCLUDE)" \ + CXXFLAGS="-pipe -O2 -g -I$(TARGETINCLUDE)" \ + LDFLAGS="-Wl,-O1 -L$(TARGETLIB)" \ + PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) \ + ./configure $(CONFIGURE_OPTS) \ --prefix= \ --disable-shared \ --enable-static \ diff --git a/make/system-libs.mk b/make/system-libs.mk index 032adb4a..e37fa657 100644 --- a/make/system-libs.mk +++ b/make/system-libs.mk @@ -25,7 +25,7 @@ $(D)/zlib: $(ARCHIVE)/zlib-$(ZLIB_VER).tar.gz | $(TARGETPREFIX) $(D)/libfuse: $(ARCHIVE)/fuse-$(FUSE_VER).tar.gz | $(TARGETPREFIX) $(UNTAR)/fuse-$(FUSE_VER).tar.gz pushd $(BUILD_TMP)/fuse-$(FUSE_VER) && \ - $(CONFIGURE_RPATH) \ + $(CONFIGURE) \ --prefix= \ --datarootdir=/.remove \ --disable-static \ @@ -99,7 +99,7 @@ $(D)/giflib: $(ARCHIVE)/giflib-$(GIFLIB_VER).tar.bz2 | $(TARGETPREFIX) $(D)/libcurl: $(D)/zlib $(D)/openssl $(ARCHIVE)/curl-$(LIBCURL_VER).tar.bz2 | $(TARGETPREFIX) $(UNTAR)/curl-$(LIBCURL_VER).tar.bz2 pushd $(BUILD_TMP)/curl-$(LIBCURL_VER) && \ - $(CONFIGURE_RPATH) \ + $(CONFIGURE) \ --prefix= \ --mandir=/.remove \ --disable-manual \ @@ -201,17 +201,12 @@ OPENSSLFLAGS = CC=$(TARGET)-gcc \ NI_OPTIMIZATION_FLAGS="$(TARGET_CFLAGS)" \ PROCESSOR=ARM -OPENSSL_NI_FLAVOR = linux-armv4-ni -march=armv7-a -mcpu=cortex-a9 -mtune=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard -mlittle-endian -ifeq ($(BOXSERIES), hd1) - OPENSSL_NI_FLAVOR = linux-armv4-ni -march=armv6 -mfloat-abi=soft -mlittle-endian -endif - $(D)/openssl: $(ARCHIVE)/openssl-$(OPENSSL_VER).tar.gz | $(TARGETPREFIX) $(UNTAR)/openssl-$(OPENSSL_VER).tar.gz pushd $(BUILD_TMP)/openssl-$(OPENSSL_VER) && \ $(PATCH)/openssl-add-ni-specific-target.patch && \ ./Configure \ - $(OPENSSL_NI_FLAVOR) \ + linux-armv4-ni $(MARCH_FLAGS) \ shared \ threads \ no-hw \ @@ -364,7 +359,7 @@ FFMPEG_CONFIGURE_GENERIC = \ \ --target-os=linux \ --arch=arm \ - --extra-ldflags="$(TARGET_LDFLAGS_RPATH)" + --extra-ldflags="$(TARGET_LDFLAGS)" ifeq ($(BOXSERIES), hd2) FFMPEG_CONFIGURE = \ @@ -434,27 +429,25 @@ $(D)/libncurses: $(ARCHIVE)/ncurses-$(LIBNCURSES_VER).tar.gz | $(TARGETPREFIX) $(REMOVE)/ncurses-$(LIBNCURSES_VER) touch $@ -ifeq ($(BOXSERIES), hd2) - OPENTHREADS_CONFIGURE= -march=armv7-a -mcpu=cortex-a9 -mtune=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard -mlittle-endian -else - OPENTHREADS_CONFIGURE= -march=armv6 -mfloat-abi=soft -mlittle-endian -endif $(D)/openthreads: $(SOURCE_DIR)/$(NI_OPENTHREADS) | $(TARGETPREFIX) $(REMOVE)/$(NI_OPENTHREADS) tar -C $(SOURCE_DIR) -cp $(NI_OPENTHREADS) --exclude-vcs | tar -C $(BUILD_TMP) -x cd $(BUILD_TMP)/$(NI_OPENTHREADS)/ && \ - cmake . -DCMAKE_BUILD_TYPE="None" \ + rm -f CMakeCache.txt && \ + cmake \ + -DCMAKE_BUILD_TYPE="None" \ -DCMAKE_SYSTEM_NAME="Linux" \ -DCMAKE_SYSTEM_PROCESSOR="arm" \ - -DCMAKE_CXX_FLAGS="$(TARGET_CFLAG_O) -DNDEBUG $(OPENTHREADS_CONFIGURE)" \ + -DCMAKE_CXX_FLAGS="$(TARGET_MARCH_CFLAGS) -DNDEBUG" \ -DCMAKE_INSTALL_PREFIX="" \ -DCMAKE_C_COMPILER="$(TARGET)-gcc" \ -DCMAKE_CXX_COMPILER="$(TARGET)-g++" \ - -DCMAKE_RANLIB="$(TARGET)-ranlib" \ - -DCMAKE_AR="$(TARGET)-ar" \ - -DCMAKE_NM="$(TARGET)-nm" \ - -DCMAKE_OBJDUMP="$(TARGET)-objdump" \ - -DCMAKE_STRIP="$(TARGET)-strip" \ + -DCMAKE_LINKER="$(CROSS_BASE)/bin/$(TARGET)-ld" \ + -DCMAKE_RANLIB="$(CROSS_BASE)/bin/$(TARGET)-ranlib" \ + -DCMAKE_AR="$(CROSS_BASE)/bin/$(TARGET)-ar" \ + -DCMAKE_NM="$(CROSS_BASE)/bin/$(TARGET)-nm" \ + -DCMAKE_OBJDUMP="$(CROSS_BASE)/bin/$(TARGET)-objdump" \ + -DCMAKE_STRIP="$(CROSS_BASE)/bin/$(TARGET)-strip" \ -DCMAKE_SUPPRESS_DEVELOPER_WARNINGS="1" \ -D_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS_EXITCODE="0" && \ $(MAKE) && \ @@ -495,7 +488,7 @@ $(D)/libgd2: $(D)/zlib $(D)/libpng $(D)/libjpeg $(D)/freetype $(ARCHIVE)/libgd-$ $(UNTAR)/libgd-$(LIBGD_VER).tar.xz pushd $(BUILD_TMP)/libgd-$(LIBGD_VER) && \ ./bootstrap.sh && \ - $(CONFIGURE_RPATH) \ + $(CONFIGURE) \ --prefix= \ --bindir=/.remove \ --without-fontconfig \ @@ -762,7 +755,7 @@ $(D)/libaacs: $(ARCHIVE)/libaacs-$(LIBAACS_VER).tar.bz2 $(D)/libgcrypt | $(TARGE $(UNTAR)/libaacs-$(LIBAACS_VER).tar.bz2 pushd $(BUILD_TMP)/libaacs-$(LIBAACS_VER) && \ ./bootstrap && \ - $(CONFIGURE_RPATH) \ + $(CONFIGURE) \ --prefix= \ --enable-maintainer-mode \ --enable-silent-rules \ @@ -828,16 +821,26 @@ $(D)/pugixml: $(ARCHIVE)/pugixml-$(PUGIXML_VER).tar.gz | $(TARGETPREFIX) $(REMOVE)/pugixml-$(PUGIXML_VER) $(UNTAR)/pugixml-$(PUGIXML_VER).tar.gz set -e; cd $(BUILD_TMP)/pugixml-$(PUGIXML_VER); \ + rm -f CMakeCache.txt && \ cmake \ --no-warn-unused-cli \ - -DCMAKE_INSTALL_PREFIX=$(TARGETPREFIX) \ - -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_BUILD_TYPE=Linux \ - -DCMAKE_C_COMPILER=$(TARGET)-gcc \ - -DCMAKE_CXX_COMPILER=$(TARGET)-g++ \ + -DBUILD_SHARED_LIBS="ON" \ + -DCMAKE_CXX_FLAGS="$(TARGET_MARCH_CFLAGS) -DNDEBUG" \ + -DCMAKE_INSTALL_PREFIX="" \ + -DCMAKE_BUILD_TYPE="None" \ + -DCMAKE_SYSTEM_NAME="Linux" \ + -DCMAKE_SYSTEM_PROCESSOR="arm" \ + -DCMAKE_C_COMPILER="$(TARGET)-gcc" \ + -DCMAKE_CXX_COMPILER="$(TARGET)-g++" \ + -DCMAKE_LINKER="$(CROSS_BASE)/bin/$(TARGET)-ld" \ + -DCMAKE_RANLIB="$(CROSS_BASE)/bin/$(TARGET)-ranlib" \ + -DCMAKE_AR="$(CROSS_BASE)/bin/$(TARGET)-ar" \ + -DCMAKE_NM="$(CROSS_BASE)/bin/$(TARGET)-nm" \ + -DCMAKE_OBJDUMP="$(CROSS_BASE)/bin/$(TARGET)-objdump" \ + -DCMAKE_STRIP="$(CROSS_BASE)/bin/$(TARGET)-strip" \ ; \ $(MAKE); \ - make install + make install DESTDIR=$(TARGETPREFIX) rm -rf $(TARGETPREFIX)/lib/cmake $(REMOVE)/pugixml-$(PUGIXML_VER) touch $@ @@ -873,7 +876,7 @@ $(D)/libtirpc: $(ARCHIVE)/libtirpc-$(LIBTIRPC_VER).tar.bz2 | $(TARGETPREFIX) --disable-gssapi \ --enable-silent-rules \ --mandir=/.remove && \ - $(MAKE) CFLAGS="$(TARGET_CFLAGS) -DGQ" && \ + $(MAKE) && \ $(MAKE) install DESTDIR=$(TARGETPREFIX) $(REWRITE_LIBTOOL)/libtirpc.la $(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/libtirpc.pc diff --git a/make/system-tools.mk b/make/system-tools.mk index 70398a15..d83a19e0 100644 --- a/make/system-tools.mk +++ b/make/system-tools.mk @@ -120,7 +120,7 @@ $(D)/parted: $(D)/e2fsprogs $(ARCHIVE)/parted-$(PARTED_VER).tar.xz | $(TARGETPRE $(UNTAR)/parted-$(PARTED_VER).tar.xz cd $(BUILD_TMP)/parted-$(PARTED_VER) && \ $(PATCH)/parted-3.2-devmapper-1.patch && \ - $(CONFIGURE_RPATH) \ + $(CONFIGURE) \ --prefix= \ --target=$(TARGET) \ --mandir=/.remove \ @@ -219,7 +219,7 @@ $(D)/djmount: $(ARCHIVE)/djmount-$(DJMOUNT_VER).tar.gz $(D)/libfuse | $(TARGETPR $(PATCH)/djmount-support-seeking-in-large-2gb-files.patch && \ touch libupnp/config.aux/config.rpath && \ autoreconf -fi && \ - $(CONFIGURE_RPATH) -C \ + $(CONFIGURE) -C \ --prefix= \ --disable-debug && \ make && \ @@ -234,7 +234,7 @@ $(D)/ushare: $(ARCHIVE)/ushare-$(USHARE_VER).tar.bz2 $(D)/libupnp | $(TARGETPREF $(UNTAR)/ushare-$(USHARE_VER).tar.bz2 pushd $(BUILD_TMP)/ushare-$(USHARE_VER) && \ $(PATCH)/ushare.diff && \ - $(BUILDENV_RPATH) \ + $(BUILDENV) \ ./configure \ --prefix=$(TARGETPREFIX) \ --disable-dlna \ @@ -244,7 +244,7 @@ $(D)/ushare: $(ARCHIVE)/ushare-$(USHARE_VER).tar.bz2 $(D)/libupnp | $(TARGETPREF sed -i config.h -e 's@SYSCONFDIR.*@SYSCONFDIR "/etc"@' && \ sed -i config.h -e 's@LOCALEDIR.*@LOCALEDIR "/share"@' && \ ln -sf ../config.h src/ && \ - $(MAKE) $(USHARE_LDFLAGS) && \ + $(MAKE) && \ $(MAKE) install && \ install -D -m 0644 $(IMAGEFILES)/scripts/ushare.conf $(TARGETPREFIX)/etc/ushare.conf install -D -m 0755 $(IMAGEFILES)/scripts/ushare.init $(TARGETPREFIX)/etc/init.d/ushare @@ -296,7 +296,7 @@ $(D)/vsftpd: $(D)/openssl $(ARCHIVE)/vsftpd-$(VSFTPD_VER).tar.gz | $(TARGETPREFI sed -i -e 's/.*VSF_BUILD_PAM/#undef VSF_BUILD_PAM/' builddefs.h && \ sed -i -e 's/.*VSF_BUILD_SSL/#define VSF_BUILD_SSL/' builddefs.h && \ make clean && \ - TARGETPREFIX=$(TARGETPREFIX) make CC=$(TARGET)-gcc LIBS="-lcrypt -lcrypto -lssl" CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS_RPATH)" + TARGETPREFIX=$(TARGETPREFIX) make CC=$(TARGET)-gcc LIBS="-lcrypt -lcrypto -lssl" CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" install -d $(TARGETPREFIX)/share/empty install -D -m 755 $(BUILD_TMP)/vsftpd-$(VSFTPD_VER)/vsftpd $(TARGETPREFIX)/sbin/vsftpd install -D -m 644 $(IMAGEFILES)/scripts/vsftpd.conf $(TARGETPREFIX)/etc/vsftpd.conf @@ -432,9 +432,7 @@ $(D)/e2fsprogs: $(ARCHIVE)/e2fsprogs-$(E2FSPROGS_VER).tar.gz | $(TARGETPREFIX) $(D)/ntfs-3g: $(ARCHIVE)/ntfs-3g_ntfsprogs-$(NTFS3G_VER).tgz | $(TARGETPREFIX) $(UNTAR)/ntfs-3g_ntfsprogs-$(NTFS3G_VER).tgz cd $(BUILD_TMP)/ntfs-3g_ntfsprogs-$(NTFS3G_VER) && \ - CFLAGS="-pipe $(TARGET_CFLAG_O) -g" ./configure \ - --build=$(BUILD) \ - --host=$(TARGET) \ + $(CONFIGURE) \ --prefix= \ --mandir=/.remove \ --docdir=/.remove \ @@ -823,7 +821,7 @@ $(D)/fuse-exfat: $(ARCHIVE)/fuse-exfat-$(FUSE_EXFAT_VER).tar.gz $(D)/libfuse | $ $(UNTAR)/fuse-exfat-$(FUSE_EXFAT_VER).tar.gz pushd $(BUILD_TMP)/fuse-exfat-$(FUSE_EXFAT_VER); \ autoreconf -fi; \ - $(CONFIGURE_RPATH) \ + $(CONFIGURE) \ --prefix= \ --docdir=/.remove \ --mandir=/.remove \