From ae638514697ce48e20f1fb27251c6c5e50c46d4e Mon Sep 17 00:00:00 2001 From: vanhofen Date: Fri, 30 Dec 2022 20:18:50 +0100 Subject: [PATCH] - introduce $(GNU_TARGET_NAME) and $(BS_PATH) --- Makefile | 32 +++++++++----------- make/buildsystem-bootstrap.mk | 2 +- make/buildsystem-prerequisites.mk | 12 ++++++++ make/environment-build.mk | 14 ++++----- make/flash-images.mk | 1 + package/autofs/autofs.mk | 2 +- package/binutils/binutils.mk | 2 +- package/ccache/ccache.mk | 6 ++-- package/crosstool-ng/crosstool-ng.mk | 10 +++--- package/libgpg-error/libgpg-error.mk | 2 +- package/libstb-hal/libstb-hal.mk | 4 +-- package/neutrino-plugins/neutrino-plugins.mk | 4 +-- package/neutrino/neutrino.mk | 4 +-- package/pkg-autotools.mk | 4 +-- package/pkg-generic.mk | 4 +-- package/pkg-kernel-module.mk | 2 +- package/pkg-meson.mk | 2 ++ package/xupnpd/xupnpd.mk | 2 +- 18 files changed, 61 insertions(+), 48 deletions(-) diff --git a/Makefile b/Makefile index 37ba676d..4e4e66e4 100755 --- a/Makefile +++ b/Makefile @@ -137,29 +137,27 @@ local: printenv: @$(call draw_line); @echo "Build Environment Varibles:" - @echo "CROSS_DIR: $(CROSS_DIR)" - @echo "TARGET: $(TARGET)" - @echo "BASE_DIR: $(BASE_DIR)" - @echo "SOURCE_DIR: $(SOURCE_DIR)" - @echo "BUILD: $(BUILD)" - @echo "PATH: `type -p fmt>/dev/null&&echo $(PATH)|sed 's/:/ /g' |fmt -65|sed 's/ /:/g; 2,$$s/^/ /;'||echo $(PATH)`" - @echo "BOXARCH: $(BOXARCH)" - @echo "BOXTYPE: $(BOXTYPE)" - @echo "BOXSERIES: $(BOXSERIES)" - @echo "BOXMODEL: $(BOXMODEL)" + @echo "BS_PATH: `type -p fmt>/dev/null&&echo $(BS_PATH)|sed 's/:/ /g'|fmt -64|sed 's/ /:/g; 2,$$s/^/ /;'||echo $(BS_PATH)`" + @echo "ARCHIVE_DIR: $(DL_DIR)" + @echo "BASE_DIR: $(BASE_DIR)" + @echo "CROSS_DIR: $(CROSS_DIR)" + @echo "SOURCE_DIR: $(SOURCE_DIR)" + @echo "HOST_DIR: $(HOST_DIR)" + @echo "GNU_HOST_NAME: $(GNU_HOST_NAME)" + @echo "TARGET_DIR: $(TARGET_DIR)" + @echo "GNU_TARGET_NAME: $(GNU_TARGET_NAME)" + @echo "TARGET_ARCH: $(TARGET_ARCH)" + @echo "TARGET_CPU: $(TARGET_CPU)" + @echo "BOXTYPE: $(BOXTYPE)" + @echo "BOXSERIES: $(BOXSERIES)" + @echo "BOXMODEL: $(BOXMODEL)" @$(call draw_line); @echo "" @echo "'make help' lists useful targets." @echo "" @make --no-print-directory toolcheck + @make --no-print-directory crosscheck @make -i -s $(TARGET_DIR) - @PATH=$(PATH):$(CROSS_DIR)/bin && \ - if type -p $(TARGET_CC) >/dev/null 2>&1; then \ - echo "$(TARGET_CC) found in PATH or in \$$CROSS_DIR/bin."; \ - else \ - echo "$(TARGET_CC) not found in PATH or \$$CROSS_DIR/bin"; \ - echo "=> please check your setup. Maybe you need to 'make crosstool'."; \ - fi @if ! LANG=C make -n preqs|grep -q "Nothing to be done"; then \ echo; \ echo "Your next target to do is probably 'make preqs'"; \ diff --git a/make/buildsystem-bootstrap.mk b/make/buildsystem-bootstrap.mk index c78a56a2..0e7d9d58 100644 --- a/make/buildsystem-bootstrap.mk +++ b/make/buildsystem-bootstrap.mk @@ -91,7 +91,7 @@ $(UPDATE_DIR): # ----------------------------------------------------------------------------- libs-cross: | $(TARGET_DIR) - $(INSTALL_COPY) $(CROSS_DIR)/$(TARGET)/sys-root/lib/*so* $(TARGET_base_libdir) + $(INSTALL_COPY) $(CROSS_DIR)/$(GNU_TARGET_NAME)/sys-root/lib/*so* $(TARGET_base_libdir) ifeq ($(BOXSERIES),hd2) $(CD) $(TARGET_base_libdir); \ ln -sf libuClibc-$(UCLIBC_NG_VERSION).so libcrypt.so.0; \ diff --git a/make/buildsystem-prerequisites.mk b/make/buildsystem-prerequisites.mk index b268fa17..b20bc436 100644 --- a/make/buildsystem-prerequisites.mk +++ b/make/buildsystem-prerequisites.mk @@ -45,6 +45,18 @@ bashcheck: toolcheck: bashcheck $(TOOLCHECK) @$(call SUCCESS,"All required tools seem to be installed.") +crosscheck: + @if test -e $(TARGET_CC); then \ + $(call SUCCESS,"$(TARGET_CC)",": found."); \ + elif test -e $(CROSS_DIR)/bin/$(TARGET_CC); then \ + $(call SUCCESS,"$(TARGET_CC)",": found in \$$(CROSS_DIR)/bin"); \ + elif PATH=$(PATH) type -p $(TARGET_CC) >/dev/null 2>&1; then \ + $(call SUCCESS,"$(TARGET_CC)",": found PATH"); \ + else \ + $(call WARNING,"$(TARGET_CC)",": not found in \$$(CROSS_DIR)/bin or PATH"); \ + $(call WARNING,"=> please check your setup. Maybe you need to 'make crosstool'."); \ + fi + # ----------------------------------------------------------------------------- preqs: download ni-sources checkout-branches diff --git a/make/environment-build.mk b/make/environment-build.mk index 8d745109..08577826 100644 --- a/make/environment-build.mk +++ b/make/environment-build.mk @@ -18,7 +18,7 @@ TARGET_OS = linux ifeq ($(BOXSERIES),hd1) DRIVERS_BIN_DIR = $(BOXTYPE)/$(BOXFAMILY) CORTEX_STRINGS_LDFLAG = - TARGET = arm-cx2450x-linux-gnueabi + GNU_TARGET_NAME = arm-cx2450x-linux-gnueabi TARGET_OPTIMIZATION = -Os TARGET_DEBUGGING = -g TARGET_ARCH = arm @@ -32,7 +32,7 @@ ifeq ($(BOXSERIES),hd1) else ifeq ($(BOXSERIES),hd2) DRIVERS_BIN_DIR = $(BOXTYPE)/$(BOXFAMILY) CORTEX_STRINGS_LDFLAG = -lcortex-strings - TARGET = arm-cortex-linux-uclibcgnueabi + GNU_TARGET_NAME = arm-cortex-linux-uclibcgnueabi TARGET_OPTIMIZATION = -O2 TARGET_DEBUGGING = -g TARGET_ARCH = arm @@ -51,7 +51,7 @@ else ifeq ($(BOXSERIES),hd2) else ifeq ($(BOXSERIES),$(filter $(BOXSERIES),hd5x hd6x vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse)) DRIVERS_BIN_DIR = $(BOXTYPE)/$(BOXMODEL) CORTEX_STRINGS_LDFLAG = -lcortex-strings - TARGET = arm-cortex-linux-gnueabihf + GNU_TARGET_NAME = arm-cortex-linux-gnueabihf TARGET_OPTIMIZATION = -O2 TARGET_DEBUGGING = -g TARGET_ARCH = arm @@ -65,7 +65,7 @@ else ifeq ($(BOXSERIES),$(filter $(BOXSERIES),hd5x hd6x vusolo4k vuduo4k vuduo4k else ifeq ($(BOXSERIES),$(filter $(BOXSERIES),vuduo)) DRIVERS_BIN_DIR = $(BOXTYPE)/$(BOXMODEL) CORTEX_STRINGS_LDFLAG = - TARGET = mipsel-unknown-linux-gnu + GNU_TARGET_NAME = mipsel-unknown-linux-gnu TARGET_OPTIMIZATION = -O2 TARGET_DEBUGGING = -g TARGET_ARCH = mips @@ -129,7 +129,7 @@ TARGET_LDFLAGS += -Wl,-rpath,$(TARGET_base_libdir),-rpath,$(TARGET_libdir) TARGET_LDFLAGS += -Wl,-rpath-link,$(TARGET_base_libdir),-rpath-link,$(TARGET_libdir) TARGET_LDFLAGS += -Wl,-O1 -TARGET_CROSS = $(TARGET)- +TARGET_CROSS = $(GNU_TARGET_NAME)- # gcc-4.7 and later ships with wrappers that will automatically pass # arguments to the binutils tools. Those are paths to necessary linker @@ -157,11 +157,11 @@ GNU_HOST_NAME := $(shell support/gnuconfig/config.guess) # search path(s) for all prerequisites VPATH = $(DEPS_DIR) $(HOST_DEPS_DIR) -PATH := $(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(CROSS_DIR)/bin:$(PATH) +BS_PATH := $(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(CROSS_DIR)/bin:$(PATH) # ----------------------------------------------------------------------------- -PKG_CONFIG = $(HOST_DIR)/bin/$(TARGET)-pkg-config +PKG_CONFIG = $(HOST_DIR)/bin/$(GNU_TARGET_NAME)-pkg-config PKG_CONFIG_LIBDIR = $(TARGET_base_libdir):$(TARGET_libdir) PKG_CONFIG_PATH = $(TARGET_base_libdir)/pkgconfig:$(TARGET_libdir)/pkgconfig PKG_CONFIG_SYSROOT_DIR=$(TARGET_DIR) diff --git a/make/flash-images.mk b/make/flash-images.mk index 2e80d0ca..b527d672 100644 --- a/make/flash-images.mk +++ b/make/flash-images.mk @@ -55,6 +55,7 @@ endef # ----------------------------------------------------------------------------- +flash-image: PATH="$(BS_PATH)" flash-image: ifeq ($(BOXMODEL),$(filter $(BOXMODEL),nevis kronos kronos_v2)) make flash-image-coolstream ERASE_SIZE=0x20000 diff --git a/package/autofs/autofs.mk b/package/autofs/autofs.mk index 69fcd2ff..c0cef042 100644 --- a/package/autofs/autofs.mk +++ b/package/autofs/autofs.mk @@ -30,7 +30,7 @@ AUTOFS_CONF_OPTS = \ --enable-ignore-busy \ --without-openldap \ --without-sasl \ - --with-path="$(PATH)" \ + --with-path="$(BS_PATH)" \ --with-hesiod=no \ --with-libtirpc \ --with-confdir=/etc \ diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk index ccc10c39..1bc0b55b 100644 --- a/package/binutils/binutils.mk +++ b/package/binutils/binutils.mk @@ -34,7 +34,7 @@ endef BINUTILS_TARGET_FINALIZE_HOOKS += BINUTILS_INSTALL_BINARIES define BINUTILS_TARGET_CLEANUP - $(TARGET_RM) $(TARGET_prefix)/$(TARGET) + $(TARGET_RM) $(TARGET_prefix)/$(GNU_TARGET_NAME) endef BINUTILS_TARGET_FINALIZE_HOOKS += BINUTILS_TARGET_CLEANUP diff --git a/package/ccache/ccache.mk b/package/ccache/ccache.mk index 6d43dad9..ad7b0700 100644 --- a/package/ccache/ccache.mk +++ b/package/ccache/ccache.mk @@ -26,9 +26,9 @@ HOST_CCACHE_HOST_LINKS = \ $(HOST_CCACHE_BINDIR)/g++ HOST_CCACHE_TARGET_LINKS = \ - $(HOST_CCACHE_BINDIR)/$(TARGET_CC) \ - $(HOST_CCACHE_BINDIR)/$(TARGET_CPP) \ - $(HOST_CCACHE_BINDIR)/$(TARGET_CXX) + $(HOST_CCACHE_BINDIR)/$(GNU_TARGET_NAME)-gcc \ + $(HOST_CCACHE_BINDIR)/$(GNU_TARGET_NAME)-cpp \ + $(HOST_CCACHE_BINDIR)/$(GNU_TARGET_NAME)-g++ $(HOST_CCACHE_HOST_LINKS) \ $(HOST_CCACHE_TARGET_LINKS): | $(HOST_CCACHE_BINDIR) diff --git a/package/crosstool-ng/crosstool-ng.mk b/package/crosstool-ng/crosstool-ng.mk index 491cfe3e..317a1039 100644 --- a/package/crosstool-ng/crosstool-ng.mk +++ b/package/crosstool-ng/crosstool-ng.mk @@ -74,8 +74,8 @@ CROSSTOOL_NG_POST_PATCH_HOOKS += CROSSTOOL_NG_INSTALL_PATCHES endif define CROSSTOOL_NG_CLEANUP_COOLSTREAM - test -e $(CROSS_DIR)/$(TARGET)/lib && \ - mv $(CROSS_DIR)/$(TARGET)/lib $(CROSS_DIR)/$(TARGET)/lib.x + test -e $(CROSS_DIR)/$(GNU_TARGET_NAME)/lib && \ + mv $(CROSS_DIR)/$(GNU_TARGET_NAME)/lib $(CROSS_DIR)/$(GNU_TARGET_NAME)/lib.x endef CROSSTOOL_NG_CLEANUP_HOOKS += CROSSTOOL_NG_CLEANUP_COOLSTREAM @@ -83,9 +83,9 @@ endif # end coolstream define CROSSTOOL_NG_CLEANUP_COMMON - test -e $(CROSS_DIR)/$(TARGET)/lib || \ - ln -sf sys-root/lib $(CROSS_DIR)/$(TARGET)/ - rm -f $(CROSS_DIR)/$(TARGET)/sys-root/lib/libstdc++.so.6.0.*-gdb.py + test -e $(CROSS_DIR)/$(GNU_TARGET_NAME)/lib || \ + ln -sf sys-root/lib $(CROSS_DIR)/$(GNU_TARGET_NAME)/ + rm -f $(CROSS_DIR)/$(GNU_TARGET_NAME)/sys-root/lib/libstdc++.so.6.0.*-gdb.py endef CROSSTOOL_NG_CLEANUP_HOOKS += CROSSTOOL_NG_CLEANUP_COMMON diff --git a/package/libgpg-error/libgpg-error.mk b/package/libgpg-error/libgpg-error.mk index c5cfc8eb..8c56eea6 100644 --- a/package/libgpg-error/libgpg-error.mk +++ b/package/libgpg-error/libgpg-error.mk @@ -22,7 +22,7 @@ LIBGPG_ERROR_CONF_OPTS = \ --disable-tests define LIBGPG_ERROR_LINKING_HEADER - ln -sf lock-obj-pub.arm-unknown-linux-gnueabi.h $(PKG_BUILD_DIR)/src/syscfg/lock-obj-pub.$(TARGET).h + ln -sf lock-obj-pub.arm-unknown-linux-gnueabi.h $(PKG_BUILD_DIR)/src/syscfg/lock-obj-pub.$(GNU_TARGET_NAME).h ln -sf lock-obj-pub.arm-unknown-linux-gnueabi.h $(PKG_BUILD_DIR)/src/syscfg/lock-obj-pub.linux-uclibcgnueabi.h endef LIBGPG_ERROR_POST_EXTRACT_HOOKS += LIBGPG_ERROR_LINKING_HEADER diff --git a/package/libstb-hal/libstb-hal.mk b/package/libstb-hal/libstb-hal.mk index d1a6b03b..99cefa86 100644 --- a/package/libstb-hal/libstb-hal.mk +++ b/package/libstb-hal/libstb-hal.mk @@ -20,8 +20,8 @@ LIBSTB_HAL_CONF_ENV = \ LIBSTB_HAL_CONF_OPTS = \ --build=$(GNU_HOST_NAME) \ - --host=$(TARGET) \ - --target=$(TARGET) \ + --host=$(GNU_TARGET_NAME) \ + --target=$(GNU_TARGET_NAME) \ --prefix=$(prefix) \ $(if $(findstring 1,$(KBUILD_VERBOSE)),--disable-silent-rules,--enable-silent-rules) \ --enable-maintainer-mode \ diff --git a/package/neutrino-plugins/neutrino-plugins.mk b/package/neutrino-plugins/neutrino-plugins.mk index 35c8d92a..00eba919 100644 --- a/package/neutrino-plugins/neutrino-plugins.mk +++ b/package/neutrino-plugins/neutrino-plugins.mk @@ -21,8 +21,8 @@ NEUTRINO_PLUGINS_CONF_ENV = \ NEUTRINO_PLUGINS_CONF_OPTS = \ --build=$(GNU_HOST_NAME) \ - --host=$(TARGET) \ - --target=$(TARGET) \ + --host=$(GNU_TARGET_NAME) \ + --target=$(GNU_TARGET_NAME) \ --prefix=$(prefix) \ --sysconfdir=$(sysconfdir) \ $(if $(findstring 1,$(KBUILD_VERBOSE)),--disable-silent-rules,--enable-silent-rules) \ diff --git a/package/neutrino/neutrino.mk b/package/neutrino/neutrino.mk index 96a2f426..db87371a 100644 --- a/package/neutrino/neutrino.mk +++ b/package/neutrino/neutrino.mk @@ -69,8 +69,8 @@ NEUTRINO_CONF_ENV += \ NEUTRINO_CONF_OPTS = \ --build=$(GNU_HOST_NAME) \ - --host=$(TARGET) \ - --target=$(TARGET) \ + --host=$(GNU_TARGET_NAME) \ + --target=$(GNU_TARGET_NAME) \ --prefix=$(prefix) \ $(if $(findstring 1,$(KBUILD_VERBOSE)),--disable-silent-rules,--enable-silent-rules) \ --enable-maintainer-mode \ diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk index 5344e363..a5872b87 100644 --- a/package/pkg-autotools.mk +++ b/package/pkg-autotools.mk @@ -57,8 +57,8 @@ TARGET_CONFIGURE_ARGS = \ TARGET_CONFIGURE_OPTS = \ --build=$(GNU_HOST_NAME) \ - --host=$(TARGET) \ - --target=$(TARGET) \ + --host=$(GNU_TARGET_NAME) \ + --target=$(GNU_TARGET_NAME) \ \ --program-prefix="" \ --program-suffix="" \ diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index bfc898d4..65f6b0fe 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -5,7 +5,7 @@ ################################################################################ TARGET_MAKE_ENV = \ - PATH=$(PATH) + PATH=$(BS_PATH) define TARGET_MAKE_BUILD_CMDS_DEFAULT $(CHDIR)/$($(PKG)_DIR)/$($(PKG)_SUBDIR); \ @@ -48,7 +48,7 @@ endef # ----------------------------------------------------------------------------- HOST_MAKE_ENV = \ - PATH=$(PATH) \ + PATH=$(BS_PATH) \ PKG_CONFIG=/usr/bin/pkg-config \ PKG_CONFIG_LIBDIR=$(HOST_DIR)/lib \ PKG_CONFIG_PATH=$(HOST_DIR)/lib/pkgconfig \ diff --git a/package/pkg-kernel-module.mk b/package/pkg-kernel-module.mk index 9ae501f7..c1147774 100644 --- a/package/pkg-kernel-module.mk +++ b/package/pkg-kernel-module.mk @@ -73,6 +73,6 @@ endef define LINUX_RUN_DEPMOD @$(call MESSAGE,"Running depmod") if test -d $(TARGET_modulesdir) && grep -q "CONFIG_MODULES=y" $(KERNEL_OBJ_DIR)/.config; then \ - PATH=$(PATH):/sbin:/usr/sbin depmod -a -b $(TARGET_DIR) $(KERNEL_VERSION); \ + PATH=$(BS_PATH):/sbin:/usr/sbin depmod -a -b $(TARGET_DIR) $(KERNEL_VERSION); \ fi endef diff --git a/package/pkg-meson.mk b/package/pkg-meson.mk index a9d1d037..67dad20d 100644 --- a/package/pkg-meson.mk +++ b/package/pkg-meson.mk @@ -45,6 +45,7 @@ endef define TARGET_MESON_CMDS_DEFAULT unset CC CXX CPP LD AR NM STRIP; \ $(CHDIR)/$($(PKG)_DIR)/$($(PKG)_SUBDIR); \ + PATH=$(BS_PATH) \ $($(PKG)_CONF_ENV) \ $(HOST_MESON_BINARY) \ --buildtype=release \ @@ -110,6 +111,7 @@ define HOST_MESON_CMDS_DEFAULT PKG_CONFIG=/usr/bin/pkg-config \ PKG_CONFIG_PATH=$(HOST_DIR)/lib/pkgconfig \ $(CHDIR)/$($(PKG)_DIR)/$($(PKG)_SUBDIR); \ + PATH=$(BS_PATH) \ $($(PKG)_CONF_ENV) \ $(HOST_MESON_BINARY) \ --prefix=$(HOST_DIR) \ diff --git a/package/xupnpd/xupnpd.mk b/package/xupnpd/xupnpd.mk index 54ad27fd..8c7af4c7 100644 --- a/package/xupnpd/xupnpd.mk +++ b/package/xupnpd/xupnpd.mk @@ -19,7 +19,7 @@ XUPNPD_MAKE_ENV = \ $(TARGET_CONFIGURE_ENV) XUPNPD_MAKE_OPTS = \ - TARGET=$(TARGET) \ + TARGET=$(GNU_TARGET_NAME) \ LUAFLAGS="$(TARGET_LDFLAGS) \ -I$(TARGET_includedir)" \ embedded