COMPONENT_TARGETS = $(TOOLCHAIN_A1X_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_A2X_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_H3_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_H5_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_IMX6_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_IMX6ULL_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_JZ47XX_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_P5600_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_M1000_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_OMAP543X_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_AM335X_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_RK328X_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_S8XX_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_S9XX_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_A9XX_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_A311X_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_RK33XX_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_RK339X_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_RK358X_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_A33XX_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_PPC8_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_PPC9_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_POWER8_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_POWER9_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_POWER8LE_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_POWER9LE_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_RISCV64_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_I586_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_I686_GLIBC)
COMPONENT_TARGETS += $(TOOLCHAIN_X86_64_GLIBC)
FLAVOURS = compat next
include ../../../build-system/config.mk
SOURCE_REQUIRES = sources/crypt
ifeq ($(FLAVOUR),compat)
REQUIRES = core/glibc/2.41^full
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC))
REQUIRES += core/crypt/4.4.38-x86_32^compat
else
ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) \
$(TOOLCHAIN_POWER9_GLIBC)),)
REQUIRES += core/crypt/4.4.38-ppc32^compat
endif
endif
endif
ifeq ($(FLAVOUR),next)
REQUIRES = core/crypt/4.4.38^compat
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC))
REQUIRES += core/crypt/4.4.38-x86_32^next
else
ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) \
$(TOOLCHAIN_POWER9_GLIBC)),)
REQUIRES += core/crypt/4.4.38-ppc32^next
endif
endif
endif
# ======= __END_OF_REQUIRES__ =======
tar_xz_archive = $(SRC_PACKAGE_PATH)/crypt/libxcrypt/libxcrypt-4.4.38.tar.xz
SRC_ARCHIVE = $(tar_xz_archive)
SRC_DIR = $(TARGET_BUILD_DIR)/libxcrypt-4.4.38
src_dir_name = libxcrypt-4.4.38
src_done = $(TARGET_BUILD_DIR)/.source-done
PATCHES = PATCHES
build_compat_dir = $(TARGET_BUILD_DIR)/build-compat
build_next_dir = $(TARGET_BUILD_DIR)/build-next
sysroot_dir = $(TOOLCHAIN_PATH)/$(TARGET)/sys-root
build_compat_target = $(TARGET_BUILD_DIR)/.compat-built
compat_target = $(TARGET_BUILD_DIR)/.compat-installed
build_next_target = $(TARGET_BUILD_DIR)/.next-built
next_target = $(TARGET_BUILD_DIR)/.next-installed
ifeq ($(FLAVOUR),compat)
BUILD_TARGETS = $(build_compat_target)
BUILD_TARGETS += $(compat_target)
endif
ifeq ($(FLAVOUR),next)
BUILD_TARGETS = $(build_next_target)
BUILD_TARGETS += $(next_target)
endif
include ../../../build-system/core.mk
env_sysroot = DESTDIR=$(sysroot_dir)
CC = $(CCACHE)$(TOOLCHAIN_PATH)/bin/$(TARGET)-gcc
CXX = $(CCACHE)$(TOOLCHAIN_PATH)/bin/$(TARGET)-g++
environment = AS=$(TOOLCHAIN_PATH)/bin/$(TARGET)-as
environment += LD=$(TOOLCHAIN_PATH)/bin/$(TARGET)-ld
environment += CC="$(CC)"
environment += CXX="$(CXX)"
environment += AR=$(TOOLCHAIN_PATH)/bin/$(TARGET)-ar
environment += RANLIB=$(TOOLCHAIN_PATH)/bin/$(TARGET)-ranlib
environment += PATH=$(TOOLCHAIN_PATH)/bin:$(PATH)
LIBSUFFIX =
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_A1X_GLIBC))
environment += CFLAGS="-g -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_A2X_GLIBC))
environment += CFLAGS="-g -O3 -march=armv7ve -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_H3_GLIBC))
environment += CFLAGS="-g -O3 -march=armv7ve -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_H5_GLIBC))
environment += CFLAGS="-g -O3 -march=armv8-a -mcpu=cortex-a53 -mabi=lp64"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_IMX6_GLIBC))
environment += CFLAGS="-g -O3 -march=armv7-a -mtune=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_IMX6ULL_GLIBC))
environment += CFLAGS="-g -O3 -march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC))
environment += CFLAGS="-g -O2 -march=mips32r2 -mhard-float"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_P5600_GLIBC))
environment += CFLAGS="-g -O2 -march=mips32r5 -mtune=p5600 -mhard-float"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_M1000_GLIBC))
environment += CFLAGS="-g -O3 -march=armv8-a -mcpu=cortex-a57 -mabi=lp64"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_OMAP543X_GLIBC))
environment += CFLAGS="-g -O3 -march=armv7ve -mtune=cortex-a15 -mfpu=neon-vfpv4 -mfloat-abi=hard"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_AM335X_GLIBC))
environment += CFLAGS="-g -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_RK328X_GLIBC))
environment += CFLAGS="-g -O3 -march=armv7ve -mtune=cortex-a17 -mfpu=neon-vfpv4 -mfloat-abi=hard"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_S8XX_GLIBC))
environment += CFLAGS="-g -O3 -march=armv7-a -mtune=cortex-a5 -mfpu=neon -mfloat-abi=hard"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_S9XX_GLIBC))
environment += CFLAGS="-g -O3 -march=armv8-a -mcpu=cortex-a53 -mabi=lp64"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_A9XX_GLIBC))
environment += CFLAGS="-g -O3 -march=armv8-a -mfpu=neon-fp-armv8 -mfloat-abi=hard"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_A311X_GLIBC))
environment += CFLAGS="-g -O3 -march=armv8-a -mcpu=cortex-a73.cortex-a53 -mabi=lp64"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_RK33XX_GLIBC))
environment += CFLAGS="-g -O3 -march=armv8-a -mcpu=cortex-a53 -mabi=lp64"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_RK339X_GLIBC))
environment += CFLAGS="-g -O3 -march=armv8-a -mcpu=cortex-a72.cortex-a53 -mabi=lp64"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_RK358X_GLIBC))
environment += CFLAGS="-g -O3 -march=armv8.2-a -mtune=cortex-a76.cortex-a55 -mabi=lp64"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_A33XX_GLIBC))
environment += CFLAGS="-g -O3 -march=armv8-a -mfpu=neon-fp-armv8 -mfloat-abi=hard"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_PPC8_GLIBC))
environment += CFLAGS="-g -O3 -mcpu=power8 -mlong-double-128"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_PPC9_GLIBC))
environment += CFLAGS="-g -O3 -mcpu=power9 -mlong-double-128"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC))
environment += CFLAGS="-g -O3 -mcpu=power8 -mlong-double-128"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_POWER9_GLIBC))
environment += CFLAGS="-g -O3 -mcpu=power9 -mlong-double-128"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_POWER8LE_GLIBC))
environment += CFLAGS="-g -O3 -mcpu=power8 -mlong-double-128"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_POWER9LE_GLIBC))
environment += CFLAGS="-g -O3 -mcpu=power9 -mlong-double-128"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_RISCV64_GLIBC))
environment += CFLAGS="-g -O3 -march=rv64gc -mcmodel=medany"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_I586_GLIBC))
environment += CFLAGS="-g -O3 -march=i586 -mtune=i586"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_I686_GLIBC))
environment += CFLAGS="-g -O3"
endif
ifeq ($(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC))
environment += CFLAGS="-g -O3"
endif
extra_configure_switches = --libdir=/usr/lib$(LIBSUFFIX)
extra_configure_switches += --mandir=/usr/share/man
ifeq ($(FLAVOUR),compat)
extra_configure_switches += --enable-hashes=strong,glibc
extra_configure_switches += --enable-obsolete-api=glibc
extra_configure_switches += --disable-feature-tokens
endif
ifeq ($(FLAVOUR),next)
extra_configure_switches += --enable-hashes=strong,glibc
extra_configure_switches += --enable-obsolete-api=no
extra_configure_switches += --disable-feature-tokens
extra_configure_switches += --enable-static=no
endif
$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
$(UNPACK_SRC_ARCHIVE)
$(APPLY_PATCHES)
@touch $@
$(build_compat_target): $(src_done)
@mkdir -p $(build_compat_dir)
@cd $(build_compat_dir) && $(env_sysroot) $(environment) ../$(src_dir_name)/configure \
--prefix=/usr \
--build=$(BUILD) \
--host=$(TARGET) \
$(extra_configure_switches)
@cd $(build_compat_dir) && $(environment) $(MAKE) all
@touch $@
$(build_next_target): $(src_done)
@mkdir -p $(build_next_dir)
@cd $(build_next_dir) && $(env_sysroot) $(environment) ../$(src_dir_name)/configure \
--prefix=/usr \
--build=$(BUILD) \
--host=$(TARGET) \
$(extra_configure_switches)
@cd $(build_next_dir) && $(environment) $(MAKE) all
@touch $@
$(compat_target): $(build_compat_target)
@mkdir -p $(sysroot_dir)/{,usr/}lib$(LIBSUFFIX)
@cd $(build_compat_dir) && $(environment) $(MAKE) -j1 install $(env_sysroot)
@( cd $(sysroot_dir)/usr/lib$(LIBSUFFIX) ; \
rm -f *.la ; \
rm libcrypt.so ; \
mv libcrypt.so* ../../lib$(LIBSUFFIX) ; \
ln -sf ../../lib$(LIBSUFFIX)/libcrypt.so.1 libcrypt.so ; \
)
@echo " $(subst $(TOP_BUILD_DIR_ABS)/,,$(CURDIR))$(if $(FLAVOUR),:$(FLAVOUR),)" >> $(TOOLCHAIN_PATH)/README
@touch $@
$(next_target): $(build_next_target)
@mkdir -p $(sysroot_dir)/{,usr/}lib$(LIBSUFFIX)
@cd $(build_next_dir) && $(environment) $(MAKE) -j1 install $(env_sysroot)
@( cd $(sysroot_dir)/usr/lib$(LIBSUFFIX) ; \
rm -f *.la ; \
rm libcrypt.so ; \
mv libcrypt.so* ../../lib$(LIBSUFFIX) ; \
ln -sf ../../lib$(LIBSUFFIX)/libcrypt.so.2 libcrypt.so ; \
)
@echo " $(subst $(TOP_BUILD_DIR_ABS)/,,$(CURDIR))$(if $(FLAVOUR),:$(FLAVOUR),)" >> $(TOOLCHAIN_PATH)/README
@touch $@