Radix cross Linux Build System

Cross-platform build system is designed to build distributions of different operating systems for a set of target devices

39 Commits   2 Branches   2 Tags
     5         kx # include once
     5         kx ifndef CONSTANTS_MK
     5         kx 
     5         kx #######
     5         kx ####### Constants:
     5         kx #######
     5         kx 
     5         kx SYSTEM_VERSION       = 1.9.2
     5         kx 
     5         kx #
     5         kx # Distribution:
     5         kx #
     5         kx DISTRO_NAME          = radix
     5         kx 
     5         kx DISTRO_CAPTION       = Radix
     5         kx 
     5         kx DISTRO_SPEC          = Radix cross Linux
     5         kx 
     5         kx DISTRO_VERSION       = 1.9
     5         kx 
     5         kx BUG_URL              = https://radix.pro
     5         kx 
     5         kx 
     5         kx #
     5         kx # Download Sources:
     5         kx #
     5         kx DOWNLOAD_SERVER      = https://ftp.radix.pro
     5         kx 
     5         kx WGET_OPTIONS         = -q -N
     5         kx 
     5         kx TOOLCHAINS_FTP_BASE  = toolchains/x86_64
     5         kx TARBALL_SUFFIX       = tar.gz
     5         kx 
     5         kx 
     5         kx CACHED_CC_OUTPUT     = /opt/extra/ccache
     5         kx 
     5         kx TOOLCHAINS_BASE_PATH = /opt/toolchains
     5         kx 
     5         kx 
     5         kx #
     5         kx # GnuPG options for make-package:
     5         kx # ==============================
     5         kx #
     5         kx # Usage:
     5         kx # -----
     5         kx #   GNUPG_OPTIONS  = -g ~/.gnupg
     5         kx #   GNUPG_OPTIONS += -p ~/.gnupg/.pkgtool-passphrase
     5         kx #   GNUPG_OPTIONS += -k 0xA5ED710298807270
     5         kx #
     5         kx #   where:
     5         kx #     -g,--gnupghome=<DIR>       Set the name of the GnuPG home directory
     5         kx #                                to <DIR>. If this option is not used it
     5         kx #                                defaults to '~/.gnupg'. This also overrides
     5         kx #                                the environment variable 'GNUPGHOME'.
     5         kx #     -p,--passphrase=<FILE>     File with passphrase of private certificate
     5         kx #                                for signing package. For example:
     5         kx #                                   ~/.gnupg/.passphrase
     5         kx #                                Passphrase should be placed in the first
     5         kx #                                line of the file (the new-line symbol at
     5         kx #                                end of passphrase is allowed). File must
     5         kx #                                have access mode 600.
     5         kx #     -k,--key-id=<USER-ID>      Use USER-ID to sign package, for example,
     5         kx #                                --key-id=0xA5ED710298807270
     5         kx #
     5         kx #     [see OpenPGP options of make-package utility].
     5         kx #
     5         kx GNUPG_OPTIONS =
     5         kx 
     5         kx 
     5         kx ################################################################
     5         kx #######
     5         kx ####### Target Package suffixes & functions:
     5         kx #######
     5         kx 
     5         kx # pkgtool/make-package script creates three files:
     5         kx #  - package tarball,
     5         kx #  - package signature,
     5         kx #  - package description.
     5         kx # extensions of these files are depend on pkgtool.
     5         kx 
     5         kx pkg_arch_suffix = txz
     5         kx pkg_cert_suffix = asc
     5         kx pkg_sign_suffix = sha
     5         kx pkg_desc_suffix = txt
     5         kx 
     5         kx #
     5         kx # functions:
     5         kx #
     5         kx cert-name = $(if $(GNUPG_OPTIONS),$(subst .$(pkg_arch_suffix),.$(pkg_cert_suffix),$1),)
     5         kx sign-name = $(subst .$(pkg_arch_suffix),.$(pkg_sign_suffix),$1)
     5         kx desc-name = $(subst .$(pkg_arch_suffix),.$(pkg_desc_suffix),$1)
     5         kx pkg-files = $1 $(call cert-name,$1) $(call sign-name,$1) $(call desc-name,$1)
     5         kx 
     5         kx #
     5         kx # usage:
     5         kx #
     5         kx #   pkg_archive     = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
     5         kx #   pkg_signature   = $(call sign-name,$(pkg_archive))
     5         kx #   pkg_description = $(call desc-name,$(pkg_archive))
     5         kx #   products        = $(call pkg-files,$(pkg_archive))
     5         kx #
     5         kx #   PRODUCT_TARGETS = $(products)
     5         kx #   ROOTFS_TARGETS  = $(pkg_archive)
     5         kx #
     5         kx #   $(pkg_signature)   : $(pkg_archive) ;
     5         kx #   $(pkg_description) : $(pkg_archive) ;
     5         kx #
     5         kx #   $(pkg_archive): '''dependencies'''
     5         kx #   	```package creation procedure'''
     5         kx 
     5         kx #######
     5         kx ####### End of Target Package suffixes & functions.
     5         kx #######
     5         kx ################################################################
     5         kx 
     5         kx 
     5         kx #
     5         kx # NOTE:
     5         kx # ====
     5         kx #   Hardware names defined by 'HARDWARE_...' variables.
     5         kx #   Hardware IDs variable names such as ..._ID_STD should have prefix
     5         kx #   which is equal to $(HARDWARE_...) in upper case letters and symbol '-' should be replaced with '_'.
     5         kx #   In other words the PREFIX is equal to PREFIX = $(shell echo $(HARDWARE_...) | tr '[a-z-]' '[A-Z_]').
     5         kx #
     5         kx 
     5         kx #######
     5         kx ####### Hardware names and specific attributes:
     5         kx #######
     5         kx 
     5         kx ####### noarch:
     5         kx HARDWARE_NOARCH     = none
     5         kx ####### Host Build:
     5         kx HARDWARE_BUILD      = build
     5         kx 
     5         kx #
     5         kx # NOTE:
     5         kx # ====
     5         kx #   $(HARDWARE)_USE_BUILT_GCC_LIBS - defines that the system is based on GCC Runtime Libraries
     5         kx #                                    which built in the platform instead of Libraries which
     5         kx #                                    are taken from TOOLCHAIN.
     5         kx #
     5         kx #   These variables give their values to the global variable named as __USE_BUILT_GCC_LIBS__
     5         kx #   and defined in the target-setup.mk file. Variable __USE_BUILT_GCC_LIBS__ can be used in
     5         kx #   user's Makefile to deside do we need to wait gcc built or we can to set dependencies from
     5         kx #   GNU Libc which based on GCC Runtime Libs taken from toolchain.
     5         kx #
     5         kx #   [see: app/inputattach/1.4.7/Makefile, for example].
     5         kx #
     5         kx 
     5         kx ####### x86 Personal Computer:
     5         kx HARDWARE_INTEL_PC32              = intel-pc32
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx INTEL_PC32_SPEC                  = Intel x86_32 generic Linux machine
     5         kx INTEL_PC32_USE_BUILT_GCC_LIBS    = yes
     5         kx INTEL_PC32_ENABLE_STATIC         = no
     5         kx 
     5         kx ####### {x86|x86_64} Personal Computer:
     5         kx HARDWARE_INTEL_PC64              = intel-pc64
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx INTEL_PC64_SPEC                  = Intel x86_64 generic Linux machine
     5         kx INTEL_PC64_USE_BUILT_GCC_LIBS    = yes
     5         kx INTEL_PC64_ENABLE_STATIC         = no
     5         kx 
     5         kx ####### x86 micro Linux:
     5         kx HARDWARE_INTEL_PC32M             = intel-pc32m
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx INTEL_PC32M_SPEC                 = x86_32 micro Linux
     5         kx INTEL_PC32M_USE_BUILT_GCC_LIBS   = no
     5         kx INTEL_PC32M_ENABLE_STATIC        = no
     5         kx 
     5         kx ####### x86_64 micro Linux:
     5         kx HARDWARE_INTEL_PC64M             = intel-pc64m
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx INTEL_PC64M_SPEC                 = x86_64 micro Linux
     5         kx INTEL_PC64M_USE_BUILT_GCC_LIBS   = no
     5         kx INTEL_PC64M_ENABLE_STATIC        = no
     5         kx 
     5         kx 
     5         kx ####### i586 devices:
     5         kx ####### ------------
     5         kx 
     5         kx ####### DMP Electronics Inc. EBOX-3350DX2-AP [https://www.compactpc.com.tw]:
     5         kx HARDWARE_EBOX_3350DX2            = ebox-3350dx2
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx EBOX_3350DX2_SPEC                = EBOX 3350DX2 \(Linux, GNU Libc based\)
     5         kx EBOX_3350DX2_USE_BUILT_GCC_LIBS  = yes
     5         kx EBOX_3350DX2_ENABLE_STATIC       = no
     5         kx 
     5         kx HARDWARE_EBOX_3350DX2M           = ebox-3350dx2m
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx EBOX_3350DX2M_SPEC               = EBOX 3350DX2M \(micro Linux, GNU Libc based\)
     5         kx EBOX_3350DX2M_USE_BUILT_GCC_LIBS = no
     5         kx EBOX_3350DX2M_ENABLE_STATIC      = no
     5         kx 
     5         kx 
     5         kx ####### Allwinner devices:
     5         kx ####### -----------------
     5         kx 
     5         kx ####### A1N newlib devices (cubieboard 1):
     5         kx HARDWARE_CB1N                    = cb1n
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx CB1N_SPEC                        = Cubieboard A10 \(Newlib based\)
     5         kx CB1N_USE_BUILT_GCC_LIBS          = no
     5         kx CB1N_ENABLE_STATIC               = yes
     5         kx 
     5         kx ####### A1X devices (cubieboard 1 glibc):
     5         kx HARDWARE_CB1X                    = cb1x
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx CB1X_SPEC                        = Cubieboard A10 \(Linux, GNU Libc based\)
     5         kx CB1X_USE_BUILT_GCC_LIBS          = yes
     5         kx CB1X_ENABLE_STATIC               = no
     5         kx 
     5         kx ####### A2N newlib devices (cubieboard 2):
     5         kx HARDWARE_CB2N                    = cb2n
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx CB2N_SPEC                        = Cubieboard A20 \(Newlib based\)
     5         kx CB2N_USE_BUILT_GCC_LIBS          = no
     5         kx CB2N_ENABLE_STATIC               = yes
     5         kx 
     5         kx ####### A2X devices (cubieboard 2 glibc):
     5         kx HARDWARE_CB2X                    = cb2x
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx CB2X_SPEC                        = Cubieboard A20 \(Linux, GNU Libc based\)
     5         kx CB2X_USE_BUILT_GCC_LIBS          = yes
     5         kx CB2X_ENABLE_STATIC               = no
     5         kx 
     5         kx ####### A3N newlib devices (cubieboard 3):
     5         kx HARDWARE_CB3N                    = cb3n
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx CB3N_SPEC                        = Cubietrack A20 \(Newlib based\)
     5         kx CB3N_USE_BUILT_GCC_LIBS          = no
     5         kx CB3N_ENABLE_STATIC               = yes
     5         kx 
     5         kx ####### A3X devices (cubieboard 3 glibc):
     5         kx HARDWARE_CB3X                    = cb3x
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx CB3X_SPEC                        = Cubietrack A20 \(Linux, GNU Libc based\)
     5         kx CB3X_USE_BUILT_GCC_LIBS          = yes
     5         kx CB3X_ENABLE_STATIC               = no
     5         kx 
     5         kx 
     5         kx ####### H3 devices:
     5         kx ####### ----------
     5         kx 
     5         kx ####### Orange Pi Plus 2E [http://www.orangepi.org/orangepiplus2e]:
     5         kx HARDWARE_ORANGE_PP2E             = orange-pp2e
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx ORANGE_PP2E_SPEC                 = Orange Pi Plus 2E \(Linux, GNU Libc based\)
     5         kx ORANGE_PP2E_USE_BUILT_GCC_LIBS   = yes
     5         kx ORANGE_PP2E_ENABLE_STATIC        = no
     5         kx 
     5         kx ####### NanoPi NEO Air [http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO_Air]:
     5         kx HARDWARE_NANOPI_NEO              = nanopi-neo
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx NANOPI_NEO_SPEC                  = NanoPi NEO Air \(Linux, GNU Libc based\)
     5         kx NANOPI_NEO_USE_BUILT_GCC_LIBS    = yes
     5         kx NANOPI_NEO_ENABLE_STATIC         = no
     5         kx 
     5         kx ####### H5 devices:
     5         kx ####### ----------
     5         kx 
     5         kx ####### Orange Pi Prime [http://www.orangepi.org/OrangePiPrime]:
     5         kx HARDWARE_ORANGE_PP               = orange-pp
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx ORANGE_PP_SPEC                   = Orange Pi Prime \(Linux, GNU Libc based\)
     5         kx ORANGE_PP_USE_BUILT_GCC_LIBS     = yes
     5         kx ORANGE_PP_ENABLE_STATIC          = no
     5         kx 
     5         kx ####### Orange Pi Lite 2 [http://www.orangepi.org/Orange Pi Lite 2/]:
     5         kx HARDWARE_ORANGE_PL2              = orange-pl2
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx ORANGE_PL2_SPEC                  = Orange Pi Lite 2 \(Linux, GNU Libc based\)
     5         kx ORANGE_PL2_USE_BUILT_GCC_LIBS    = yes
     5         kx ORANGE_PL2_ENABLE_STATIC         = no
     5         kx 
     5         kx ####### Wechip TX6 [https://aliexpress.com]:
     5         kx HARDWARE_WECHIP_TX6              = wechip-tx6
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx WECHIP_TX6_SPEC                  = WeChip TX6 OTT Box \(Linux, GNU Libc based\)
     5         kx WECHIP_TX6_USE_BUILT_GCC_LIBS    = yes
     5         kx WECHIP_TX6_ENABLE_STATIC         = no
     5         kx 
     5         kx 
     5         kx 
     5         kx ####### Microcontrollers:
     5         kx ####### ----------------
     5         kx 
     5         kx ####### AT91SAM7S devices:
     5         kx HARDWARE_AT91S                   = at91s
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx AT91S_SPEC                       = Atmel at91sam7s \(Newlib based\)
     5         kx AT91S_USE_BUILT_GCC_LIBS         = no
     5         kx AT91S_ENABLE_STATIC              = yes
     5         kx 
     5         kx 
     5         kx 
     5         kx ####### i.MX6 devices:
     5         kx ####### -------------
     5         kx 
     5         kx ####### Nitrogen6X [https://boundarydevices.com/product/nitrogen6x]:
     5         kx HARDWARE_NIT6Q                   = nit6q
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx NIT6Q_SPEC                       = Nitrogen6X Nit6Q \(Linux, GNU Libc based\)
     5         kx NIT6Q_USE_BUILT_GCC_LIBS         = yes
     5         kx NIT6Q_ENABLE_STATIC              = no
     5         kx 
     5         kx ####### OKMX6DL-C [http://www.forlinx.net/products_detail/productId=69.html]:
     5         kx HARDWARE_OKMX6DL_C               = okmx6dl-c
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx OKMX6DL_C_SPEC                   = Forlinx OKMX6DL-C \(Linux, GNU Libc based\)
     5         kx OKMX6DL_C_USE_BUILT_GCC_LIBS     = yes
     5         kx OKMX6DL_C_ENABLE_STATIC          = no
     5         kx 
     5         kx ####### OKMX6Q-C [http://www.forlinx.net/products_detail/productId=69.html]:
     5         kx HARDWARE_OKMX6Q_C                = okmx6q-c
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx OKMX6Q_C_SPEC                    = Forlinx OKMX6Q-C \(Linux, GNU Libc based\)
     5         kx OKMX6Q_C_USE_BUILT_GCC_LIBS      = yes
     5         kx OKMX6Q_C_ENABLE_STATIC           = no
     5         kx 
     5         kx ####### SK6ULL [http://starterkit.ru/html/index.php?name=shop&op=view&id=154]:
     5         kx HARDWARE_SK6ULL                  = sk6ull
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx SK6ULL_SPEC                      = SK-iMX6ULL-NANO  \(Linux, GNU Libc based\)
     5         kx SK6ULL_USE_BUILT_GCC_LIBS        = yes
     5         kx SK6ULL_ENABLE_STATIC             = no
     5         kx 
     5         kx 
     5         kx ####### AM335X devices:
     5         kx ####### --------------
     5         kx 
     5         kx HARDWARE_BONE_BLACK              = bone-black
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx BONE_BLACK_SPEC                  = BeagleBone Black \(Linux, GNU Libc based\)
     5         kx BONE_BLACK_USE_BUILT_GCC_LIBS    = yes
     5         kx BONE_BLACK_ENABLE_STATIC         = no
     5         kx 
     5         kx 
     5         kx ####### OMAP543X devices:
     5         kx ####### ----------------
     5         kx 
     5         kx HARDWARE_OMAP5UEVM               = omap5uevm
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx OMAP5UEVM_SPEC                   = Texas OMAP5 uEVM \(Linux, GNU Libc based\)
     5         kx OMAP5UEVM_USE_BUILT_GCC_LIBS     = yes
     5         kx OMAP5UEVM_ENABLE_STATIC          = no
     5         kx 
     5         kx HARDWARE_DRA7XXEVM               = dra7xxevm
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx DRA7XXEVM_SPEC                   = Texas DRA7xx EVM \(Linux, GNU Libc based\)
     5         kx DRA7XXEVM_USE_BUILT_GCC_LIBS     = yes
     5         kx DRA7XXEVM_ENABLE_STATIC          = no
     5         kx 
     5         kx 
     5         kx ####### JZ47XX devices:
     5         kx ####### --------------
     5         kx 
     5         kx ####### MIPS Creator CI20 [http://www.elinux.org/MIPS_Creator_CI20]:
     5         kx HARDWARE_CI20                    = ci20
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx CI20_SPEC                        = MIPS Creator CI20 \(Linux, GNU Libc based\)
     5         kx CI20_USE_BUILT_GCC_LIBS          = yes
     5         kx CI20_ENABLE_STATIC               = no
     5         kx 
     5         kx 
     5         kx ####### MIPS Warrior P-class P5600 devices:
     5         kx ####### ----------------------------------
     5         kx 
     5         kx ####### Baikal T1 based boards [https://baikalelectronics.com/products/168]:
     5         kx HARDWARE_BAIKAL_T1               = baikal-t1
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx BAIKAL_T1_SPEC                   = MIPS Baikal T1 \(Linux, GNU Libc based\)
     5         kx BAIKAL_T1_USE_BUILT_GCC_LIBS     = yes
     5         kx BAIKAL_T1_ENABLE_STATIC          = no
     5         kx 
     5         kx ####### BE-M1000 devices:
     5         kx ####### ----------------
     5         kx 
     5         kx ####### Baikal M1 based boards [https://baikalelectronics.com/products/238]:
     5         kx HARDWARE_BAIKAL_M1               = baikal-m1
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx BAIKAL_M1_SPEC                   = ARM64 Baikal M1 \(Linux, GNU Libc based\)
     5         kx BAIKAL_M1_USE_BUILT_GCC_LIBS     = yes
     5         kx BAIKAL_M1_ENABLE_STATIC          = no
     5         kx 
     5         kx 
     5         kx ####### RK328X devices:
     5         kx ####### --------------
     5         kx 
     5         kx ####### Firefly-RK3288 [http://en.t-firefly.com/en/firenow/firefly_rk3288]:
     5         kx HARDWARE_FFRK3288                = ffrk3288
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx FFRK3288_SPEC                    = Firefly RK3288 \(Linux, GNU Libc based\)
     5         kx FFRK3288_USE_BUILT_GCC_LIBS      = yes
     5         kx FFRK3288_ENABLE_STATIC           = no
     5         kx 
     5         kx ####### Poin2 RK3288 Chromebook [https://poin2.com/chromebook11]:
     5         kx HARDWARE_POIN2                   = poin2
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx POIN2_SPEC                       = Poin2 RK3288 \(Linux, GNU Libc based\)
     5         kx POIN2_USE_BUILT_GCC_LIBS         = yes
     5         kx POIN2_ENABLE_STATIC              = no
     5         kx 
     5         kx 
     5         kx ####### RK33XX devices:
     5         kx ####### --------------
     5         kx 
     5         kx ####### ROC-RK3328-CC [http://en.t-firefly.com/doc/product/index/id/34.html]:
     5         kx HARDWARE_RK3328_CC               = rk3328-cc
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx RK3328_CC_SPEC                   = ROC RK3328 CC \(Linux, GNU Libc based\)
     5         kx RK3328_CC_USE_BUILT_GCC_LIBS     = yes
     5         kx RK3328_CC_ENABLE_STATIC          = no
     5         kx 
     5         kx 
     5         kx ####### RK339X devices:
     5         kx ####### --------------
     5         kx 
     5         kx ####### KHADAS EDGE [https://www.khadas.com/edge]:
     5         kx HARDWARE_KHADAS_EDGE             = khadas-edge
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx KHADAS_EDGE_SPEC                 = Khadas Edge RK3399 \(Linux, GNU Libc based\)
     5         kx KHADAS_EDGE_USE_BUILT_GCC_LIBS   = yes
     5         kx KHADAS_EDGE_ENABLE_STATIC        = no
     5         kx 
     5         kx ####### LENOVO Leez SBC P710/PR710 [https://github.com/leezsbc/resources/wiki]:
     5         kx HARDWARE_LEEZ_P710               = leez-p710
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx LEEZ_P710_SPEC                   = Lenovo Leez P710 \(Linux, GNU Libc based\)
     5         kx LEEZ_P710_USE_BUILT_GCC_LIBS     = yes
     5         kx LEEZ_P710_ENABLE_STATIC          = no
     5         kx 
     5         kx 
     5         kx 
     5         kx ####### S8XX devices:
     5         kx ####### ------------
     5         kx 
     5         kx ####### Amlogic S805 meson8b m201:
     5         kx HARDWARE_M201                    = m201
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx M201_SPEC                        = Amlogic M201 S805 \(Linux, GNU Libc based\)
     5         kx M201_USE_BUILT_GCC_LIBS          = yes
     5         kx M201_ENABLE_STATIC               = no
     5         kx 
     5         kx HARDWARE_MXV                     = mxv
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx MXV_SPEC                         = MXV OTT Box S805 \(Linux, GNU Libc based\)
     5         kx MXV_USE_BUILT_GCC_LIBS           = yes
     5         kx MXV_ENABLE_STATIC                = no
     5         kx 
     5         kx 
     5         kx ####### S9XX devices:
     5         kx ####### ------------
     5         kx 
     5         kx ####### Amlogic S905 meson-gxbb p201:
     5         kx HARDWARE_P201                    = p201
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx P201_SPEC                        = Amlogic P201 S905 \(Linux, GNU Libc based\)
     5         kx P201_USE_BUILT_GCC_LIBS          = yes
     5         kx P201_ENABLE_STATIC               = no
     5         kx 
     5         kx HARDWARE_NEXBOX_A95X             = nexbox-a95x
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx NEXBOX_A95X_SPEC                 = NEXBOX A95X S905 \(Linux, GNU Libc based\)
     5         kx NEXBOX_A95X_USE_BUILT_GCC_LIBS   = yes
     5         kx NEXBOX_A95X_ENABLE_STATIC        = no
     5         kx 
     5         kx HARDWARE_ODROID_C2               = odroid-c2
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx ODROID_C2_SPEC                   = ODROID C2 S905 \(Linux, GNU Libc based\)
     5         kx ODROID_C2_USE_BUILT_GCC_LIBS     = yes
     5         kx ODROID_C2_ENABLE_STATIC          = no
     5         kx 
     5         kx ####### Amlogic S905X meson-gxl p212:
     5         kx HARDWARE_P212                    = p212
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx P212_SPEC                        = Amlogic P212 S905X \(Linux, GNU Libc based\)
     5         kx P212_USE_BUILT_GCC_LIBS          = yes
     5         kx P212_ENABLE_STATIC               = no
     5         kx 
     5         kx HARDWARE_KHADAS_VIM              = khadas-vim
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx KHADAS_VIM_SPEC                  = Khadas Vim S905X \(Linux, GNU Libc based\)
     5         kx KHADAS_VIM_USE_BUILT_GCC_LIBS    = yes
     5         kx KHADAS_VIM_ENABLE_STATIC         = no
     5         kx 
     5         kx ####### Amlogic S912 meson-gxm q201:
     5         kx HARDWARE_Q201                    = q201
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx Q201_SPEC                        = Amlogic Q201 S912 \(Linux, GNU Libc based\)
     5         kx Q201_USE_BUILT_GCC_LIBS          = yes
     5         kx Q201_ENABLE_STATIC               = no
     5         kx 
     5         kx HARDWARE_ENYBOX_X2               = enybox-x2
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx ENYBOX_X2_SPEC                   = Enybox X2 S912 \(Linux, GNU Libc based\)
     5         kx ENYBOX_X2_USE_BUILT_GCC_LIBS     = yes
     5         kx ENYBOX_X2_ENABLE_STATIC          = no
     5         kx 
     5         kx HARDWARE_KHADAS_VIM2             = khadas-vim2
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx KHADAS_VIM2_SPEC                 = Khadas Vim2 S912 \(Linux, GNU Libc based\)
     5         kx KHADAS_VIM2_USE_BUILT_GCC_LIBS   = yes
     5         kx KHADAS_VIM2_ENABLE_STATIC        = no
     5         kx 
     5         kx ####### Amlogic A311D:
     5         kx HARDWARE_KHADAS_VIM3             = khadas-vim3
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx KHADAS_VIM3_SPEC                 = Khadas Vim3 A311D \(Linux, GNU Libc based\)
     5         kx KHADAS_VIM3_USE_BUILT_GCC_LIBS   = yes
     5         kx KHADAS_VIM3_ENABLE_STATIC        = no
     5         kx 
     5         kx 
     5         kx ####### OpenPOWER (POWER8) devices:
     5         kx ####### --------------------------
     5         kx 
     5         kx ####### IBM Power S824L Server (Most Significant Bit/Byte) [https://www-03.ibm.com/systems/power/hardware/s824l]:
     5         kx HARDWARE_S824L                   = s824l
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx S824L_SPEC                       = IBM Power S824L \(Linux, GNU Libc based\)
     5         kx S824L_USE_BUILT_GCC_LIBS         = yes
     5         kx S824L_ENABLE_STATIC              = no
     5         kx 
     5         kx ####### IBM Power S824L Server (Least Significant Bit/Byte):
     5         kx HARDWARE_S824L_LSB               = s824l-lsb
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx S824L_LSB_SPEC                   = IBM Power S824L LSB \(Linux, GNU Libc based\)
     5         kx S824L_LSB_USE_BUILT_GCC_LIBS     = yes
     5         kx S824L_LSB_ENABLE_STATIC          = no
     5         kx 
     5         kx ####### VESNIN Server (Most Significant Bit/Byte) [http://yadro.com/products/vesnin]:
     5         kx HARDWARE_VESNIN                  = vesnin
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx VESNIN_SPEC                      = Vesnin Server \(Linux, GNU Libc based\)
     5         kx VESNIN_USE_BUILT_GCC_LIBS        = yes
     5         kx VESNIN_ENABLE_STATIC             = no
     5         kx 
     5         kx ####### VESNIN Server (Least Significant Bit/Byte):
     5         kx HARDWARE_VESNIN_LSB              = vesnin-lsb
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx VESNIN_LSB_SPEC                  = Vesnin Server LSB \(Linux, GNU Libc based\)
     5         kx VESNIN_LSB_USE_BUILT_GCC_LIBS    = yes
     5         kx VESNIN_LSB_ENABLE_STATIC         = no
     5         kx 
     5         kx 
     5         kx ####### RAPTOR devices (POWER9) [https://www.raptorcs.com]:
     5         kx ####### --------------------------------------------------
     5         kx 
     5         kx ####### Talos II Secure Workstation [https://www.raptorcs.com/content/TL2WK2/intro.html]:
     5         kx HARDWARE_TL2WK2                  = tl2wk2
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx TL2WK2_SPEC                      = Talos II PC \(Linux, GNU Libc based\)
     5         kx TL2WK2_USE_BUILT_GCC_LIBS        = yes
     5         kx TL2WK2_ENABLE_STATIC             = no
     5         kx 
     5         kx ####### Talos II Secure Workstation (Least Significant Bit/Byte):
     5         kx HARDWARE_TL2WK2_LSB              = tl2wk2-lsb
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx TL2WK2_LSB_SPEC                  = Talos II PC LSB \(Linux, GNU Libc based\)
     5         kx TL2WK2_LSB_USE_BUILT_GCC_LIBS    = yes
     5         kx TL2WK2_LSB_ENABLE_STATIC         = no
     5         kx 
     5         kx ####### Talos II Rack Mount Development Platform [https://www.raptorcs.com/content/TL2SV2/intro.html]:
     5         kx HARDWARE_TL2SV2                  = tl2sv2
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx TL2SV2_SPEC                      = Talos II Server \(Linux, GNU Libc based\)
     5         kx TL2SV2_USE_BUILT_GCC_LIBS        = yes
     5         kx TL2SV2_ENABLE_STATIC             = no
     5         kx 
     5         kx ####### Talos II Rack Mount Development Platform (Least Significant Bit/Byte):
     5         kx HARDWARE_TL2SV2_LSB              = tl2sv2-lsb
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx TL2SV2_LSB_SPEC                  = Talos II Server LSB \(Linux, GNU Libc based\)
     5         kx TL2SV2_LSB_USE_BUILT_GCC_LIBS    = yes
     5         kx TL2SV2_LSB_ENABLE_STATIC         = no
     5         kx 
     5         kx 
     5         kx ####### RISC-V devices:
     5         kx ####### --------------------------------------------------
     5         kx 
     5         kx ####### SiFive SBC HiFive Unmatched [https://www.sifive.com/boards/hifive-unmatched]:
     5         kx HARDWARE_SIFIVE_U740             = sifive-u740
     5         kx ###                               |---HW-spec-handy-ruler-----------------------|
     5         kx SIFIVE_U740_SPEC                 = SiFive U740 SBC \(Linux, GNU Libc based\)
     5         kx SIFIVE_U740_USE_BUILT_GCC_LIBS   = yes
     5         kx SIFIVE_U740_ENABLE_STATIC        = no
     5         kx 
     5         kx 
     5         kx 
     5         kx HW_SPEC                = $(shell echo $($(shell echo $(HARDWARE) | tr '[a-z-]' '[A-Z_]')_SPEC) | sed "s, (.*),,")
     5         kx __USE_BUILT_GCC_LIBS__ = $(strip $(shell echo $($(shell echo $(HARDWARE) | tr '[a-z-]' '[A-Z_]')_USE_BUILT_GCC_LIBS)))
     5         kx __ENABLE_STATIC__      = $(strip $(shell echo $($(shell echo $(HARDWARE) | tr '[a-z-]' '[A-Z_]')_ENABLE_STATIC)))
     5         kx 
     5         kx 
     5         kx #######
     5         kx ####### Hardware IDs:
     5         kx #######
     5         kx     INTEL_PC32_ID_STD = 0001
     5         kx     INTEL_PC64_ID_STD = 0002
     5         kx    INTEL_PC32M_ID_STD = 0004
     5         kx    INTEL_PC64M_ID_STD = 0008
     5         kx 
     5         kx   EBOX_3350DX2_ID_STD = 0010
     5         kx  EBOX_3350DX2M_ID_STD = 0011
     5         kx 
     5         kx           CB1N_ID_STD = 0100
     5         kx           CB1X_ID_STD = 0101
     5         kx           CB2N_ID_STD = 0200
     5         kx           CB2X_ID_STD = 0201
     5         kx           CB3N_ID_STD = 0300
     5         kx           CB3X_ID_STD = 0301
     5         kx 
     5         kx          AT91S_ID_STD = 0400
     5         kx 
     5         kx          NIT6Q_ID_STD = 0601
     5         kx      OKMX6DL_C_ID_STD = 0602
     5         kx       OKMX6Q_C_ID_STD = 0603
     5         kx         SK6ULL_ID_STD = 0604
     5         kx 
     5         kx     BONE_BLACK_ID_STD = 0700
     5         kx 
     5         kx      OMAP5UEVM_ID_STD = 0801
     5         kx      DRA7XXEVM_ID_STD = 0802
     5         kx 
     5         kx           CI20_ID_STD = 0901
     5         kx      BAIKAL_T1_ID_STD = 0A01
     5         kx 
     5         kx      BAIKAL_M1_ID_STD = 0B01
     5         kx 
     5         kx       FFRK3288_ID_STD = 0C01
     5         kx          POIN2_ID_STD = 0C02
     5         kx      RK3328_CC_ID_STD = 0D01
     5         kx    KHADAS_EDGE_ID_STD = 0E01
     5         kx      LEEZ_P710_ID_STD = 0E02
     5         kx    ORANGE_PP2E_ID_STD = 0F01
     5         kx     NANOPI_NEO_ID_STD = 0D02
     5         kx      ORANGE_PP_ID_STD = 1001
     5         kx     ORANGE_PL2_ID_STD = 1002
     5         kx     WECHIP_TX6_ID_STD = 1003
     5         kx           M201_ID_STD = 1101
     5         kx            MXV_ID_STD = 1102
     5         kx           P201_ID_STD = 1201
     5         kx    NEXBOX_A95X_ID_STD = 1202
     5         kx      ODROID_C2_ID_STD = 1204
     5         kx           P212_ID_STD = 1401
     5         kx     KHADAS_VIM_ID_STD = 1402
     5         kx           Q201_ID_STD = 1501
     5         kx      ENYBOX_X2_ID_STD = 1502
     5         kx    KHADAS_VIM2_ID_STD = 1503
     5         kx 
     5         kx    KHADAS_VIM3_ID_STD = 1600
     5         kx 
     5         kx          S824L_ID_STD = 1700
     5         kx      S824L_LSB_ID_STD = 1701
     5         kx         VESNIN_ID_STD = 1800
     5         kx     VESNIN_LSB_ID_STD = 1801
     5         kx         TL2WK2_ID_STD = 1900
     5         kx     TL2WK2_LSB_ID_STD = 1901
     5         kx         TL2SV2_ID_STD = 1A00
     5         kx     TL2SV2_LSB_ID_STD = 1A01
     5         kx 
     5         kx    SIFIVE_U740_ID_STD = 1B01
     5         kx 
     5         kx 
     5         kx 
     5         kx #######
     5         kx ####### Available Toolchains:
     5         kx #######
     5         kx 
     5         kx #
     5         kx # NOTE:
     5         kx # ====
     5         kx #   Toolchain names defined by 'TOOLCHAIN_...' variables.
     5         kx #   Configuration variable names such as ..._ARCH, ..._DIR, ..._PATH should have prefix
     5         kx #   which is equal to $(TOOLCHAIN_...) in upper case letters and symbol '-' should be replaced with '_'.
     5         kx #   In other words the PREFIX is equal to PREFIX = $(shell echo $(TOOLCHAIN_...) | tr '[a-z-]' '[A-Z_]').
     5         kx #
     5         kx 
     5         kx #   if variable ..._DEST_SYSROOT equal to "yes" then the switch --sysroot=$(TARGET_DEST_DIR)
     5         kx #   is used to say that cross compiler have to usre $(TARGET_DEST_DIR) as system root instead
     5         kx #   of compiler default sysroot $(TOOLCHAIN_PATH)/$(TARGET)/sys-root
     5         kx #   The '...' as usually shoul be equal to suffix of some 'TOOLCHAIN_...' name.
     5         kx 
     5         kx 
     5         kx 
     5         kx # NOARCH
     5         kx TOOLCHAIN_NOARCH  = noarch
     5         kx 
     5         kx NOARCH_ARCH       = noarch
     5         kx NOARCH_VERSION    =
     5         kx NOARCH_DIR        =
     5         kx NOARCH_PATH       =
     5         kx NOARCH_TARBALL    =
     5         kx 
     5         kx NOARCH_HARDWARE_VARIANTS := $(HARDWARE_NOARCH)
     5         kx 
     5         kx 
     5         kx # BUILD machine
     5         kx TOOLCHAIN_BUILD_MACHINE      = build-machine
     5         kx 
     5         kx BUILD_MACHINE_ARCH           = $(shell $(BUILDSYSTEM)/canonical-build)
     5         kx BUILD_MACHINE_VERSION        =
     5         kx BUILD_MACHINE_DIR            =
     5         kx BUILD_MACHINE_PATH           = /usr
     5         kx BUILD_MACHINE_TARBALL        =
     5         kx 
     5         kx BUILD_MACHINE_HARDWARE_VARIANTS := $(HARDWARE_BUILD)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= I686-GLIBC =========================================================
     5         kx 
     5         kx TOOLCHAIN_I686_GLIBC         = i686-glibc
     5         kx 
     5         kx I686_GLIBC_ARCH              = i686-radix-linux-gnu
     5         kx I686_GLIBC_VERSION           = 1.9.2
     5         kx I686_GLIBC_DIR               = i686-PC-linux-glibc
     5         kx I686_GLIBC_PATH              = $(TOOLCHAINS_BASE_PATH)/$(I686_GLIBC_DIR)
     5         kx I686_GLIBC_TARBALL           = $(TOOLCHAINS_FTP_BASE)/$(I686_GLIBC_VERSION)/$(I686_GLIBC_DIR)-$(I686_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx I686_GLIBC_ARCH_DEFS         = -D__I686_GLIBC__=1
     5         kx I686_GLIBC_ARCH_FLAGS        = -march=i686 -mtune=i686
     5         kx 
     5         kx I686_GLIBC_SYSROOT           = sys-root
     5         kx I686_GLIBC_DEST_SYSROOT      = yes
     5         kx 
     5         kx I686_GLIBC_HAS_PATCHELF      = yes
     5         kx 
     5         kx I686_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_INTEL_PC32) $(HARDWARE_INTEL_PC32M)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= X86_64-GLIBC =======================================================
     5         kx 
     5         kx TOOLCHAIN_X86_64_GLIBC       = x86_64-glibc
     5         kx 
     5         kx X86_64_GLIBC_ARCH            = x86_64-radix-linux-gnu
     5         kx X86_64_GLIBC_VERSION         = 1.9.2
     5         kx X86_64_GLIBC_DIR             = x86_64-PC-linux-glibc
     5         kx X86_64_GLIBC_PATH            = $(TOOLCHAINS_BASE_PATH)/$(X86_64_GLIBC_DIR)
     5         kx X86_64_GLIBC_TARBALL         = $(TOOLCHAINS_FTP_BASE)/$(X86_64_GLIBC_VERSION)/$(X86_64_GLIBC_DIR)-$(X86_64_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx X86_64_GLIBC_ARCH_DEFS       = -D__X86_64_GLIBC__=1
     5         kx X86_64_GLIBC_ARCH_FLAGS      = -march=x86-64
     5         kx 
     5         kx X86_64_GLIBC_SYSROOT         = sys-root
     5         kx X86_64_GLIBC_DEST_SYSROOT    = yes
     5         kx 
     5         kx X86_64_GLIBC_HAS_PATCHELF    = yes
     5         kx 
     5         kx X86_64_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_INTEL_PC64) $(HARDWARE_INTEL_PC64M)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= I586-GLIBC =========================================================
     5         kx 
     5         kx TOOLCHAIN_I586_GLIBC         = i586-glibc
     5         kx 
     5         kx I586_GLIBC_ARCH              = i586-radix-linux-gnu
     5         kx I586_GLIBC_VERSION           = 1.9.2
     5         kx I586_GLIBC_DIR               = i586-PC-linux-glibc
     5         kx I586_GLIBC_PATH              = $(TOOLCHAINS_BASE_PATH)/$(I586_GLIBC_DIR)
     5         kx I586_GLIBC_TARBALL           = $(TOOLCHAINS_FTP_BASE)/$(I586_GLIBC_VERSION)/$(I586_GLIBC_DIR)-$(I586_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx I586_GLIBC_ARCH_DEFS         = -D__I586_GLIBC__=1
     5         kx I586_GLIBC_ARCH_FLAGS        = -march=i586 -mtune=i586
     5         kx 
     5         kx I586_GLIBC_SYSROOT           = sys-root
     5         kx I586_GLIBC_DEST_SYSROOT      = yes
     5         kx 
     5         kx I586_GLIBC_HAS_PATCHELF      = yes
     5         kx 
     5         kx I586_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_EBOX_3350DX2) $(HARDWARE_EBOX_3350DX2M)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= A1X-NEWLIB =========================================================
     5         kx 
     5         kx TOOLCHAIN_A1X_NEWLIB         = a1x-newlib
     5         kx 
     5         kx A1X_NEWLIB_ARCH              = arm-none-eabi
     5         kx A1X_NEWLIB_VERSION           = 1.9.2
     5         kx A1X_NEWLIB_DIR               = arm-NONE-eabi-newlib
     5         kx A1X_NEWLIB_PATH              = $(TOOLCHAINS_BASE_PATH)/$(A1X_NEWLIB_DIR)
     5         kx A1X_NEWLIB_TARBALL           = $(TOOLCHAINS_FTP_BASE)/$(A1X_NEWLIB_VERSION)/$(A1X_NEWLIB_DIR)-$(A1X_NEWLIB_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx A1X_NEWLIB_ARCH_DEFS         = -D__ALLWINNER_1N__=1
     5         kx A1X_NEWLIB_ARCH_FLAGS        = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard -mlittle-endian -fomit-frame-pointer
     5         kx 
     5         kx A1X_NEWLIB_HARDWARE_VARIANTS := $(HARDWARE_CB1N)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= A1X-GLIBC ==========================================================
     5         kx 
     5         kx TOOLCHAIN_A1X_GLIBC          = a1x-glibc
     5         kx 
     5         kx A1X_GLIBC_ARCH               = arm-a1x-linux-gnueabihf
     5         kx A1X_GLIBC_VERSION            = 1.9.2
     5         kx A1X_GLIBC_DIR                = arm-A1X-linux-glibc
     5         kx A1X_GLIBC_PATH               = $(TOOLCHAINS_BASE_PATH)/$(A1X_GLIBC_DIR)
     5         kx A1X_GLIBC_TARBALL            = $(TOOLCHAINS_FTP_BASE)/$(A1X_GLIBC_VERSION)/$(A1X_GLIBC_DIR)-$(A1X_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx A1X_GLIBC_ARCH_DEFS          = -D__ALLWINNER_1X_GLIBC__=1
     5         kx A1X_GLIBC_ARCH_FLAGS         = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard -mabi=aapcs-linux -fomit-frame-pointer
     5         kx 
     5         kx A1X_GLIBC_SYSROOT            = sys-root
     5         kx A1X_GLIBC_DEST_SYSROOT       = yes
     5         kx 
     5         kx A1X_GLIBC_HAS_PATCHELF       = yes
     5         kx 
     5         kx A1X_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_CB1X)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= A2X-NEWLIB =========================================================
     5         kx 
     5         kx TOOLCHAIN_A2X_NEWLIB         = a2x-newlib
     5         kx 
     5         kx A2X_NEWLIB_ARCH              = arm-none-eabi
     5         kx A2X_NEWLIB_VERSION           = 1.9.2
     5         kx A2X_NEWLIB_DIR               = arm-NONE-eabi-newlib
     5         kx A2X_NEWLIB_PATH              = $(TOOLCHAINS_BASE_PATH)/$(A2X_NEWLIB_DIR)
     5         kx A2X_NEWLIB_TARBALL           = $(TOOLCHAINS_FTP_BASE)/$(A2X_NEWLIB_VERSION)/$(A2X_NEWLIB_DIR)-$(A2X_NEWLIB_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx A2X_NEWLIB_ARCH_DEFS         = -D__ALLWINNER_2N__=1
     5         kx A2X_NEWLIB_ARCH_FLAGS        = -march=armv7ve -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -mlittle-endian -fomit-frame-pointer
     5         kx 
     5         kx A2X_NEWLIB_HARDWARE_VARIANTS := $(HARDWARE_CB2N) $(HARDWARE_CB3N)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= A2X-GLIBC =========================================================
     5         kx 
     5         kx TOOLCHAIN_A2X_GLIBC          = a2x-glibc
     5         kx 
     5         kx A2X_GLIBC_ARCH               = arm-a2x-linux-gnueabihf
     5         kx A2X_GLIBC_VERSION            = 1.9.2
     5         kx A2X_GLIBC_DIR                = arm-A2X-linux-glibc
     5         kx A2X_GLIBC_PATH               = $(TOOLCHAINS_BASE_PATH)/$(A2X_GLIBC_DIR)
     5         kx A2X_GLIBC_TARBALL            = $(TOOLCHAINS_FTP_BASE)/$(A2X_GLIBC_VERSION)/$(A2X_GLIBC_DIR)-$(A2X_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx A2X_GLIBC_ARCH_DEFS          = -D__ALLWINNER_2X_GLIBC__=1
     5         kx A2X_GLIBC_ARCH_FLAGS         = -march=armv7ve -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -mabi=aapcs-linux -fomit-frame-pointer
     5         kx 
     5         kx A2X_GLIBC_SYSROOT            = sys-root
     5         kx A2X_GLIBC_DEST_SYSROOT       = yes
     5         kx 
     5         kx A2X_GLIBC_HAS_PATCHELF       = yes
     5         kx 
     5         kx A2X_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_CB2X) $(HARDWARE_CB3X)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= H3-GLIBC =========================================================
     5         kx 
     5         kx TOOLCHAIN_H3_GLIBC           = h3-glibc
     5         kx 
     5         kx H3_GLIBC_ARCH                = arm-h3-linux-gnueabihf
     5         kx H3_GLIBC_VERSION             = 1.9.2
     5         kx H3_GLIBC_DIR                 = arm-H3-linux-glibc
     5         kx H3_GLIBC_PATH                = $(TOOLCHAINS_BASE_PATH)/$(H3_GLIBC_DIR)
     5         kx H3_GLIBC_TARBALL             = $(TOOLCHAINS_FTP_BASE)/$(H3_GLIBC_VERSION)/$(H3_GLIBC_DIR)-$(H3_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx H3_GLIBC_ARCH_DEFS           = -D__ALLWINNER_H3_GLIBC__=1
     5         kx H3_GLIBC_ARCH_FLAGS          = -march=armv7ve -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -mabi=aapcs-linux -fomit-frame-pointer
     5         kx 
     5         kx H3_GLIBC_SYSROOT             = sys-root
     5         kx H3_GLIBC_DEST_SYSROOT        = yes
     5         kx 
     5         kx H3_GLIBC_HAS_PATCHELF        = yes
     5         kx 
     5         kx H3_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_ORANGE_PP2E) $(HARDWARE_NANOPI_NEO)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= H5-GLIBC ======================================================
     5         kx 
     5         kx TOOLCHAIN_H5_GLIBC           = h5-glibc
     5         kx 
     5         kx H5_GLIBC_ARCH                = aarch64-h5-linux-gnu
     5         kx H5_GLIBC_VERSION             = 1.9.2
     5         kx H5_GLIBC_DIR                 = aarch64-H5-linux-glibc
     5         kx H5_GLIBC_PATH                = $(TOOLCHAINS_BASE_PATH)/$(H5_GLIBC_DIR)
     5         kx H5_GLIBC_TARBALL             = $(TOOLCHAINS_FTP_BASE)/$(H5_GLIBC_VERSION)/$(H5_GLIBC_DIR)-$(H5_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx H5_GLIBC_ARCH_DEFS           = -D__ALLWINNER_H5_GLIBC__=1
     5         kx H5_GLIBC_ARCH_FLAGS          = -march=armv8-a -mcpu=cortex-a53 -mabi=lp64 -fomit-frame-pointer
     5         kx 
     5         kx H5_GLIBC_SYSROOT             = sys-root
     5         kx H5_GLIBC_DEST_SYSROOT        = yes
     5         kx 
     5         kx H5_GLIBC_HAS_PATCHELF        = yes
     5         kx 
     5         kx H5_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_ORANGE_PP) $(HARDWARE_ORANGE_PL2) $(HARDWARE_WECHIP_TX6)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= RK328X-GLIBC ======================================================
     5         kx 
     5         kx TOOLCHAIN_RK328X_GLIBC       = rk328x-glibc
     5         kx 
     5         kx RK328X_GLIBC_ARCH            = arm-rk328x-linux-gnueabihf
     5         kx RK328X_GLIBC_VERSION         = 1.9.2
     5         kx RK328X_GLIBC_DIR             = arm-RK328X-linux-glibc
     5         kx RK328X_GLIBC_PATH            = $(TOOLCHAINS_BASE_PATH)/$(RK328X_GLIBC_DIR)
     5         kx RK328X_GLIBC_TARBALL         = $(TOOLCHAINS_FTP_BASE)/$(RK328X_GLIBC_VERSION)/$(RK328X_GLIBC_DIR)-$(RK328X_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx RK328X_GLIBC_ARCH_DEFS       = -D__RK328X_GLIBC__=1
     5         kx RK328X_GLIBC_ARCH_FLAGS      = -march=armv7ve -mtune=cortex-a17 -mfpu=neon-vfpv4 -mfloat-abi=hard -mabi=aapcs-linux -fomit-frame-pointer
     5         kx 
     5         kx RK328X_GLIBC_SYSROOT         = sys-root
     5         kx RK328X_GLIBC_DEST_SYSROOT    = yes
     5         kx 
     5         kx RK328X_GLIBC_HAS_PATCHELF    = yes
     5         kx 
     5         kx RK328X_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_FFRK3288) $(HARDWARE_POIN2)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= RK33XX-GLIBC ======================================================
     5         kx 
     5         kx TOOLCHAIN_RK33XX_GLIBC       = rk33xx-glibc
     5         kx 
     5         kx RK33XX_GLIBC_ARCH            = aarch64-rk33xx-linux-gnu
     5         kx RK33XX_GLIBC_VERSION         = 1.9.2
     5         kx RK33XX_GLIBC_DIR             = aarch64-RK33XX-linux-glibc
     5         kx RK33XX_GLIBC_PATH            = $(TOOLCHAINS_BASE_PATH)/$(RK33XX_GLIBC_DIR)
     5         kx RK33XX_GLIBC_TARBALL         = $(TOOLCHAINS_FTP_BASE)/$(RK33XX_GLIBC_VERSION)/$(RK33XX_GLIBC_DIR)-$(RK33XX_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx RK33XX_GLIBC_ARCH_DEFS       = -D__RK33XX_GLIBC__=1
     5         kx RK33XX_GLIBC_ARCH_FLAGS      = -march=armv8-a -mcpu=cortex-a53 -mabi=lp64 -fomit-frame-pointer
     5         kx 
     5         kx RK33XX_GLIBC_SYSROOT         = sys-root
     5         kx RK33XX_GLIBC_DEST_SYSROOT    = yes
     5         kx 
     5         kx RK33XX_GLIBC_HAS_PATCHELF    = yes
     5         kx 
     5         kx RK33XX_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_RK3328_CC)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= RK339X-GLIBC ======================================================
     5         kx 
     5         kx TOOLCHAIN_RK339X_GLIBC       = rk339x-glibc
     5         kx 
     5         kx RK339X_GLIBC_ARCH            = aarch64-rk339x-linux-gnu
     5         kx RK339X_GLIBC_VERSION         = 1.9.2
     5         kx RK339X_GLIBC_DIR             = aarch64-RK339X-linux-glibc
     5         kx RK339X_GLIBC_PATH            = $(TOOLCHAINS_BASE_PATH)/$(RK339X_GLIBC_DIR)
     5         kx RK339X_GLIBC_TARBALL         = $(TOOLCHAINS_FTP_BASE)/$(RK339X_GLIBC_VERSION)/$(RK339X_GLIBC_DIR)-$(RK339X_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx RK339X_GLIBC_ARCH_DEFS       = -D__RK339X_GLIBC__=1
     5         kx RK339X_GLIBC_ARCH_FLAGS      = -march=armv8-a -mcpu=cortex-a72.cortex-a53 -mabi=lp64 -fomit-frame-pointer
     5         kx 
     5         kx RK339X_GLIBC_SYSROOT         = sys-root
     5         kx RK339X_GLIBC_DEST_SYSROOT    = yes
     5         kx 
     5         kx RK339X_GLIBC_HAS_PATCHELF    = yes
     5         kx 
     5         kx RK339X_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_KHADAS_EDGE) $(HARDWARE_LEEZ_P710)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= S8XX-GLIBC =========================================================
     5         kx 
     5         kx TOOLCHAIN_S8XX_GLIBC         = s8xx-glibc
     5         kx 
     5         kx S8XX_GLIBC_ARCH              = arm-s8xx-linux-gnueabihf
     5         kx S8XX_GLIBC_VERSION           = 1.9.2
     5         kx S8XX_GLIBC_DIR               = arm-S8XX-linux-glibc
     5         kx S8XX_GLIBC_PATH              = $(TOOLCHAINS_BASE_PATH)/$(S8XX_GLIBC_DIR)
     5         kx S8XX_GLIBC_TARBALL           = $(TOOLCHAINS_FTP_BASE)/$(S8XX_GLIBC_VERSION)/$(S8XX_GLIBC_DIR)-$(S8XX_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx S8XX_GLIBC_ARCH_DEFS         = -D__AMLOGIC_S8XX_GLIBC__=1
     5         kx S8XX_GLIBC_ARCH_FLAGS        = -march=armv7-a -mtune=cortex-a5 -mfpu=neon -mfloat-abi=hard -mfpu=neon -mabi=aapcs-linux -fomit-frame-pointer
     5         kx 
     5         kx S8XX_GLIBC_SYSROOT           = sys-root
     5         kx S8XX_GLIBC_DEST_SYSROOT      = yes
     5         kx 
     5         kx S8XX_GLIBC_HAS_PATCHELF      = yes
     5         kx 
     5         kx S8XX_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_M201) $(HARDWARE_MXV)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= S9XX-GLIBC =========================================================
     5         kx 
     5         kx TOOLCHAIN_S9XX_GLIBC         = s9xx-glibc
     5         kx 
     5         kx S9XX_GLIBC_ARCH              = aarch64-s9xx-linux-gnu
     5         kx S9XX_GLIBC_VERSION           = 1.9.2
     5         kx S9XX_GLIBC_DIR               = aarch64-S9XX-linux-glibc
     5         kx S9XX_GLIBC_PATH              = $(TOOLCHAINS_BASE_PATH)/$(S9XX_GLIBC_DIR)
     5         kx S9XX_GLIBC_TARBALL           = $(TOOLCHAINS_FTP_BASE)/$(S9XX_GLIBC_VERSION)/$(S9XX_GLIBC_DIR)-$(S9XX_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx S9XX_GLIBC_ARCH_DEFS         = -D__AMLOGIC_S9XX_GLIBC__=1
     5         kx S9XX_GLIBC_ARCH_FLAGS        = -march=armv8-a -mcpu=cortex-a53 -mabi=lp64 -fomit-frame-pointer
     5         kx 
     5         kx S9XX_GLIBC_SYSROOT           = sys-root
     5         kx S9XX_GLIBC_DEST_SYSROOT      = yes
     5         kx 
     5         kx S9XX_GLIBC_HAS_PATCHELF      = yes
     5         kx 
     5         kx S9XX_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_P201) $(HARDWARE_NEXBOX_A95X) \
     5         kx                                                  $(HARDWARE_ODROID_C2)   \
     5         kx                                 $(HARDWARE_P212) $(HARDWARE_KHADAS_VIM)  \
     5         kx                                 $(HARDWARE_Q201) $(HARDWARE_ENYBOX_X2)   \
     5         kx                                                  $(HARDWARE_KHADAS_VIM2)
     5         kx 
     5         kx 
     5         kx # ======= A311X-GLIBC ========================================================
     5         kx 
     5         kx TOOLCHAIN_A311X_GLIBC        = a311x-glibc
     5         kx 
     5         kx A311X_GLIBC_ARCH             = aarch64-a311x-linux-gnu
     5         kx A311X_GLIBC_VERSION          = 1.9.2
     5         kx A311X_GLIBC_DIR              = aarch64-A311X-linux-glibc
     5         kx A311X_GLIBC_PATH             = $(TOOLCHAINS_BASE_PATH)/$(A311X_GLIBC_DIR)
     5         kx A311X_GLIBC_TARBALL          = $(TOOLCHAINS_FTP_BASE)/$(A311X_GLIBC_VERSION)/$(A311X_GLIBC_DIR)-$(A311X_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx A311X_GLIBC_ARCH_DEFS        = -D__AMLOGIC_A311X_GLIBC__=1
     5         kx A311X_GLIBC_ARCH_FLAGS       = -march=armv8-a -mcpu=cortex-a73.cortex-a53 -mabi=lp64 -fomit-frame-pointer
     5         kx 
     5         kx A311X_GLIBC_SYSROOT          = sys-root
     5         kx A311X_GLIBC_DEST_SYSROOT     = yes
     5         kx 
     5         kx A311X_GLIBC_HAS_PATCHELF     = yes
     5         kx 
     5         kx A311X_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_KHADAS_VIM3)
     5         kx 
     5         kx 
     5         kx # ======= AT91SAM7S-NEWLIB ===================================================
     5         kx 
     5         kx TOOLCHAIN_AT91SAM7S_NEWLIB   = at91sam7s-newlib
     5         kx 
     5         kx AT91SAM7S_NEWLIB_ARCH        = arm-at91sam7s-eabi
     5         kx AT91SAM7S_NEWLIB_VERSION     = 1.9.2
     5         kx AT91SAM7S_NEWLIB_DIR         = arm-AT91SAM7S-eabi-newlib
     5         kx AT91SAM7S_NEWLIB_PATH        = $(TOOLCHAINS_BASE_PATH)/$(AT91SAM7S_NEWLIB_DIR)
     5         kx AT91SAM7S_NEWLIB_TARBALL     = $(TOOLCHAINS_FTP_BASE)/$(AT91SAM7S_NEWLIB_VERSION)/$(AT91SAM7S_NEWLIB_DIR)-$(AT91SAM7S_NEWLIB_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx AT91SAM7S_NEWLIB_ARCH_DEFS   = -D__AT91SAM7S__=1
     5         kx AT91SAM7S_NEWLIB_ARCH_FLAGS  = -mcpu=arm7tdmi -mbig-endian -fomit-frame-pointer
     5         kx 
     5         kx AT91SAM7S_NEWLIB_HARDWARE_VARIANTS := $(HARDWARE_AT91S)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= IMX6-GLIBC ======================================================
     5         kx 
     5         kx TOOLCHAIN_IMX6_GLIBC         = imx6-glibc
     5         kx 
     5         kx IMX6_GLIBC_ARCH              = arm-imx6-linux-gnueabihf
     5         kx IMX6_GLIBC_VERSION           = 1.9.2
     5         kx IMX6_GLIBC_DIR               = arm-IMX6-linux-glibc
     5         kx IMX6_GLIBC_PATH              = $(TOOLCHAINS_BASE_PATH)/$(IMX6_GLIBC_DIR)
     5         kx IMX6_GLIBC_TARBALL           = $(TOOLCHAINS_FTP_BASE)/$(IMX6_GLIBC_VERSION)/$(IMX6_GLIBC_DIR)-$(IMX6_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx IMX6_GLIBC_ARCH_DEFS         = -D__IMX6_GLIBC__=1
     5         kx IMX6_GLIBC_ARCH_FLAGS        = -march=armv7-a -mtune=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard -mabi=aapcs-linux -fomit-frame-pointer
     5         kx 
     5         kx IMX6_GLIBC_SYSROOT           = sys-root
     5         kx IMX6_GLIBC_DEST_SYSROOT      = yes
     5         kx 
     5         kx IMX6_GLIBC_HAS_PATCHELF      = yes
     5         kx 
     5         kx IMX6_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_NIT6Q) $(HARDWARE_OKMX6DL_C) $(HARDWARE_OKMX6Q_C)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= IMX6ULL-GLIBC ======================================================
     5         kx 
     5         kx TOOLCHAIN_IMX6ULL_GLIBC      = imx6ull-glibc
     5         kx 
     5         kx IMX6ULL_GLIBC_ARCH           = arm-imx6ull-linux-gnueabihf
     5         kx IMX6ULL_GLIBC_VERSION        = 1.9.2
     5         kx IMX6ULL_GLIBC_DIR            = arm-IMX6ULL-linux-glibc
     5         kx IMX6ULL_GLIBC_PATH           = $(TOOLCHAINS_BASE_PATH)/$(IMX6ULL_GLIBC_DIR)
     5         kx IMX6ULL_GLIBC_TARBALL        = $(TOOLCHAINS_FTP_BASE)/$(IMX6ULL_GLIBC_VERSION)/$(IMX6ULL_GLIBC_DIR)-$(IMX6ULL_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx IMX6ULL_GLIBC_ARCH_DEFS      = -D__IMX6ULL_GLIBC__=1
     5         kx IMX6ULL_GLIBC_ARCH_FLAGS     = -march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -mabi=aapcs-linux -fomit-frame-pointer
     5         kx 
     5         kx IMX6ULL_GLIBC_SYSROOT        = sys-root
     5         kx IMX6ULL_GLIBC_DEST_SYSROOT   = yes
     5         kx 
     5         kx IMX6ULL_GLIBC_HAS_PATCHELF   = yes
     5         kx 
     5         kx IMX6ULL_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_SK6ULL)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= AM335X-GLIBC =======================================================
     5         kx 
     5         kx TOOLCHAIN_AM335X_GLIBC       = am335x-glibc
     5         kx 
     5         kx AM335X_GLIBC_ARCH            = arm-am335x-linux-gnueabihf
     5         kx AM335X_GLIBC_VERSION         = 1.9.2
     5         kx AM335X_GLIBC_DIR             = arm-AM335X-linux-glibc
     5         kx AM335X_GLIBC_PATH            = $(TOOLCHAINS_BASE_PATH)/$(AM335X_GLIBC_DIR)
     5         kx AM335X_GLIBC_TARBALL         = $(TOOLCHAINS_FTP_BASE)/$(AM335X_GLIBC_VERSION)/$(AM335X_GLIBC_DIR)-$(AM335X_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx AM335X_GLIBC_ARCH_DEFS       = -D__AM335X_GLIBC__=1
     5         kx AM335X_GLIBC_ARCH_FLAGS      = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard -mabi=aapcs-linux -fomit-frame-pointer
     5         kx 
     5         kx AM335X_GLIBC_SYSROOT         = sys-root
     5         kx AM335X_GLIBC_DEST_SYSROOT    = yes
     5         kx 
     5         kx AM335X_GLIBC_HAS_PATCHELF    = yes
     5         kx 
     5         kx AM335X_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_BONE_BLACK)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= OMAP543X-GLIBC =====================================================
     5         kx 
     5         kx TOOLCHAIN_OMAP543X_GLIBC     = omap543x-glibc
     5         kx 
     5         kx OMAP543X_GLIBC_ARCH          = arm-omap543x-linux-gnueabihf
     5         kx OMAP543X_GLIBC_VERSION       = 1.9.2
     5         kx OMAP543X_GLIBC_DIR           = arm-OMAP543X-linux-glibc
     5         kx OMAP543X_GLIBC_PATH          = $(TOOLCHAINS_BASE_PATH)/$(OMAP543X_GLIBC_DIR)
     5         kx OMAP543X_GLIBC_TARBALL       = $(TOOLCHAINS_FTP_BASE)/$(OMAP543X_GLIBC_VERSION)/$(OMAP543X_GLIBC_DIR)-$(OMAP543X_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx OMAP543X_GLIBC_ARCH_DEFS     = -D__OMAP543X_GLIBC__=1
     5         kx OMAP543X_GLIBC_ARCH_FLAGS    = -march=armv7ve -mtune=cortex-a15 -mfpu=neon-vfpv4 -mfloat-abi=hard -mabi=aapcs-linux -fomit-frame-pointer
     5         kx 
     5         kx OMAP543X_GLIBC_SYSROOT       = sys-root
     5         kx OMAP543X_GLIBC_DEST_SYSROOT  = yes
     5         kx 
     5         kx OMAP543X_GLIBC_HAS_PATCHELF  = yes
     5         kx 
     5         kx OMAP543X_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_OMAP5UEVM) $(HARDWARE_DRA7XXEVM)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= JZ47XX-GLIBC =======================================================
     5         kx 
     5         kx TOOLCHAIN_JZ47XX_GLIBC       = jz47xx-glibc
     5         kx 
     5         kx JZ47XX_GLIBC_ARCH            = mipsel-jz47xx-linux-gnu
     5         kx JZ47XX_GLIBC_VERSION         = 1.9.2
     5         kx JZ47XX_GLIBC_DIR             = mipsel-JZ47XX-linux-glibc
     5         kx JZ47XX_GLIBC_PATH            = $(TOOLCHAINS_BASE_PATH)/$(JZ47XX_GLIBC_DIR)
     5         kx JZ47XX_GLIBC_TARBALL         = $(TOOLCHAINS_FTP_BASE)/$(JZ47XX_GLIBC_VERSION)/$(JZ47XX_GLIBC_DIR)-$(JZ47XX_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx JZ47XX_GLIBC_ARCH_DEFS       = -D__JZ47XX_GLIBC__=1
     5         kx JZ47XX_GLIBC_ARCH_FLAGS      = -march=mips32r2 -mhard-float
     5         kx JZ47XX_GLIBC_OPTIMIZATION    = -O2
     5         kx 
     5         kx JZ47XX_GLIBC_SYSROOT         = sys-root
     5         kx JZ47XX_GLIBC_DEST_SYSROOT    = yes
     5         kx 
     5         kx JZ47XX_GLIBC_HAS_PATCHELF    = yes
     5         kx 
     5         kx JZ47XX_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_CI20)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= P5600-GLIBC =======================================================
     5         kx 
     5         kx TOOLCHAIN_P5600_GLIBC        = p5600-glibc
     5         kx 
     5         kx P5600_GLIBC_ARCH             = mipsel-p5600-linux-gnu
     5         kx P5600_GLIBC_VERSION          = 1.9.2
     5         kx P5600_GLIBC_DIR              = mipsel-P5600-linux-glibc
     5         kx P5600_GLIBC_PATH             = $(TOOLCHAINS_BASE_PATH)/$(P5600_GLIBC_DIR)
     5         kx P5600_GLIBC_TARBALL          = $(TOOLCHAINS_FTP_BASE)/$(P5600_GLIBC_VERSION)/$(P5600_GLIBC_DIR)-$(P5600_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx P5600_GLIBC_ARCH_DEFS        = -D__P5600_GLIBC__=1
     5         kx P5600_GLIBC_ARCH_FLAGS       = -march=mips32r5 -mtune=p5600 -mhard-float
     5         kx P5600_GLIBC_OPTIMIZATION     = -O2
     5         kx 
     5         kx P5600_GLIBC_SYSROOT          = sys-root
     5         kx P5600_GLIBC_DEST_SYSROOT     = yes
     5         kx 
     5         kx P5600_GLIBC_HAS_PATCHELF     = yes
     5         kx 
     5         kx P5600_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_BAIKAL_T1)
     5         kx 
     5         kx 
     5         kx # ======= M1000-GLIBC =======================================================
     5         kx 
     5         kx TOOLCHAIN_M1000_GLIBC        = m1000-glibc
     5         kx 
     5         kx M1000_GLIBC_ARCH             = aarch64-m1000-linux-gnu
     5         kx M1000_GLIBC_VERSION          = 1.9.2
     5         kx M1000_GLIBC_DIR              = aarch64-M1000-linux-glibc
     5         kx M1000_GLIBC_PATH             = $(TOOLCHAINS_BASE_PATH)/$(M1000_GLIBC_DIR)
     5         kx M1000_GLIBC_TARBALL          = $(TOOLCHAINS_FTP_BASE)/$(M1000_GLIBC_VERSION)/$(M1000_GLIBC_DIR)-$(M1000_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx M1000_GLIBC_ARCH_DEFS        = -D__M1000_GLIBC__=1
     5         kx M1000_GLIBC_ARCH_FLAGS       = -march=armv8-a -mcpu=cortex-a57 -mabi=lp64 -fomit-frame-pointer
     5         kx 
     5         kx M1000_GLIBC_SYSROOT          = sys-root
     5         kx M1000_GLIBC_DEST_SYSROOT     = yes
     5         kx 
     5         kx M1000_GLIBC_HAS_PATCHELF     = yes
     5         kx 
     5         kx M1000_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_BAIKAL_M1)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= POWER8-GLIBC ======================================================
     5         kx 
     5         kx TOOLCHAIN_POWER8_GLIBC       = power8-glibc
     5         kx 
     5         kx POWER8_GLIBC_ARCH            = ppc64-power8-linux-gnu
     5         kx POWER8_GLIBC_VERSION         = 1.9.2
     5         kx POWER8_GLIBC_DIR             = ppc64-POWER8-linux-glibc
     5         kx POWER8_GLIBC_PATH            = $(TOOLCHAINS_BASE_PATH)/$(POWER8_GLIBC_DIR)
     5         kx POWER8_GLIBC_TARBALL         = $(TOOLCHAINS_FTP_BASE)/$(POWER8_GLIBC_VERSION)/$(POWER8_GLIBC_DIR)-$(POWER8_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx POWER8_GLIBC_ARCH_DEFS       = -D__POWER8_GLIBC__=1
     5         kx POWER8_GLIBC_ARCH_FLAGS      = -mcpu=power8 -mlong-double-128
     5         kx POWER8_GLIBC_OPTIMIZATION    = -O3
     5         kx 
     5         kx POWER8_GLIBC_SYSROOT         = sys-root
     5         kx POWER8_GLIBC_DEST_SYSROOT    = yes
     5         kx 
     5         kx POWER8_GLIBC_HAS_PATCHELF    = yes
     5         kx 
     5         kx POWER8_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_S824L) $(HARDWARE_VESNIN)
     5         kx 
     5         kx 
     5         kx # ======= POWER8LE-GLIBC ====================================================
     5         kx 
     5         kx TOOLCHAIN_POWER8LE_GLIBC     = power8le-glibc
     5         kx 
     5         kx POWER8LE_GLIBC_ARCH          = ppc64le-power8-linux-gnu
     5         kx POWER8LE_GLIBC_VERSION       = 1.9.2
     5         kx POWER8LE_GLIBC_DIR           = ppc64le-POWER8-linux-glibc
     5         kx POWER8LE_GLIBC_PATH          = $(TOOLCHAINS_BASE_PATH)/$(POWER8LE_GLIBC_DIR)
     5         kx POWER8LE_GLIBC_TARBALL       = $(TOOLCHAINS_FTP_BASE)/$(POWER8LE_GLIBC_VERSION)/$(POWER8LE_GLIBC_DIR)-$(POWER8LE_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx POWER8LE_GLIBC_ARCH_DEFS     = -D__POWER8LE_GLIBC__=1
     5         kx POWER8LE_GLIBC_ARCH_FLAGS    = -mcpu=power8 -mlong-double-128
     5         kx POWER8LE_GLIBC_OPTIMIZATION  = -O3
     5         kx 
     5         kx POWER8LE_GLIBC_SYSROOT       = sys-root
     5         kx POWER8LE_GLIBC_DEST_SYSROOT  = yes
     5         kx 
     5         kx POWER8LE_GLIBC_HAS_PATCHELF  = yes
     5         kx 
     5         kx POWER8LE_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_S824L_LSB) $(HARDWARE_VESNIN_LSB)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= POWER9-GLIBC ======================================================
     5         kx 
     5         kx TOOLCHAIN_POWER9_GLIBC       = power9-glibc
     5         kx 
     5         kx POWER9_GLIBC_ARCH            = ppc64-power9-linux-gnu
     5         kx POWER9_GLIBC_VERSION         = 1.9.2
     5         kx POWER9_GLIBC_DIR             = ppc64-POWER9-linux-glibc
     5         kx POWER9_GLIBC_PATH            = $(TOOLCHAINS_BASE_PATH)/$(POWER9_GLIBC_DIR)
     5         kx POWER9_GLIBC_TARBALL         = $(TOOLCHAINS_FTP_BASE)/$(POWER9_GLIBC_VERSION)/$(POWER9_GLIBC_DIR)-$(POWER9_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx POWER9_GLIBC_ARCH_DEFS       = -D__POWER9_GLIBC__=1
     5         kx POWER9_GLIBC_ARCH_FLAGS      = -mcpu=power9 -mlong-double-128
     5         kx POWER9_GLIBC_OPTIMIZATION    = -O3
     5         kx 
     5         kx POWER9_GLIBC_SYSROOT         = sys-root
     5         kx POWER9_GLIBC_DEST_SYSROOT    = yes
     5         kx 
     5         kx POWER9_GLIBC_HAS_PATCHELF    = yes
     5         kx 
     5         kx POWER9_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_TL2WK2) $(HARDWARE_TL2SV2)
     5         kx 
     5         kx 
     5         kx # ======= POWER9LE-GLIBC ====================================================
     5         kx 
     5         kx TOOLCHAIN_POWER9LE_GLIBC     = power9le-glibc
     5         kx 
     5         kx POWER9LE_GLIBC_ARCH          = ppc64le-power9-linux-gnu
     5         kx POWER9LE_GLIBC_VERSION       = 1.9.2
     5         kx POWER9LE_GLIBC_DIR           = ppc64le-POWER9-linux-glibc
     5         kx POWER9LE_GLIBC_PATH          = $(TOOLCHAINS_BASE_PATH)/$(POWER9LE_GLIBC_DIR)
     5         kx POWER9LE_GLIBC_TARBALL       = $(TOOLCHAINS_FTP_BASE)/$(POWER9LE_GLIBC_VERSION)/$(POWER9LE_GLIBC_DIR)-$(POWER9LE_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx POWER9LE_GLIBC_ARCH_DEFS     = -D__POWER9LE_GLIBC__=1
     5         kx POWER9LE_GLIBC_ARCH_FLAGS    = -mcpu=power9 -mlong-double-128
     5         kx POWER9LE_GLIBC_OPTIMIZATION  = -O3
     5         kx 
     5         kx POWER9LE_GLIBC_SYSROOT       = sys-root
     5         kx POWER9LE_GLIBC_DEST_SYSROOT  = yes
     5         kx 
     5         kx POWER9LE_GLIBC_HAS_PATCHELF  = yes
     5         kx 
     5         kx POWER9LE_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_TL2WK2_LSB) $(HARDWARE_TL2SV2_LSB)
     5         kx 
     5         kx 
     5         kx 
     5         kx # ======= RISCV64-GLIBC =====================================================
     5         kx 
     5         kx TOOLCHAIN_RISCV64_GLIBC      = riscv64-glibc
     5         kx 
     5         kx RISCV64_GLIBC_ARCH           = riscv64-rv64gc-linux-gnu
     5         kx RISCV64_GLIBC_VERSION        = 1.9.2
     5         kx RISCV64_GLIBC_DIR            = riscv64-RV64GC-linux-glibc
     5         kx RISCV64_GLIBC_PATH           = $(TOOLCHAINS_BASE_PATH)/$(RISCV64_GLIBC_DIR)
     5         kx RISCV64_GLIBC_TARBALL        = $(TOOLCHAINS_FTP_BASE)/$(RISCV64_GLIBC_VERSION)/$(RISCV64_GLIBC_DIR)-$(RISCV64_GLIBC_VERSION).$(TARBALL_SUFFIX)
     5         kx 
     5         kx RISCV64_GLIBC_ARCH_DEFS      = -D__RV64GC_GLIBC__=1
     5         kx RISCV64_GLIBC_ARCH_FLAGS     = -march=rv64gc -mcmodel=medany
     5         kx RISCV64_GLIBC_OPTIMIZATION   = -O3
     5         kx 
     5         kx RISCV64_GLIBC_SYSROOT        = sys-root
     5         kx RISCV64_GLIBC_DEST_SYSROOT   = yes
     5         kx 
     5         kx RISCV64_GLIBC_HAS_PATCHELF   = yes
     5         kx 
     5         kx RISCV64_GLIBC_HARDWARE_VARIANTS := $(HARDWARE_SIFIVE_U740)
     5         kx 
     5         kx 
     5         kx 
     5         kx CONSTANTS_MK=1
     5         kx endif