X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_eal%2Flinuxapp%2Feal%2FMakefile;h=965da6e3064d0fa19bcdad1eafa828646378d848;hb=d5c7a09edbe709b50ecde4269b80b9a07627c876;hp=140d1acfa7959037cf08ccd4de3328ccbb7b5edd;hpb=3dbc565e81a06021966b8c08b1e1a45d462ad7fc;p=dpdk.git diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile index 140d1acfa7..965da6e306 100644 --- a/lib/librte_eal/linuxapp/eal/Makefile +++ b/lib/librte_eal/linuxapp/eal/Makefile @@ -34,7 +34,7 @@ include $(RTE_SDK)/mk/rte.vars.mk LIB = librte_eal.a ARCH_DIR ?= $(RTE_ARCH) -EXPORT_MAP := rte_eal_version.map +EXPORT_MAP := ../../rte_eal_version.map VPATH += $(RTE_SDK)/lib/librte_eal/common/arch/$(ARCH_DIR) LIBABIVER := 6 @@ -103,6 +103,24 @@ SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += rte_cpuflags.c SRCS-$(CONFIG_RTE_ARCH_X86) += rte_spinlock.c SRCS-y += rte_cycles.c +# for run-time dispatch of memcpy +SRCS-$(CONFIG_RTE_ARCH_X86) += rte_memcpy.c +SRCS-$(CONFIG_RTE_ARCH_X86) += rte_memcpy_sse.c + +# if the compiler supports AVX512, add avx512 file +ifneq ($(findstring CC_SUPPORT_AVX512F,$(MACHINE_CFLAGS)),) +SRCS-$(CONFIG_RTE_ARCH_X86) += rte_memcpy_avx512f.c +CFLAGS_rte_memcpy_avx512f.o += -mavx512f +CFLAGS_rte_memcpy_avx512f.o += -DRTE_MACHINE_CPUFLAG_AVX512F +endif + +# if the compiler supports AVX2, add avx2 file +ifneq ($(findstring CC_SUPPORT_AVX2,$(MACHINE_CFLAGS)),) +SRCS-$(CONFIG_RTE_ARCH_X86) += rte_memcpy_avx2.c +CFLAGS_rte_memcpy_avx2.o += -mavx2 +CFLAGS_rte_memcpy_avx2.o += -DRTE_MACHINE_CPUFLAG_AVX2 +endif + CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST) CFLAGS_eal.o := -D_GNU_SOURCE @@ -128,7 +146,7 @@ ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) CFLAGS_eal_thread.o += -Wno-return-type endif -INC := rte_interrupts.h rte_kni_common.h +INC := rte_kni_common.h SYMLINK-$(CONFIG_RTE_EXEC_ENV_LINUXAPP)-include/exec-env := \ $(addprefix include/exec-env/,$(INC))