]> git.webhop.me Git - bs-cst-neutrino-hd.git/commitdiff
update/change compiler flags
authorMarkham <markham001@gmx.de>
Thu, 18 Jan 2018 21:11:11 +0000 (22:11 +0100)
committerMarkham <markham001@gmx.de>
Thu, 18 Jan 2018 21:11:11 +0000 (22:11 +0100)
doc/config.example
make/applications.mk
make/environment.mk
make/neutrino.mk

index 47aa64f560fd0d13ad2458955d325b64b6f3902c..68804f93579f16b25e12d80511533e389a59c036 100755 (executable)
 #
 BOXMODEL = neo
 
+#DEBUG = yes
+
 # if you want to use your precompiled toolchain, define CROSS_DIR:
 # this will skip the building of our own compiler/glibc combination!
 # if CROSS_DIR is not defined, you must first build your toolchain with "make crosstool"!
-# CROSS_DIR=/opt/crosstool-ng-1.16.0-kernel-2.6.34.13-cnxt/arm-cx2450x-linux-gnueabi
-# CROSS_DIR=/opt/crosstool-ng-1.16.0-kernel-2.6.34.13-cnxt/arm-pnx8400-linux-uclibcgnueabi
-# CROSS_DIR=/opt/crosstool-ng-1.19.0-kernel-2.6.34.13-cnxt/arm-cx2450x-linux-gnueabi
-# CROSS_DIR=/opt/crosstool-ng-1.19.0-kernel-2.6.34.13-cnxt/arm-pnx8400-linux-uclibcgnueabi
+# CROSS_DIR=/opt/cross
+
 
 # if /usr/share/libtool/config/config.guess does not supply a valid
 # build type, specify it here. THIS IS A WORKAROUND. Use with caution.
index 83485d7844966c520bd40c366b2b3865ed4b535d..e676251fc1b4b3dd695028a8d9b57614e54c9a98 100755 (executable)
@@ -6,9 +6,9 @@ $(D)/procps: $(D)/libncurses $(ARCHIVE)/procps-3.2.8.tar.gz | $(TARGETPREFIX)
        pushd $(BUILD_TMP)/procps-3.2.8 && \
                $(PATCH)/procps-3.2.7-avoid-ICE-with-gcc-4.3.2-arm.diff && \
                $(PATCH)/procps-3.2.8-fix-unknown-HZ.diff && \
-               $(MAKE) CC=$(TARGET)-gcc LDFLAGS="$(LD_FLAGS)" \
+               $(MAKE) CC=$(TARGET)-gcc LDFLAGS="$(TARGET_LDFLAGS)" \
                        CPPFLAGS="-pipe -O2 -g -I$(TARGETPREFIX)/include -I$(TARGETPREFIX)/include/ncurses -D__GNU_LIBRARY__" proc/libproc-3.2.8.so && \
-               $(MAKE) CC=$(TARGET)-gcc LDFLAGS="$(LD_FLAGS) proc/libproc-3.2.8.so" \
+               $(MAKE) CC=$(TARGET)-gcc LDFLAGS="$(TARGET_LDFLAGS) proc/libproc-3.2.8.so" \
                        CPPFLAGS="-pipe -O2 -g -I$(TARGETPREFIX)/include -I$(TARGETPREFIX)/include/ncurses -D__GNU_LIBRARY__" top ps/ps && \
                mkdir -p $(TARGETPREFIX)/bin && \
                rm -f $(TARGETPREFIX)/bin/ps $(TARGETPREFIX)/bin/top && \
@@ -132,7 +132,7 @@ $(D)/vsftpd: $(ARCHIVE)/vsftpd-$(VSFTPD_VER).tar.gz | $(TARGETPREFIX)
        sed -e 's/die("config file not owned by correct user, or not a file");/\/\/die("config file not owned by correct user, or not a file");/g' $(BUILD_TMP)/vsftpd-$(VSFTPD_VER)/parseconf.tmp > $(BUILD_TMP)/vsftpd-$(VSFTPD_VER)/parseconf.c && \
                cp $(PATCHES)/vsftpd-new.conf vsftpd.conf && \
                $(PATCH)/vsftpd-new.diff && \
-               TARGETPREFIX=$(TARGETPREFIX) $(MAKE) CC=$(TARGET)-gcc CFLAGS="-pipe -O2 -g0 -I$(TARGETPREFIX)/include" LDFLAGS="$(LD_FLAGS) -Wl,-rpath-link,$(TARGETLIB)" && \
+               TARGETPREFIX=$(TARGETPREFIX) $(MAKE) CC=$(TARGET)-gcc CFLAGS="-pipe -O2 -g0 -I$(TARGETPREFIX)/include" LDFLAGS="$(TARGET_LDFLAGS) -Wl,-rpath-link,$(TARGETLIB)" && \
                mkdir -p $(TARGETPREFIX)/sbin && \
                install -m755 vsftpd $(TARGETPREFIX)/sbin/vsftpd && \
                install -m 644 vsftpd.conf $(TARGETPREFIX)/etc/vsftpd.conf && \
index d235d6cd31d1b04d309752e0341fbcac974fa05a..aebe0b4d781ef6eba926a98e148f738c23a8407f 100755 (executable)
@@ -32,32 +32,32 @@ GCC = $(shell gcc -dumpversion | cut -c 1-3)
 
 
 ifeq ($(BOXMODEL), $(filter $(BOXMODEL), zee2 link))
-  BOXTYPE             = coolstream
-  BOXSERIES           = hd2
-  TARGET             ?= arm-cortex-linux-uclibcgnueabi
-  PLATFORM            = kronos
-  DRIVER_DIR         ?= $(PLATFORM)-3.x
-  CST_KERNEL_VERSION ?= 3.10.70
-  KVERSION_FULL       = $(CST_KERNEL_VERSION)
-  KBRANCH            ?= cst_3.10 
+  BOXTYPE                = coolstream
+  BOXSERIES              = hd2
+  TARGET                ?= arm-cortex-linux-uclibcgnueabi
+  PLATFORM               = kronos
+  DRIVER_DIR            ?= $(PLATFORM)-3.x
+  CST_KERNEL_VERSION    ?= 3.10.70
+  KVERSION_FULL          = $(CST_KERNEL_VERSION)
+  KBRANCH               ?= cst_3.10
 else ifeq ($(BOXMODEL), $(filter $(BOXMODEL), tank trinity))
-  BOXTYPE             = coolstream
-  BOXSERIES           = hd2
-  TARGET             ?= arm-cortex-linux-uclibcgnueabi
-  PLATFORM            = apollo
-  DRIVER_DIR         ?= $(PLATFORM)-3.x
-  CST_KERNEL_VERSION ?= 3.10.70
-  KVERSION_FULL       = $(CST_KERNEL_VERSION)
-  KBRANCH            ?= cst_3.10
+  BOXTYPE                = coolstream
+  BOXSERIES              = hd2
+  TARGET                ?= arm-cortex-linux-uclibcgnueabi
+  PLATFORM               = apollo
+  DRIVER_DIR            ?= $(PLATFORM)-3.x
+  CST_KERNEL_VERSION    ?= 3.10.70
+  KVERSION_FULL          = $(CST_KERNEL_VERSION)
+  KBRANCH               ?= cst_3.10
 else ifeq ($(BOXMODEL), $(filter $(BOXMODEL), neo zee))
-  BOXTYPE             = coolstream
-  BOXSERIES           = hd1
-  TARGET             ?= arm-cx2450x-linux-gnueabi
-  PLATFORM            = nevis
-  DRIVER_DIR         ?= $(PLATFORM)
-  CST_KERNEL_VERSION ?= 2.6.34.13
-  KVERSION_FULL       = $(CST_KERNEL_VERSION)-nevis
-  KBRANCH            ?= $(CST_KERNEL_VERSION)-cnxt
+  BOXTYPE                = coolstream
+  BOXSERIES              = hd1
+  TARGET                ?= arm-cx2450x-linux-gnueabi
+  PLATFORM               = nevis
+  DRIVER_DIR            ?= $(PLATFORM)
+  CST_KERNEL_VERSION    ?= 2.6.34.13
+  KVERSION_FULL          = $(CST_KERNEL_VERSION)-nevis
+  KBRANCH               ?= $(CST_KERNEL_VERSION)-cnxt
 else
   $(error $(BOXTYPE) BOXMODEL $(BOXMODEL) not supported)
 endif
@@ -66,13 +66,27 @@ ifeq ($(BOXTYPE), coolstream)
   BOXARCH = arm
 endif
 
+ifeq ($(BOXSERIES), hd1)
+  CORTEX-STRINGS         =
+  TARGET_MARCH_CFLAGS    = -march=armv6 -mfloat-abi=soft -mlittle-endian
+  TARGET_EXTRA_CFLAGS    = -fdata-sections -ffunction-sections
+  TARGET_EXTRA_LDFLAGS   = -Wl,--gc-sections
+  CXX11_ABI              =
+else ifeq ($(BOXSERIES), hd2)
+  CORTEX-STRINGS         = -lcortex-strings
+  TARGET_MARCH_CFLAGS    = -march=armv7-a -mtune=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard -mlittle-endian
+  TARGET_EXTRA_CFLAGS    = -fdata-sections -ffunction-sections
+  TARGET_EXTRA_LDFLAGS   = -Wl,--gc-sections
+  CXX11_ABI              = -D_GLIBCXX_USE_CXX11_ABI=0
+else
+  $(error $(BOXTYPE) BOXSERIES $(BOXSERIES) not supported)
+endif
+
 TARGETLIB        = $(TARGETPREFIX)/lib
-#TARGET_CFLAGS    = -pipe -O2 -g -I$(TARGETPREFIX)/include
-TARGET_CFLAGS    = -pipe -O2 -I$(TARGETPREFIX)/include
+TARGET_CFLAGS    = -pipe $(TARGET_MARCH_CFLAGS) $(TARGET_EXTRA_CFLAGS) $(CXX11_ABI) -g -I$(TARGETPREFIX)/include
 TARGET_CPPFLAGS  = $(TARGET_CFLAGS)
 TARGET_CXXFLAGS  = $(TARGET_CFLAGS)
-TARGET_LDFLAGS   = -Wl,-O1 -L$(TARGETLIB) -Wl,-rpath-link,$(TARGETLIB)
-LD_FLAGS         = $(TARGET_LDFLAGS)
+TARGET_LDFLAGS   = -O1 -Wl,-rpath,$(TARGETLIB) -Wl,-rpath-link,$(TARGETLIB) -L$(TARGETLIB) $(TARGET_EXTRA_LDFLAGS)
 
 VPATH = $(D)
 
index 979cd5a136436f5215d0cfaa430556456f8e15f2..0465ff19c7a7ae77cb85cc042d33c1be3dc634fc 100755 (executable)
@@ -1,29 +1,21 @@
 #Makefile to build NEUTRINO
 
 N_CFLAGS  = -Wall -Werror -Wextra -Wshadow -Wsign-compare
-#N_CFLAGS += -Wconversion
-#N_CFLAGS += -Wfloat-equal
 
-OPTIMIZATION = normal
-
-ifeq ($(OPTIMIZATION), debug)
-N_CFLAGS += -g -O1 -ggdb3
-endif
-ifeq ($(OPTIMIZATION), normal)
 N_CFLAGS += -O2
-endif
 N_CFLAGS += -fmax-errors=10
-N_CFLAGS += -D__KERNEL_STRICT_NAMES
+#N_CFLAGS += -D__KERNEL_STRICT_NAMES
 N_CFLAGS += -DNEW_LIBCURL
-N_CFLAGS += -fno-strict-aliasing
-N_CFLAGS += -D__STDC_FORMAT_MACROS
+#N_CFLAGS += -fno-strict-aliasing
+#N_CFLAGS += -D__STDC_FORMAT_MACROS
 N_CFLAGS += -D__STDC_CONSTANT_MACROS
 
 ifeq ($(PLATFORM), $(filter $(PLATFORM), apollo kronos))
-N_CFLAGS += -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard
+#N_CFLAGS += -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard
 N_CFLAGS += -DFB_HW_ACCELERATION
 else
-N_CFLAGS += -DUSE_NEVIS_GXA
+#N_CFLAGS += -DUSE_NEVIS_GXA
+N_CFLAGS +=
 endif
 
 ifeq ($(BOXMODEL), $(filter $(BOXMODEL), zee2 link))
@@ -32,20 +24,43 @@ else
 HW_TYPE = --with-boxmodel=$(PLATFORM)
 endif
 
-#N_CFLAGS += -I$(TARGETPREFIX)/include
-#N_CFLAGS += -I$(TARGETPREFIX)/include/freetype2
+N_CFLAGS += -I$(TARGETPREFIX)/include
 N_CFLAGS += -I$(NEUTRINO_OBJDIR)
 N_CFLAGS += -I$(NEUTRINO_OBJDIR)/src/gui
 
-N_CPPFLAGS = -I$(TARGETPREFIX)/include
-N_CPPFLAGS += -Werror -Wsign-compare
-N_CPPFLAGS += -D_GLIBCXX_USE_CXX11_ABI=0
+ifeq ($(DEBUG), yes)
+       N_CFLAGS += -O1 -ggdb3 -rdynamic
+else
+       N_CFLAGS += $(TARGET_CFLAGS)
+endif
 
 # the original build script links against openssl.
 # N_LDFLAGS  = -L$(TARGETPREFIX)/lib -lcurl -lssl -lcrypto -ldl
-# the original build script links against openssl, but it is not needed at all.
-N_LDFLAGS  = -L$(TARGETPREFIX)/lib -lcurl -ldl -lz
-N_LDFLAGS += -Wl,-rpath-link,$(TARGETLIB)
+N_LDFLAGS = -lcrypto -ldl -lz $(CORTEX-STRINGS) -L$(TARGETLIB)
+ifeq ($(DEBUG), yes)
+       N_LDFLAGS += -Wl,-rpath-link,$(TARGETLIB)
+else
+       N_LDFLAGS += -Wl,-O1 -Wl,-rpath-link,$(TARGETLIB) $(TARGET_EXTRA_LDFLAGS)
+endif
+
+N_BUILDENV = \
+       CC=$(TARGET)-gcc \
+       CXX=$(TARGET)-g++ \
+       LD=$(TARGET)-ld \
+       NM=$(TARGET)-nm \
+       AR=$(TARGET)-ar \
+       AS=$(TARGET)-as \
+       LDD=$(TARGET)-ldd \
+       RANLIB=$(TARGET)-ranlib \
+       STRIP=$(TARGET)-strip \
+       OBJCOPY=$(TARGET)-objcopy \
+       OBJDUMP=$(TARGET)-objdump \
+       READELF=$(TARGET)-readelf \
+       CFLAGS="$(N_CFLAGS)" \
+       CPPFLAGS="$(N_CFLAGS)" \
+       CXXFLAGS="$(N_CFLAGS)" \
+       LDFLAGS="$(N_LDFLAGS)"
+
 
 # finally we can build outside of the source directory
 NEUTRINO_OBJDIR = $(BUILD_TMP)/neutrino-hd
@@ -85,8 +100,7 @@ $(NEUTRINO_OBJDIR)/config.status: $(NEUTRINO_DEPS) $(D)/neutrino-hd-libs
        pushd $(NEUTRINO_OBJDIR) && \
                export PKG_CONFIG=$(PKG_CONFIG) && \
                export PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) && \
-               CC=$(TARGET)-gcc CFLAGS="$(N_CFLAGS)" CXXFLAGS="$(N_CFLAGS)" CPPFLAGS="$(N_CPPFLAGS)" \
-               LDFLAGS="$(N_LDFLAGS)" \
+               $(N_BUILDENV) \
                $(SOURCE_DIR)/neutrino-hd/configure --host=$(TARGET) --build=$(BUILD) --prefix= \
                        --enable-maintainer-mode --with-target=cdk --with-targetprefix="" \
                        --with-boxtype=$(BOXTYPE) \