build: remove makefiles

A decision was made [1] to no longer support Make in DPDK, this patch
removes all Makefiles that do not make use of pkg-config, along with
the mk directory previously used by make.

[1] https://mails.dpdk.org/archives/dev/2020-April/162839.html

Signed-off-by: Ciara Power <ciara.power@intel.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
This commit is contained in:
Ciara Power 2020-09-03 16:26:50 +01:00 committed by Thomas Monjalon
parent 05b6eee7bd
commit 3cc6ecfdfe
316 changed files with 26 additions and 14324 deletions

View File

@ -1,17 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2010-2015 Intel Corporation
#
# Head Makefile for compiling rte SDK
#
RTE_SDK := $(CURDIR)
export RTE_SDK
#
# directory list
#
ROOTDIRS-y := buildtools lib kernel drivers app
include $(RTE_SDK)/mk/rte.sdkroot.mk

View File

@ -90,8 +90,6 @@ F: devtools/checkpatches.sh
F: devtools/get-maintainer.sh
F: devtools/git-log-fixes.sh
F: devtools/load-devel-config
F: devtools/test-build.sh
F: devtools/test-meson-builds.sh
F: devtools/words-case.txt
F: license/
F: .editorconfig
@ -100,18 +98,12 @@ F: .editorconfig
Build System
------------
M: Thomas Monjalon <thomas@monjalon.net>
F: GNUmakefile
F: Makefile
F: config/
F: mk/
F: buildtools/auto-config-h.sh
F: buildtools/gen-build-mk.sh
F: buildtools/gen-config-h.sh
F: buildtools/relpath.sh
F: doc/build-sdk-quick.txt
F: doc/guides/prog_guide/build_app.rst
F: doc/guides/prog_guide/dev_kit_*
F: doc/guides/prog_guide/ext_app_lib_make_help.rst
Meson build
M: Bruce Richardson <bruce.richardson@intel.com>
@ -124,6 +116,7 @@ F: buildtools/gen-pmdinfo-cfile.sh
F: buildtools/list-dir-globs.py
F: buildtools/pkg-config/
F: buildtools/symlink-drivers-solibs.sh
F: devtools/test-meson-builds.sh
Public CI
M: Aaron Conole <aconole@redhat.com>
@ -354,7 +347,6 @@ Memory pool
M: Olivier Matz <olivier.matz@6wind.com>
M: Andrew Rybchenko <arybchenko@solarflare.com>
F: lib/librte_mempool/
F: drivers/mempool/Makefile
F: drivers/mempool/ring/
F: doc/guides/prog_guide/mempool_lib.rst
F: app/test/test_mempool*
@ -1519,7 +1511,6 @@ Test Applications
-----------------
Unit tests framework
F: app/test/Makefile
F: app/test/autotest*
F: app/test/commands.c
F: app/test/get-coremask.sh

View File

@ -1,34 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2010-2014 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
DIRS-$(CONFIG_RTE_APP_TEST) += test
DIRS-$(CONFIG_RTE_TEST_PMD) += test-pmd
DIRS-$(CONFIG_RTE_PROC_INFO) += proc-info
DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += pdump
DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test-cmdline
DIRS-$(CONFIG_RTE_LIBRTE_FIB) += test-fib
DIRS-$(CONFIG_RTE_TEST_FLOW_PERF) += test-flow-perf
DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
DIRS-$(CONFIG_RTE_LIBRTE_IPSEC) += test-sad
DIRS-$(CONFIG_RTE_LIBRTE_REGEXDEV) += test-regex
ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
DIRS-$(CONFIG_RTE_TEST_BBDEV) += test-bbdev
endif
ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
DIRS-$(CONFIG_RTE_APP_COMPRESS_PERF) += test-compress-perf
endif
ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
DIRS-$(CONFIG_RTE_APP_CRYPTO_PERF) += test-crypto-perf
endif
ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y)
DIRS-$(CONFIG_RTE_APP_EVENTDEV) += test-eventdev
endif
include $(RTE_SDK)/mk/rte.subdir.mk

View File

@ -1,18 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2016 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
ifeq ($(CONFIG_RTE_LIBRTE_PDUMP),y)
APP = dpdk-pdump
CFLAGS += $(WERROR_FLAGS)
# all source are stored in SRCS-y
SRCS-y := main.c
include $(RTE_SDK)/mk/rte.app.mk
endif

View File

@ -1,14 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2010-2015 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
APP = dpdk-procinfo
CFLAGS += $(WERROR_FLAGS)
# all source are stored in SRCS-y
SRCS-y := main.c
include $(RTE_SDK)/mk/rte.app.mk

View File

@ -1,17 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2010-2014 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
APP = testacl
CFLAGS += $(WERROR_FLAGS)
# all source are stored in SRCS-y
SRCS-y := main.c
include $(RTE_SDK)/mk/rte.app.mk
endif

View File

@ -1,30 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
APP = testbbdev
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
#
# all sources are stored in SRCS-y
#
SRCS-$(CONFIG_RTE_TEST_BBDEV) += main.c
SRCS-$(CONFIG_RTE_TEST_BBDEV) += test_bbdev.c
SRCS-$(CONFIG_RTE_TEST_BBDEV) += test_bbdev_perf.c
SRCS-$(CONFIG_RTE_TEST_BBDEV) += test_bbdev_vector.c
LDLIBS += -lm
ifeq ($(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC),y)
LDLIBS += -lrte_pmd_bbdev_fpga_lte_fec
endif
ifeq ($(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC),y)
LDLIBS += -lrte_pmd_bbdev_fpga_5gnr_fec
endif
include $(RTE_SDK)/mk/rte.app.mk

View File

@ -1,24 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2010-2014 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
ifeq ($(CONFIG_RTE_LIBRTE_CMDLINE),y)
#
# library name
#
APP = cmdline_test
#
# all sources are stored in SRCS-y
#
SRCS-y += cmdline_test.c
SRCS-y += commands.c
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
include $(RTE_SDK)/mk/rte.app.mk
endif

View File

@ -1,19 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
APP = dpdk-test-compress-perf
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -O3
# all source are stored in SRCS-y
SRCS-y := main.c
SRCS-y += comp_perf_options_parse.c
SRCS-y += comp_perf_test_verify.c
SRCS-y += comp_perf_test_throughput.c
SRCS-y += comp_perf_test_cyclecount.c
SRCS-y += comp_perf_test_common.c
include $(RTE_SDK)/mk/rte.app.mk

View File

@ -1,28 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2016-2017 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
APP = dpdk-test-crypto-perf
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -O3
# all source are stored in SRCS-y
SRCS-y := main.c
SRCS-y += cperf_ops.c
SRCS-y += cperf_options_parsing.c
SRCS-y += cperf_test_vectors.c
SRCS-y += cperf_test_throughput.c
SRCS-y += cperf_test_latency.c
SRCS-y += cperf_test_pmd_cyclecount.c
SRCS-y += cperf_test_verify.c
SRCS-y += cperf_test_vector_parsing.c
SRCS-y += cperf_test_common.c
ifeq ($(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER),y)
LDLIBS += -lrte_pmd_crypto_scheduler
endif
include $(RTE_SDK)/mk/rte.app.mk

View File

@ -1,32 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Cavium, Inc
#
include $(RTE_SDK)/mk/rte.vars.mk
APP = dpdk-test-eventdev
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
#
# all source are stored in SRCS-y
#
SRCS-y := evt_main.c
SRCS-y += evt_options.c
SRCS-y += evt_test.c
SRCS-y += parser.c
SRCS-y += test_order_common.c
SRCS-y += test_order_queue.c
SRCS-y += test_order_atq.c
SRCS-y += test_perf_common.c
SRCS-y += test_perf_queue.c
SRCS-y += test_perf_atq.c
SRCS-y += test_pipeline_common.c
SRCS-y += test_pipeline_queue.c
SRCS-y += test_pipeline_atq.c
include $(RTE_SDK)/mk/rte.app.mk

View File

@ -1,18 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2010-2014 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
ifeq ($(CONFIG_RTE_LIBRTE_FIB),y)
APP = testfib
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
# all source are stored in SRCS-y
SRCS-y := main.c
include $(RTE_SDK)/mk/rte.app.mk
endif

View File

@ -1,26 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2020 Mellanox Technologies, Ltd
include $(RTE_SDK)/mk/rte.vars.mk
ifeq ($(CONFIG_RTE_TEST_FLOW_PERF),y)
#
# library name
#
APP = dpdk-test-flow-perf
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
#
# all source are stored in SRCS-y
#
SRCS-y += actions_gen.c
SRCS-y += flow_gen.c
SRCS-y += items_gen.c
SRCS-y += main.c
include $(RTE_SDK)/mk/rte.app.mk
endif

View File

@ -1,33 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2010-2015 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
ifeq ($(CONFIG_RTE_LIBRTE_PIPELINE),y)
#
# library name
#
APP = testpipeline
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
#
# all source are stored in SRCS-y
#
SRCS-y := main.c
SRCS-y += config.c
SRCS-y += init.c
SRCS-y += runtime.c
SRCS-y += pipeline_stub.c
SRCS-y += pipeline_hash.c
SRCS-y += pipeline_lpm.c
SRCS-y += pipeline_lpm_ipv6.c
# include ACL lib if available
SRCS-$(CONFIG_RTE_LIBRTE_ACL) += pipeline_acl.c
include $(RTE_SDK)/mk/rte.app.mk
endif

View File

@ -1,73 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2010-2015 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
ifeq ($(CONFIG_RTE_TEST_PMD),y)
#
# library name
#
APP = testpmd
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -Wno-deprecated-declarations
#
# all source are stored in SRCS-y
#
SRCS-y := testpmd.c
SRCS-y += parameters.c
SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline.c
SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_flow.c
SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_mtr.c
SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_tm.c
SRCS-y += config.c
SRCS-y += iofwd.c
SRCS-y += macfwd.c
SRCS-y += macswap.c
SRCS-y += flowgen.c
SRCS-y += rxonly.c
SRCS-y += txonly.c
SRCS-y += csumonly.c
SRCS-y += icmpecho.c
SRCS-y += noisy_vnf.c
SRCS-y += 5tswap.c
SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ieee1588fwd.c
SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_cmd.c
SRCS-y += util.c
ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
LDLIBS += -lrte_pmd_bond
endif
ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS)$(CONFIG_RTE_LIBRTE_DPAA_PMD),yy)
LDLIBS += -lrte_pmd_dpaa
LDLIBS += -lrte_bus_dpaa
LDLIBS += -lrte_mempool_dpaa
endif
ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y)
LDLIBS += -lrte_pmd_ixgbe
endif
ifeq ($(CONFIG_RTE_LIBRTE_I40E_PMD),y)
LDLIBS += -lrte_pmd_i40e
endif
ifeq ($(CONFIG_RTE_LIBRTE_BNXT_PMD),y)
LDLIBS += -lrte_pmd_bnxt
endif
ifeq ($(CONFIG_RTE_LIBRTE_PMD_SOFTNIC),y)
LDLIBS += -lrte_pmd_softnic
endif
endif
include $(RTE_SDK)/mk/rte.app.mk
endif

View File

@ -1,13 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2020 Mellanox Technologies, Ltd
include $(RTE_SDK)/mk/rte.vars.mk
APP = dpdk-test-regex
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
SRCS-y := main.c
include $(RTE_SDK)/mk/rte.app.mk

View File

@ -1,17 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2010-2014 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
ifeq ($(CONFIG_RTE_LIBRTE_IPSEC),y)
APP = testsad
CFLAGS += $(WERROR_FLAGS)
# all source are stored in SRCS-y
SRCS-y := main.c
include $(RTE_SDK)/mk/rte.app.mk
endif

View File

@ -1,310 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2010-2017 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
ifeq ($(CONFIG_RTE_APP_TEST),y)
# default rule
all:
# Define an externally linked resource. A linked resource is an arbitrary
# file that is linked into the test binary. The application refers to this
# resource by name. The linked generates identifiers beg_<name> and end_<name>
# for referencing by the C code.
#
# Parameters: <unique name>, <file to be linked>
define linked_resource
SRCS-y += $(1).res.o
$(1).res.o: $(2)
@ echo ' MKRES $$@'
$Q [ "$$(<D)" = . ] || ln -fs $$<
$Q $(OBJCOPY) -I binary -B $(RTE_OBJCOPY_ARCH) -O $(RTE_OBJCOPY_TARGET) \
--rename-section \
.data=.rodata,alloc,load,data,contents,readonly \
--redefine-sym _binary_$$(subst .,_,$$(<F))_start=beg_$(1) \
--redefine-sym _binary_$$(subst .,_,$$(<F))_end=end_$(1) \
--redefine-sym _binary_$$(subst .,_,$$(<F))_size=siz_$(1) \
$$(<F) $$@
endef
ifeq ($(CONFIG_RTE_APP_TEST_RESOURCE_TAR),y)
define linked_tar_resource
$(1).tar: $(2)
@ echo ' TAR $$@'
$Q tar -C $$(dir $$<) -cf $$@ $$(notdir $$<)
$(call linked_resource,$(1),$(1).tar)
endef
else # ! CONFIG_RTE_APP_TEST_RESOURCE_TAR
linked_tar_resource =
endif # CONFIG_RTE_APP_TEST_RESOURCE_TAR
#
# library name
#
APP = test
#
# all sources are stored in SRCS-y
#
SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) := commands.c
SRCS-y += test.c
SRCS-y += resource.c
SRCS-y += test_resource.c
test_resource.res: test_resource.c
@ cp $< $@
$(eval $(call linked_resource,test_resource_c,test_resource.res))
$(eval $(call linked_tar_resource,test_resource_tar,test_resource.c))
SRCS-$(CONFIG_RTE_APP_TEST_RESOURCE_TAR) += test_cfgfile.c
$(eval $(call linked_tar_resource,test_cfgfiles,test_cfgfiles))
SRCS-y += test_prefetch.c
SRCS-y += test_byteorder.c
SRCS-y += test_per_lcore.c
SRCS-y += test_atomic.c
SRCS-y += test_barrier.c
SRCS-y += test_malloc.c
SRCS-y += test_cycles.c
SRCS-y += test_mcslock.c
SRCS-y += test_spinlock.c
SRCS-y += test_ticketlock.c
SRCS-y += test_memory.c
SRCS-y += test_memzone.c
SRCS-y += test_bitmap.c
SRCS-y += test_bitops.c
SRCS-y += test_reciprocal_division.c
SRCS-y += test_reciprocal_division_perf.c
SRCS-y += test_fbarray.c
SRCS-y += test_external_mem.c
SRCS-y += test_rand_perf.c
SRCS-y += test_ring.c
SRCS-y += test_ring_mpmc_stress.c
SRCS-y += test_ring_hts_stress.c
SRCS-y += test_ring_perf.c
SRCS-y += test_ring_mt_peek_stress.c
SRCS-y += test_ring_rts_stress.c
SRCS-y += test_ring_st_peek_stress.c
SRCS-y += test_ring_stress.c
SRCS-y += test_pmd_perf.c
ifeq ($(CONFIG_RTE_LIBRTE_TABLE),y)
SRCS-y += test_table.c
SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test_table_pipeline.c
SRCS-y += test_table_tables.c
SRCS-y += test_table_ports.c
SRCS-y += test_table_combined.c
SRCS-$(CONFIG_RTE_LIBRTE_ACL) += test_table_acl.c
SRCS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += test_flow_classify.c
endif
SRCS-y += test_rwlock.c
SRCS-y += test_lcores.c
SRCS-$(CONFIG_RTE_LIBRTE_STACK) += test_stack.c
SRCS-$(CONFIG_RTE_LIBRTE_STACK) += test_stack_perf.c
SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer.c
SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer_perf.c
SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer_racecond.c
SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer_secondary.c
SRCS-y += test_mempool.c
SRCS-y += test_mempool_perf.c
SRCS-y += test_mbuf.c
SRCS-y += test_logs.c
SRCS-y += test_memcpy.c
SRCS-y += test_memcpy_perf.c
SRCS-$(CONFIG_RTE_LIBRTE_MEMBER) += test_member.c
SRCS-$(CONFIG_RTE_LIBRTE_MEMBER) += test_member_perf.c
SRCS-$(CONFIG_RTE_LIBRTE_EFD) += test_efd.c
SRCS-$(CONFIG_RTE_LIBRTE_EFD) += test_efd_perf.c
SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash.c
SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_thash.c
SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_perf.c
SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_functions.c
SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_multiwriter.c
SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_readwrite.c
SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_readwrite_lf_perf.c
SRCS-$(CONFIG_RTE_LIBRTE_RIB) += test_rib.c
SRCS-$(CONFIG_RTE_LIBRTE_RIB) += test_rib6.c
SRCS-$(CONFIG_RTE_LIBRTE_FIB) += test_fib.c
SRCS-$(CONFIG_RTE_LIBRTE_FIB) += test_fib6.c
SRCS-$(CONFIG_RTE_LIBRTE_FIB) += test_fib_perf.c
SRCS-$(CONFIG_RTE_LIBRTE_FIB) += test_fib6_perf.c
SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm.c
SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm_perf.c
SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm6.c
SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm6_perf.c
SRCS-$(CONFIG_RTE_LIBRTE_TELEMETRY) += test_telemetry_json.c
SRCS-y += test_debug.c
SRCS-y += test_errno.c
SRCS-y += test_tailq.c
SRCS-y += test_string_fns.c
SRCS-y += test_cpuflags.c
SRCS-y += test_mp_secondary.c
SRCS-y += test_eal_flags.c
SRCS-y += test_eal_fs.c
SRCS-y += test_alarm.c
SRCS-y += test_interrupts.c
SRCS-y += test_version.c
SRCS-y += test_func_reentrancy.c
SRCS-y += test_trace.c
SRCS-y += test_trace_register.c
SRCS-y += test_trace_perf.c
SRCS-y += test_service_cores.c
ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
SRCS-y += sample_packet_forward.c
SRCS-$(CONFIG_RTE_LIBRTE_BITRATE) += test_bitratestats.c
SRCS-$(CONFIG_RTE_LIBRTE_LATENCY_STATS) += test_latencystats.c
SRCS-$(CONFIG_RTE_LIBRTE_PDUMP) += test_pdump.c
endif
SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline.c
SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_num.c
SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_etheraddr.c
SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_portlist.c
SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_ipaddr.c
SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_cirbuf.c
SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_string.c
SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_lib.c
SRCS-$(CONFIG_RTE_LIBRTE_NET) += test_crc.c
ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y)
SRCS-y += test_red.c
SRCS-y += test_sched.c
endif
SRCS-$(CONFIG_RTE_LIBRTE_METER) += test_meter.c
SRCS-$(CONFIG_RTE_LIBRTE_KNI) += test_kni.c
SRCS-$(CONFIG_RTE_LIBRTE_POWER) += test_power.c test_power_cpufreq.c
SRCS-$(CONFIG_RTE_LIBRTE_POWER) += test_power_kvm_vm.c
SRCS-y += test_common.c
SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += test_distributor.c
SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += test_distributor_perf.c
SRCS-$(CONFIG_RTE_LIBRTE_REORDER) += test_reorder.c
SRCS-y += virtual_pmd.c
SRCS-y += packet_burst_generator.c
SRCS-$(CONFIG_RTE_LIBRTE_ACL) += test_acl.c
ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding_mode4.c
endif
ifeq ($(CONFIG_RTE_LIBRTE_PMD_NULL),y)
SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding_rssconf.c
endif
SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_pmd_ring.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_pmd_ring_perf.c
SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev_blockcipher.c
SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev.c
SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev_asym.c
SRCS-$(CONFIG_RTE_LIBRTE_SECURITY) += test_cryptodev_security_pdcp.c
SRCS-$(CONFIG_RTE_LIBRTE_METRICS) += test_metrics.c
ifeq ($(CONFIG_RTE_COMPRESSDEV_TEST),y)
SRCS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += test_compressdev.c
endif
ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y)
SRCS-y += test_eventdev.c
SRCS-y += test_event_ring.c
SRCS-y += test_event_eth_rx_adapter.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_event_eth_tx_adapter.c
SRCS-y += test_event_timer_adapter.c
SRCS-y += test_event_crypto_adapter.c
endif
ifeq ($(CONFIG_RTE_LIBRTE_GRAPH), y)
SRCS-y += test_graph.c
SRCS-y += test_graph_perf.c
endif
ifeq ($(CONFIG_RTE_LIBRTE_RAWDEV),y)
SRCS-y += test_rawdev.c
endif
SRCS-$(CONFIG_RTE_LIBRTE_KVARGS) += test_kvargs.c
SRCS-$(CONFIG_RTE_LIBRTE_BPF) += test_bpf.c
SRCS-$(CONFIG_RTE_LIBRTE_RCU) += test_rcu_qsbr.c test_rcu_qsbr_perf.c
SRCS-$(CONFIG_RTE_LIBRTE_SECURITY) += test_security.c
SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += test_ipsec.c test_ipsec_perf.c
SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += test_ipsec_sad.c
ifeq ($(CONFIG_RTE_LIBRTE_IPSEC),y)
LDLIBS += -lrte_ipsec
endif
CFLAGS += -O3
# Strict-aliasing rules are violated by uint8_t[] to context size casts.
CFLAGS += -fno-strict-aliasing
CFLAGS += $(WERROR_FLAGS)
LDLIBS += -lm
ifeq ($(CONFIG_RTE_LIBRTE_PDUMP),y)
LDLIBS += -lpthread
endif
ifeq ($(CONFIG_RTE_COMPRESSDEV_TEST),y)
ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
LDLIBS += -lz
endif
endif
# Disable VTA for memcpy test
ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
CFLAGS_test_memcpy.o += -fno-var-tracking-assignments
CFLAGS_test_memcpy_perf.o += -fno-var-tracking-assignments
endif
endif
ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
LDLIBS += -lrte_pmd_bond
endif
ifeq ($(CONFIG_RTE_LIBRTE_PMD_NULL),y)
LDLIBS += -lrte_pmd_null
endif
ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
LDLIBS += -lrte_pmd_ring
endif
ifeq ($(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER),y)
LDLIBS += -lrte_pmd_crypto_scheduler
endif
endif
ifeq ($(CONFIG_RTE_APP_TEST_RESOURCE_TAR),y)
LDLIBS += -larchive
endif
include $(RTE_SDK)/mk/rte.app.mk
endif

View File

@ -1,9 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2016 Neil Horman <nhorman@tuxdriver.com>
# All rights reserved.
include $(RTE_SDK)/mk/rte.vars.mk
DIRS-y += pmdinfogen
include $(RTE_SDK)/mk/rte.subdir.mk

View File

@ -1,20 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2016 Neil Horman <nhorman@tuxdriver.com>
# All rights reserved.
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
HOSTAPP = dpdk-pmdinfogen
#
# all sources are stored in SRCS-y
#
SRCS-y += pmdinfogen.c
HOST_CFLAGS += $(HOST_WERROR_FLAGS) -g
HOST_CFLAGS += -I$(RTE_OUTPUT)/include
include $(RTE_SDK)/mk/rte.hostapp.mk

View File

@ -50,7 +50,7 @@ commit_version () # <hash>
head -n1)
if [ -z "$tag" ] ; then
# before -rc1 tag of release in progress
make showversion | cut -d'.' -f-2
cat VERSION | cut -d'.' -f-2
else
echo $tag | sed 's,^v,,' | sed 's,-rc.*,,'
fi

View File

@ -1,315 +0,0 @@
#! /bin/sh -e
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2015 6WIND S.A.
default_path=$PATH
# Load config options:
# - ARMV8_CRYPTO_LIB_PATH
# - DPDK_ABI_REF_DIR
# - DPDK_ABI_REF_VERSION
# - DPDK_BUILD_TEST_CONFIGS (defconfig1+option1+option2 defconfig2)
# - DPDK_BUILD_TEST_DIR
# - DPDK_DEP_ARCHIVE
# - DPDK_DEP_BPF (y/[n])
# - DPDK_DEP_CFLAGS
# - DPDK_DEP_ELF (y/[n])
# - DPDK_DEP_FDT (y/[n])
# - DPDK_DEP_ISAL (y/[n])
# - DPDK_DEP_JSON (y/[n])
# - DPDK_DEP_LDFLAGS
# - DPDK_DEP_MLX (y/[n])
# - DPDK_DEP_NFB (y/[n])
# - DPDK_DEP_NUMA ([y]/n)
# - DPDK_DEP_PCAP (y/[n])
# - DPDK_DEP_SSL (y/[n])
# - DPDK_DEP_IPSEC_MB (y/[n])
# - DPDK_DEP_SZE (y/[n])
# - DPDK_DEP_ZLIB (y/[n])
# - DPDK_MAKE_JOBS (int)
# - DPDK_NOTIFY (notify-send)
# - FLEXRAN_SDK
# - LIBMUSDK_PATH
devtools_dir=$(dirname $(readlink -f $0))
. $devtools_dir/load-devel-config
print_usage () {
echo "usage: $(basename $0) [-h] [-jX] [-s] [config1 [config2] ...]]"
}
print_help () {
echo 'Test building several targets with different options'
echo
print_usage
cat <<- END_OF_HELP
options:
-h this help
-jX use X parallel jobs in "make"
-s short test only first config without tests|examples|doc
-v verbose build
config: defconfig[[~][+]option1[[~][+]option2...]]
Example: x86_64-native-linux-gcc+debug~RXTX_CALLBACKS
The lowercase options are defined inside $(basename $0).
The uppercase options can be the end of a defconfig option
to enable if prefixed with '+' or to disable if prefixed with '~'.
Default is to automatically enable most of the options.
The external dependencies are setup with DPDK_DEP_* variables.
If no config on command line, DPDK_BUILD_TEST_CONFIGS is used.
END_OF_HELP
}
[ -z $MAKE ] && command -v gmake > /dev/null && MAKE=gmake
[ -z $MAKE ] && command -v make > /dev/null && MAKE=make
[ -z $MAKE ] && echo "Cannot find make or gmake" && exit 1
J=$DPDK_MAKE_JOBS
builds_dir=${DPDK_BUILD_TEST_DIR:-.}
short=false
unset verbose
while getopts hj:sv ARG ; do
case $ARG in
j ) J=$OPTARG ;;
s ) short=true ;;
v ) verbose='V=1' ;;
h ) print_help ; exit 0 ;;
? ) print_usage ; exit 1 ;;
esac
done
shift $(($OPTIND - 1))
configs=${*:-$DPDK_BUILD_TEST_CONFIGS}
success=false
on_exit ()
{
if $success ; then
[ "$DPDK_NOTIFY" != notify-send ] || \
notify-send -u low --icon=dialog-information 'DPDK build' 'finished'
elif [ -z "$signal" ] ; then
[ -z "$dir" ] || echo "failed to build $dir" >&2
[ "$DPDK_NOTIFY" != notify-send ] || \
notify-send -u low --icon=dialog-error 'DPDK build' 'failed'
fi
}
# catch manual interrupt to ignore notification
trap "signal=INT ; trap - INT ; kill -INT $$" INT
# notify result on exit
trap on_exit EXIT
cd $devtools_dir/..
reset_env ()
{
export PATH=$default_path
unset CROSS
unset DPDK_DEP_ARCHIVE
unset DPDK_DEP_BPF
unset DPDK_DEP_CFLAGS
unset DPDK_DEP_ELF
unset DPDK_DEP_FDT
unset DPDK_DEP_ISAL
unset DPDK_DEP_JSON
unset DPDK_DEP_LDFLAGS
unset DPDK_DEP_MLX
unset DPDK_DEP_NFB
unset DPDK_DEP_NUMA
unset DPDK_DEP_PCAP
unset DPDK_DEP_SSL
unset DPDK_DEP_IPSEC_MB
unset DPDK_DEP_SZE
unset DPDK_DEP_ZLIB
unset ARMV8_CRYPTO_LIB_PATH
unset FLEXRAN_SDK
unset LIBMUSDK_PATH
unset PQOS_INSTALL_PATH
}
config () # <directory> <target> <options>
{
reconfig=false
if git rev-parse 2>&- && [ -n "$(git diff HEAD~ -- config)" ] ; then
echo 'Default config may have changed'
reconfig=true
fi
if [ ! -e $1/.config ] || $reconfig ; then
echo "================== Configure $1"
${MAKE} T=$2 O=$1 config
echo 'Customize configuration'
# Built-in options (lowercase)
! echo $3 | grep -q '+default' || \
sed -ri="" 's,(RTE_MACHINE=")native,\1default,' $1/.config
! echo $3 | grep -q '+kmods' || \
sed -ri="" 's,(IGB_UIO=|KNI_KMOD=)n,\1y,' $1/.config
echo $3 | grep -q '+next' || \
sed -ri="" 's,(NEXT_ABI=)y,\1n,' $1/.config
! echo $3 | grep -q '+shared' || \
sed -ri="" 's,(SHARED_LIB=)n,\1y,' $1/.config
! echo $3 | grep -q '+debug' || ( \
sed -ri="" 's,(RTE_LOG_DP_LEVEL=).*,\1RTE_LOG_DEBUG,' $1/.config
sed -ri="" 's,(_DEBUG.*=)n,\1y,' $1/.config
sed -ri="" 's,(_STAT)([S_].*=|=)n,\1\2y,' $1/.config
sed -ri="" 's,(TEST_PMD_RECORD_.*=)n,\1y,' $1/.config )
# Automatic configuration
! echo $2 | grep -q 'arm64' || \
sed -ri="" 's,(ARM_USE_WFE=)n,\1y,' $1/.config
test "$DPDK_DEP_NUMA" != n || \
sed -ri="" 's,(NUMA.*=)y,\1n,' $1/.config
sed -ri="" 's,(LIBRTE_IEEE1588=)n,\1y,' $1/.config
sed -ri="" 's,(BYPASS=)n,\1y,' $1/.config
test "$DPDK_DEP_ARCHIVE" != y || \
sed -ri="" 's,(RESOURCE_TAR=)n,\1y,' $1/.config
test "$DPDK_DEP_BPF" != y || \
sed -ri="" 's,(PMD_AF_XDP=)n,\1y,' $1/.config
test "$DPDK_DEP_FDT" != y || \
sed -ri="" 's,(PMD_IFPGA_RAWDEV=)n,\1y,' $1/.config
test "$DPDK_DEP_FDT" != y || \
sed -ri="" 's,(IPN3KE_PMD=)n,\1y,' $1/.config
test "$DPDK_DEP_ISAL" != y || \
sed -ri="" 's,(PMD_ISAL=)n,\1y,' $1/.config
test "$DPDK_DEP_MLX" != y || \
sed -ri="" 's,(MLX.*_PMD=)n,\1y,' $1/.config
test "$DPDK_DEP_NFB" != y || \
sed -ri="" 's,(NFB_PMD=)n,\1y,' $1/.config
test "$DPDK_DEP_SZE" != y || \
sed -ri="" 's,(PMD_SZEDATA2=)n,\1y,' $1/.config
test "$DPDK_DEP_ZLIB" != y || \
sed -ri="" 's,(BNX2X_PMD=)n,\1y,' $1/.config
test "$DPDK_DEP_ZLIB" != y || \
sed -ri="" 's,(PMD_ZLIB=)n,\1y,' $1/.config
test "$DPDK_DEP_ZLIB" != y || \
sed -ri="" 's,(COMPRESSDEV_TEST=)n,\1y,' $1/.config
test "$DPDK_DEP_PCAP" != y || \
sed -ri="" 's,(PCAP=)n,\1y,' $1/.config
test -z "$ARMV8_CRYPTO_LIB_PATH" || \
sed -ri="" 's,(PMD_ARMV8_CRYPTO=)n,\1y,' $1/.config
test "$DPDK_DEP_IPSEC_MB" != y || \
sed -ri="" 's,(PMD_AESNI_MB=)n,\1y,' $1/.config
test "$DPDK_DEP_IPSEC_MB" != y || \
sed -ri="" 's,(PMD_AESNI_GCM=)n,\1y,' $1/.config
test "$DPDK_DEP_IPSEC_MB" != y || \
sed -ri="" 's,(PMD_ZUC=)n,\1y,' $1/.config
test "$DPDK_DEP_IPSEC_MB" != y || \
sed -ri="" 's,(PMD_KASUMI=)n,\1y,' $1/.config
test "$DPDK_DEP_IPSEC_MB" != y || \
sed -ri="" 's,(PMD_SNOW3G=)n,\1y,' $1/.config
test "$DPDK_DEP_SSL" != y || \
sed -ri="" 's,(PMD_CCP=)n,\1y,' $1/.config
test "$DPDK_DEP_SSL" != y || \
sed -ri="" 's,(PMD_OPENSSL=)n,\1y,' $1/.config
test "$DPDK_DEP_SSL" != y || \
sed -ri="" 's,(QAT_SYM=)n,\1y,' $1/.config
test -z "$FLEXRAN_SDK" || \
sed -ri="" 's,(BBDEV_TURBO_SW=)n,\1y,' $1/.config
sed -ri="" 's,(SCHED_.*=)n,\1y,' $1/.config
test -z "$LIBMUSDK_PATH" || \
sed -ri="" 's,(PMD_MVSAM_CRYPTO=)n,\1y,' $1/.config
test -z "$LIBMUSDK_PATH" || \
sed -ri="" 's,(MVPP2_PMD=)n,\1y,' $1/.config
test -z "$LIBMUSDK_PATH" || \
sed -ri="" 's,(MVNETA_PMD=)n,\1y,' $1/.config
test "$DPDK_DEP_ELF" != y || \
sed -ri="" 's,(BPF_ELF=)n,\1y,' $1/.config
test "$DPDK_DEP_JSON" != y || \
sed -ri="" 's,(TELEMETRY=)n,\1y,' $1/.config
build_config_hook $1 $2 $3
# Explicit enabler/disabler (uppercase)
for option in $(echo $3 | sed 's,[~+], &,g') ; do
pattern=$(echo $option | cut -c2-)
if echo $option | grep -q '^~' ; then
sed -ri="" "s,($pattern=)y,\1n," $1/.config
elif echo $option | grep -q '^+' ; then
sed -ri="" "s,($pattern=)n,\1y," $1/.config
fi
done
fi
}
# default empty hook to override in devel config
build_config_hook () # <directory> <target> <options>
{
:
}
for conf in $configs ; do
target=$(echo $conf | sed 's,[~+].*,,')
# reload config with DPDK_TARGET set
DPDK_TARGET=$target
reset_env
. $devtools_dir/load-devel-config
options=$(echo $conf | sed 's,[^~+]*,,')
dir=$builds_dir/$conf
config $dir $target $options
echo "================== Build $conf"
${MAKE} -j$J EXTRA_CFLAGS="-Wfatal-errors -g $DPDK_DEP_CFLAGS" \
EXTRA_LDFLAGS="$DPDK_DEP_LDFLAGS" $verbose O=$dir
! $short || break
export RTE_TARGET=$target
rm -rf $dir/install
${MAKE} install O=$dir DESTDIR=$dir/install prefix=
echo "================== Build examples for $conf"
export RTE_SDK=$(readlink -f $dir)/install/share/dpdk
ln -sTf $(pwd)/lib $RTE_SDK/lib # workaround for vm_power_manager
grep -q 'SHARED_LIB=n' $dir/.config || # skip examples with static libs
${MAKE} -j$J -sC examples \
EXTRA_LDFLAGS="$DPDK_DEP_LDFLAGS" $verbose \
O=$(readlink -f $dir)/examples
unset RTE_TARGET
grep -q 'SHARED_LIB=n' $dir/.config || # skip ABI check with static libs
if [ -n "$DPDK_ABI_REF_VERSION" ]; then
abirefdir=${DPDK_ABI_REF_DIR:-reference}/$DPDK_ABI_REF_VERSION
if [ ! -d $abirefdir/$conf ]; then
# clone current sources
if [ ! -d $abirefdir/src ]; then
git clone --local --no-hardlinks \
--single-branch \
-b $DPDK_ABI_REF_VERSION \
$(pwd) $abirefdir/src
fi
cd $abirefdir/src
rm -rf $abirefdir/build
config $abirefdir/build $target $options
echo -n "================== Build $conf "
echo "($DPDK_ABI_REF_VERSION)"
${MAKE} -j$J \
EXTRA_CFLAGS="-Wno-error -g $DPDK_DEP_CFLAGS" \
EXTRA_LDFLAGS="$DPDK_DEP_LDFLAGS" $verbose \
O=$abirefdir/build
export RTE_TARGET=$target
${MAKE} install O=$abirefdir/build \
DESTDIR=$abirefdir/$conf \
prefix=
unset RTE_TARGET
$devtools_dir/gen-abi.sh $abirefdir/$conf
# back to current workdir
cd $devtools_dir/..
fi
echo "================== Check ABI $conf"
$devtools_dir/gen-abi.sh $dir/install
$devtools_dir/check-abi.sh $abirefdir/$conf $dir/install
fi
echo "################## $conf done."
unset dir
done
if ! $short ; then
mkdir -p .check
echo "================== Build doxygen HTML API"
${MAKE} doc-api-html >/dev/null 2>.check/doc.txt
echo "================== Build sphinx HTML guides"
${MAKE} doc-guides-html >/dev/null 2>>.check/doc.txt
echo "================== Check docs"
diff -u /dev/null .check/doc.txt
fi
success=true

View File

@ -1,34 +0,0 @@
Basic build
make defconfig && make
or
make config T=x86_64-native-linux-gcc && make
Build commands
config get configuration from target template (T=)
defconfig auto-select target template based on arch, OS, etc.
all same as build (default rule)
build build in a configured directory
clean remove files but keep configuration
install T= configure, build and install a target in DESTDIR
install install optionally staged in DESTDIR
examples build examples for given targets (T=)
examples_clean clean examples for given targets (T=)
test compile tests and run basic unit tests
test-* run specific subset of unit tests
tags|etags|gtags generate tags database for given targets (T=)
cscope generate cscope database for given targets (T=)
Build variables
EXTRA_CPPFLAGS preprocessor options
EXTRA_CFLAGS compiler options
EXTRA_LDFLAGS linker options
EXTRA_LDLIBS linker library options
RTE_KERNELDIR linux headers path
RTE_DEVEL_BUILD stricter options (default: y in git tree)
CROSS toolchain prefix
V verbose
D debug dependencies
O build directory (default: build/ - install T= default: ./)
DESTDIR staging install directory (default: empty)
prefix root install directory (default: /usr/local)
T target template - used with config or install
format: <arch-machine-execenv-toolchain>
templates in config/defconfig_*

View File

@ -773,53 +773,13 @@ The ``pep8`` tool can be used for testing compliance with the guidelines.
Integrating with the Build System
---------------------------------
DPDK supports being built in two different ways:
DPDK is built using the tools ``meson`` and ``ninja``.
* using ``make`` - or more specifically "GNU make", i.e. ``gmake`` on FreeBSD
* using the tools ``meson`` and ``ninja``
Any new library or driver to be integrated into DPDK should support being
built with both systems. While building using ``make`` is a legacy approach, and
most build-system enhancements are being done using ``meson`` and ``ninja``
there are no plans at this time to deprecate the legacy ``make`` build system.
Therefore all new component additions should include both a ``Makefile`` and a
``meson.build`` file, and should be added to the component lists in both the
``Makefile`` and ``meson.build`` files in the relevant top-level directory:
Therefore all new component additions should include a ``meson.build`` file,
and should be added to the component lists in the ``meson.build`` files in the
relevant top-level directory:
either ``lib`` directory or a ``driver`` subdirectory.
Makefile Contents
~~~~~~~~~~~~~~~~~
The ``Makefile`` for the component should be of the following format, where
``<name>`` corresponds to the name of the library in question, e.g. hash,
lpm, etc. For drivers, the same format of Makefile is used.
.. code-block:: none
# pull in basic DPDK definitions, including whether library is to be
# built or not
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_<name>.a
# any library cflags needed. Generally add "-O3 $(WERROR_FLAGS)"
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
# the symbol version information for the library
EXPORT_MAP := rte_<name>_version.map
# all source filenames are stored in SRCS-y
SRCS-$(CONFIG_RTE_LIBRTE_<NAME>) += rte_<name>.c
# install includes
SYMLINK-$(CONFIG_RTE_LIBRTE_<NAME>)-include += rte_<name>.h
# pull in rules to build the library
include $(RTE_SDK)/mk/rte.lib.mk
Meson Build File Contents - Libraries
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@ -464,55 +464,6 @@ and the -r option allows the user specify a ``git log`` range.
Checking Compilation
--------------------
Makefile System
~~~~~~~~~~~~~~~
Compilation of patches and changes should be tested using the ``test-build.sh`` script in the ``devtools``
directory of the DPDK repo::
devtools/test-build.sh x86_64-native-linux-gcc+next+shared
The script usage is::
test-build.sh [-h] [-jX] [-s] [config1 [config2] ...]]
Where:
* ``-h``: help, usage.
* ``-jX``: use X parallel jobs in "make".
* ``-s``: short test with only first config and without examples/doc.
* ``config``: default config name plus config switches delimited with a ``+`` sign.
Examples of configs are::
x86_64-native-linux-gcc
x86_64-native-linux-gcc+next+shared
x86_64-native-linux-clang+shared
The builds can be modified via the following environmental variables:
* ``DPDK_BUILD_TEST_CONFIGS`` (target1+option1+option2 target2)
* ``DPDK_BUILD_TEST_DIR``
* ``DPDK_DEP_CFLAGS``
* ``DPDK_DEP_LDFLAGS``
* ``DPDK_DEP_PCAP`` (y/[n])
* ``DPDK_NOTIFY`` (notify-send)
These can be set from the command line or in the config files shown above in the :ref:`contrib_checkpatch`.
The recommended configurations and options to test compilation prior to submitting patches are::
x86_64-native-linux-gcc+shared+next
x86_64-native-linux-clang+shared
i686-native-linux-gcc
export DPDK_DEP_ZLIB=y
export DPDK_DEP_PCAP=y
export DPDK_DEP_SSL=y
Meson System
~~~~~~~~~~~~
Compilation of patches is to be tested with ``devtools/test-meson-builds.sh`` script.
The script internally checks for dependencies, then builds for several

View File

@ -39,8 +39,8 @@ The following is a list of DPDK documents in the suggested reading order:
specifically in a Linux* application (linux) environment
* The content of the DPDK, the build system (including the commands
that can be used in the root DPDK Makefile to build the development
kit and an application) and guidelines for porting an application
that can be used to build the development kit and an application)
and guidelines for porting an application
* Optimizations used in the software and those that should be considered
for new development

View File

@ -31,7 +31,7 @@ The DPDK is composed of several directories:
* examples: Source code of DPDK application examples
* config, buildtools, mk: Framework-related makefiles, scripts and configuration
* config, buildtools: Framework-related scripts and configuration
Compiling and Installing DPDK System-wide
-----------------------------------------
@ -39,11 +39,6 @@ Compiling and Installing DPDK System-wide
DPDK can be configured, built and installed on your system using the tools
``meson`` and ``ninja``.
.. note::
The older makefile-based build system used in older DPDK releases is
still present and its use is described in section
`Installation of DPDK Target Environment using Make`_.
DPDK Configuration
~~~~~~~~~~~~~~~~~~
@ -156,64 +151,3 @@ build system is shown below:
dpdk = dependency('libdpdk')
sources = files('main.c')
executable('dpdk-app', sources, dependencies: dpdk)
Installation of DPDK Target Environment using Make
--------------------------------------------------
.. note::
The building of DPDK using make will be deprecated in a future release. It
is therefore recommended that DPDK installation is done using meson and
ninja as described above.
Get a native target environment automatically::
make defconfig O=mybuild
.. note::
Within the configuration files, the ``RTE_MACHINE`` configuration value is set to native,
which means that the compiled software is tuned for the platform on which it is built.
Or get a specific target environment::
make config T=x86_64-native-linux-gcc O=mybuild
The format of a DPDK target is "ARCH-MACHINE-EXECENV-TOOLCHAIN".
Available targets can be found with::
make help
Customize the target configuration in the generated ``.config`` file.
Example for enabling the pcap PMD::
sed -ri 's,(PMD_PCAP=).*,\1y,' mybuild/.config
Compile the target::
make -j4 O=mybuild
.. warning::
Any kernel modules to be used, e.g. ``igb_uio``, ``kni``, must be compiled with the
same kernel as the one running on the target.
If the DPDK is not being built on the target machine,
the ``RTE_KERNELDIR`` environment variable should be used to point the compilation at a copy of the kernel version to be used on the target machine.
Install the target in a separate directory::
make install O=mybuild DESTDIR=myinstall prefix=
The environment is ready to build a DPDK application::
RTE_SDK=$(pwd)/myinstall/share/dpdk RTE_TARGET=x86_64-native-linux-gcc make -C myapp
In addition, the make clean command can be used to remove any existing compiled files for a subsequent full, clean rebuild of the code.
Browsing the Installed DPDK Environment Target
----------------------------------------------
Once a target is created it contains all libraries, including poll-mode drivers, and header files for the DPDK environment that are required to build customer applications.
In addition, the test applications are built under the app directory, which may be used for testing.
A kmod directory is also present that contains kernel modules which may be loaded if needed.

View File

@ -15,56 +15,7 @@ It also provides a pointer to where sample applications are stored.
Compiling a Sample Application
------------------------------
Once an DPDK target environment directory has been created (such as ``x86_64-native-linux-gcc``),
it contains all libraries and header files required to build an application.
When compiling an application in the Linux* environment on the DPDK, the following variables must be exported:
* ``RTE_SDK`` - Points to the DPDK installation directory.
* ``RTE_TARGET`` - Points to the DPDK target environment directory.
The following is an example of creating the ``helloworld`` application, which runs in the DPDK Linux environment.
This example may be found in the ``${RTE_SDK}/examples`` directory.
The directory contains the ``main.c`` file. This file, when combined with the libraries in the DPDK target environment,
calls the various functions to initialize the DPDK environment,
then launches an entry point (dispatch application) for each core to be utilized.
By default, the binary is generated in the build directory.
.. code-block:: console
cd examples/helloworld/
export RTE_SDK=$HOME/DPDK
export RTE_TARGET=x86_64-native-linux-gcc
make
CC main.o
LD helloworld
INSTALL-APP helloworld
INSTALL-MAP helloworld.map
ls build/app
helloworld helloworld.map
.. note::
In the above example, ``helloworld`` was in the directory structure of the DPDK.
However, it could have been located outside the directory structure to keep the DPDK structure intact.
In the following case, the ``helloworld`` application is copied to a new directory as a new starting point.
.. code-block:: console
export RTE_SDK=/home/user/DPDK
cp -r $(RTE_SDK)/examples/helloworld my_rte_app
cd my_rte_app/
export RTE_TARGET=x86_64-native-linux-gcc
make
CC main.o
LD helloworld
INSTALL-APP helloworld
INSTALL-MAP helloworld.map
Please refer to :ref:`building_app_using_installed_dpdk` for detail on compiling sample apps.
Running a Sample Application
----------------------------

View File

@ -67,7 +67,7 @@ Augment the cross toolchain with NUMA support
.. note::
This way is optional, an alternative is to use extra CFLAGS and LDFLAGS, depicted in :ref:`configure_and_cross_compile_dpdk_build` below.
This way is optional, an alternative is to use extra CFLAGS and LDFLAGS.
Copy the NUMA header files and lib to the cross compiler's directories:
@ -79,8 +79,8 @@ Copy the NUMA header files and lib to the cross compiler's directories:
.. _configure_and_cross_compile_dpdk_build:
Cross Compiling DPDK using Meson
--------------------------------
Cross Compiling DPDK
--------------------
Meson depends on pkgconfig to find the dependencies.
The package ``pkg-config-aarch64-linux-gnu`` is required for aarch64.
@ -99,45 +99,3 @@ command::
meson arm64-build --cross-file config/arm/arm64_armv8_linux_gcc
ninja -C arm64-build
Configure and Cross Compile DPDK using Make
-------------------------------------------
To configure a build, choose one of the target configurations, like arm64-dpaa-linux-gcc and arm64-thunderx-linux-gcc.
.. code-block:: console
make config T=arm64-armv8a-linux-gcc
To cross-compile, without compiling the kernel modules, use the following command:
.. code-block:: console
make -j CROSS=aarch64-linux-gnu- CONFIG_RTE_KNI_KMOD=n CONFIG_RTE_EAL_IGB_UIO=n
To cross-compile, including the kernel modules, the kernel source tree needs to be specified by setting
RTE_KERNELDIR:
.. code-block:: console
make -j CROSS=aarch64-linux-gnu- RTE_KERNELDIR=<kernel_src_rootdir> CROSS_COMPILE=aarch64-linux-gnu-
To compile for non-NUMA targets, without compiling the kernel modules, use the following command:
.. code-block:: console
make -j CROSS=aarch64-linux-gnu- CONFIG_RTE_KNI_KMOD=n CONFIG_RTE_EAL_IGB_UIO=n CONFIG_RTE_LIBRTE_VHOST_NUMA=n CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
.. note::
1. EXTRA_CFLAGS and EXTRA_LDFLAGS should be added to include the NUMA headers and link the library respectively,
if the above step :ref:`augment_the_cross_toolchain_with_numa_support` was skipped therefore the toolchain was not
augmented with NUMA support.
2. "-isystem <numa_install_dir>/include" should be add to EXTRA_CFLAGS, otherwise the numa.h file will get a lot of compiling
errors of Werror=cast-qual, Werror=strict-prototypes and Werror=old-style-definition.
An example is given below:
.. code-block:: console
make -j CROSS=aarch64-linux-gnu- CONFIG_RTE_KNI_KMOD=n CONFIG_RTE_EAL_IGB_UIO=n EXTRA_CFLAGS="-isystem <numa_install_dir>/include" EXTRA_LDFLAGS="-L<numa_install_dir>/lib -lnuma"

View File

@ -23,7 +23,7 @@ The following is a list of DPDK documents in the suggested reading order:
* The software architecture and how to use it (through examples), specifically in a Linux application (linux) environment
* The content of the DPDK, the build system (including the commands that can be used in the root DPDK Makefile to build the development kit and
* The content of the DPDK, the build system (including the commands that can be used to build the development kit and
an application) and guidelines for porting an application
* Optimizations used in the software and those that should be considered for new development

View File

@ -37,7 +37,7 @@ Compilation of the DPDK
The setup commands and installed packages needed on various systems may be different.
For details on Linux distributions and the versions tested, please consult the DPDK Release Notes.
* General development tools including ``make``, and a supported C compiler such as ``gcc`` (version 4.9+) or ``clang`` (version 3.4+).
* General development tools including a supported C compiler such as gcc (version 4.9+) or clang (version 3.4+).
* For RHEL/Fedora systems these can be installed using ``dnf groupinstall "Development Tools"``
@ -82,12 +82,8 @@ Compilation of the DPDK
**Additional Libraries**
A number of DPDK components, such as libraries and poll-mode drivers (PMDs) have additional dependencies.
For DPDK builds using meson, the presence or absence of these dependencies will be
automatically detected enabling or disabling the relevant components appropriately.
For builds using make, these components are disabled in the default configuration and
need to be enabled manually by changing the relevant setting to "y" in the build configuration file
i.e. the ``.config`` file in the build folder.
For DPDK builds, the presence or absence of these dependencies will be automatically detected
enabling or disabling the relevant components appropriately.
In each case, the relevant library development package (``-devel`` or ``-dev``) is needed to build the DPDK components.

View File

@ -9,19 +9,12 @@ Building Your Own Application
Compiling a Sample Application in the Development Kit Directory
---------------------------------------------------------------
When compiling a sample application (for example, hello world), the following variables must be exported:
RTE_SDK and RTE_TARGET.
To compile a sample application with make (for example, hello world):
.. code-block:: console
~/DPDK$ cd examples/helloworld/
~/DPDK/examples/helloworld$ export RTE_SDK=/home/user/DPDK
~/DPDK/examples/helloworld$ export RTE_TARGET=x86_64-native-linux-gcc
~/DPDK/examples/helloworld$ make
CC main.o
LD helloworld
INSTALL-APP helloworld
INSTALL-MAP helloworld.map
The binary is generated in the build directory by default:
@ -30,6 +23,8 @@ The binary is generated in the build directory by default:
~/DPDK/examples/helloworld$ ls build/app
helloworld helloworld.map
Please refer to :doc:`../linux_gsg/build_dpdk` for details on compiling with meson.
Build Your Own Application Outside the Development Kit
------------------------------------------------------
@ -39,13 +34,7 @@ The sample application (Hello World) can be duplicated in a new directory as a s
~$ cp -r DPDK/examples/helloworld my_rte_app
~$ cd my_rte_app/
~/my_rte_app$ export RTE_SDK=/home/user/DPDK
~/my_rte_app$ export RTE_TARGET=x86_64-native-linux-gcc
~/my_rte_app$ make
CC main.o
LD helloworld
INSTALL-APP helloworld
INSTALL-MAP helloworld.map
Customizing Makefiles
---------------------
@ -53,47 +42,10 @@ Customizing Makefiles
Application Makefile
~~~~~~~~~~~~~~~~~~~~
The default makefile provided with the Hello World sample application is a good starting point. It includes:
* $(RTE_SDK)/mk/rte.vars.mk at the beginning
* $(RTE_SDK)/mk/rte.extapp.mk at the end
The default makefile provided with the Hello World sample application is a good starting point.
The user must define several variables:
* APP: Contains the name of the application.
* SRCS-y: List of source files (\*.c, \*.S).
Library Makefile
~~~~~~~~~~~~~~~~
It is also possible to build a library in the same way:
* Include $(RTE_SDK)/mk/rte.vars.mk at the beginning.
* Include $(RTE_SDK)/mk/rte.extlib.mk at the end.
The only difference is that APP should be replaced by LIB, which contains the name of the library. For example, libfoo.a.
Customize Makefile Actions
~~~~~~~~~~~~~~~~~~~~~~~~~~
Some variables can be defined to customize Makefile actions. The most common are listed below. Refer to
:ref:`Makefile Description <Makefile_Description>` section in
:ref:`Development Kit Build System <Development_Kit_Build_System>`
chapter for details.
* VPATH: The path list where the build system will search for sources. By default,
RTE_SRCDIR will be included in VPATH.
* CFLAGS_my_file.o: The specific flags to add for C compilation of my_file.c.
* CFLAGS: The flags to use for C compilation.
* LDFLAGS: The flags to use for linking.
* CPPFLAGS: The flags to use to provide flags to the C preprocessor (only useful when assembling .S files)
* LDLIBS: A list of libraries to link with (for example, -L /path/to/libfoo - lfoo)

View File

@ -1,331 +0,0 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2010-2014 Intel Corporation.
.. _Development_Kit_Build_System:
Development Kit Build System
============================
The DPDK requires a build system for compilation activities and so on.
This section describes the constraints and the mechanisms used in the DPDK framework.
There are two use-cases for the framework:
* Compilation of the DPDK libraries and sample applications;
the framework generates specific binary libraries,
include files and sample applications
* Compilation of an external application or library, using an installed binary DPDK
Building the Development Kit Binary
-----------------------------------
The following provides details on how to build the DPDK binary.
Build Directory Concept
~~~~~~~~~~~~~~~~~~~~~~~
After installation, a build directory structure is created.
Each build directory contains include files, libraries, and applications.
A build directory is specific to a configuration that includes architecture + execution environment + toolchain.
It is possible to have several build directories sharing the same sources with different configurations.
For instance, to create a new build directory called my_sdk_build_dir using the default configuration template config/defconfig_x86_64-linux,
we use:
.. code-block:: console
cd ${RTE_SDK}
make config T=x86_64-native-linux-gcc O=my_sdk_build_dir
This creates a new my_sdk_build_dir directory. After that, we can compile by doing:
.. code-block:: console
cd my_sdk_build_dir
make
which is equivalent to:
.. code-block:: console
make O=my_sdk_build_dir
Refer to
:ref:`Development Kit Root Makefile Help <Development_Kit_Root_Makefile_Help>`
for details about make commands that can be used from the root of DPDK.
Building External Applications
------------------------------
Since DPDK is in essence a development kit, the first objective of end users will be to create an application using this SDK.
To compile an application, the user must set the RTE_SDK and RTE_TARGET environment variables.
.. code-block:: console
export RTE_SDK=/opt/DPDK
export RTE_TARGET=x86_64-native-linux-gcc
cd /path/to/my_app
For a new application, the user must create their own Makefile that includes some .mk files, such as
${RTE_SDK}/mk/rte.vars.mk, and ${RTE_SDK}/mk/ rte.app.mk.
This is described in
:ref:`Building Your Own Application <Building_Your_Own_Application>`.
Depending on the chosen target (architecture, machine, executive environment, toolchain) defined in the Makefile or as an environment variable,
the applications and libraries will compile using the appropriate .h files and will link with the appropriate .a files.
These files are located in ${RTE_SDK}/arch-machine-execenv-toolchain, which is referenced internally by ${RTE_BIN_SDK}.
To compile their application, the user just has to call make.
The compilation result will be located in /path/to/my_app/build directory.
Sample applications are provided in the examples directory.
.. _Makefile_Description:
Makefile Description
--------------------
General Rules For DPDK Makefiles
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In the DPDK, Makefiles always follow the same scheme:
#. Include $(RTE_SDK)/mk/rte.vars.mk at the beginning.
#. Define specific variables for RTE build system.
#. Include a specific $(RTE_SDK)/mk/rte.XYZ.mk, where XYZ can be app, lib, extapp, extlib, obj, gnuconfigure,
and so on, depending on what kind of object you want to build.
:ref:`See Makefile Types <Makefile_Types>` below.
#. Include user-defined rules and variables.
The following is a very simple example of an external application Makefile:
.. code-block:: make
include $(RTE_SDK)/mk/rte.vars.mk
# binary name
APP = helloworld
# all source are stored in SRCS-y
SRCS-y := main.c
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
include $(RTE_SDK)/mk/rte.extapp.mk
.. _Makefile_Types:
Makefile Types
~~~~~~~~~~~~~~
Depending on the .mk file which is included at the end of the user Makefile, the Makefile will have a different role.
Note that it is not possible to build a library and an application in the same Makefile.
For that, the user must create two separate Makefiles, possibly in two different directories.
In any case, the rte.vars.mk file must be included in the user Makefile as soon as possible.
Application
^^^^^^^^^^^
These Makefiles generate a binary application.
* rte.app.mk: Application in the development kit framework
* rte.extapp.mk: External application
* rte.hostapp.mk: prerequisite tool to build dpdk
Library
^^^^^^^
Generate a .a library.
* rte.lib.mk: Library in the development kit framework
* rte.extlib.mk: external library
* rte.hostlib.mk: host library in the development kit framework
Install
^^^^^^^
* rte.install.mk: Does not build anything, it is only used to create links or copy files to the installation directory.
This is useful for including files in the development kit framework.
Kernel Module
^^^^^^^^^^^^^
* rte.module.mk: Build a kernel module in the development kit framework.
Objects
^^^^^^^
* rte.obj.mk: Object aggregation (merge several .o in one) in the development kit framework.
* rte.extobj.mk: Object aggregation (merge several .o in one) outside the development kit framework.
Misc
^^^^
* rte.gnuconfigure.mk: Build an application that is configure-based.
* rte.subdir.mk: Build several directories in the development kit framework.
.. _Internally_Generated_Build_Tools:
Internally Generated Build Tools
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``app/dpdk-pmdinfogen``
``dpdk-pmdinfogen`` scans an object (.o) file for various well known symbol names.
These well known symbol names are defined by various macros and used to export
important information about hardware support and usage for pmd files. For
instance the macro:
.. code-block:: c
RTE_PMD_REGISTER_PCI(name, drv)
Creates the following symbol:
.. code-block:: c
static char this_pmd_name0[] __attribute__((used)) = "<name>";
Which ``dpdk-pmdinfogen`` scans for. Using this information other relevant
bits of data can be exported from the object file and used to produce a
hardware support description, that ``dpdk-pmdinfogen`` then encodes into a
JSON formatted string in the following format:
.. code-block:: c
static char <name_pmd_string>="PMD_INFO_STRING=\"{'name' : '<name>', ...}\"";
These strings can then be searched for by external tools to determine the
hardware support of a given library or application.
.. _Useful_Variables_Provided_by_the_Build_System:
Useful Variables Provided by the Build System
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* RTE_SDK: The absolute path to the DPDK sources.
When compiling the development kit, this variable is automatically set by the framework.
It has to be defined by the user as an environment variable if compiling an external application.
* RTE_SRCDIR: The path to the root of the sources. When compiling the development kit, RTE_SRCDIR = RTE_SDK.
When compiling an external application, the variable points to the root of external application sources.
* RTE_OUTPUT: The path to which output files are written.
Typically, it is $(RTE_SRCDIR)/build, but it can be overridden by the O= option in the make command line.
* RTE_TARGET: A string identifying the target for which we are building.
The format is arch-machine-execenv-toolchain.
When compiling the SDK, the target is deduced by the build system from the configuration (.config).
When building an external application, it must be specified by the user in the Makefile or as an environment variable.
* RTE_SDK_BIN: References $(RTE_SDK)/$(RTE_TARGET).
* RTE_ARCH: Defines the architecture (i686, x86_64).
It is the same value as CONFIG_RTE_ARCH but without the double-quotes around the string.
* RTE_MACHINE: Defines the machine.
It is the same value as CONFIG_RTE_MACHINE but without the double-quotes around the string.
* RTE_TOOLCHAIN: Defines the toolchain (gcc , icc).
It is the same value as CONFIG_RTE_TOOLCHAIN but without the double-quotes around the string.
* RTE_EXEC_ENV: Defines the executive environment (linux).
It is the same value as CONFIG_RTE_EXEC_ENV but without the double-quotes around the string.
* RTE_KERNELDIR: This variable contains the absolute path to the kernel sources that will be used to compile the kernel modules.
The kernel headers must be the same as the ones that will be used on the target machine (the machine that will run the application).
By default, the variable is set to /lib/modules/$(shell uname -r)/build,
which is correct when the target machine is also the build machine.
* RTE_DEVEL_BUILD: Stricter options (stop on warning). It defaults to y in a git tree.
Variables that Can be Set/Overridden in a Makefile Only
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* VPATH: The path list that the build system will search for sources. By default, RTE_SRCDIR will be included in VPATH.
* CFLAGS: Flags to use for C compilation. The user should use += to append data in this variable.
* LDFLAGS: Flags to use for linking. The user should use += to append data in this variable.
* ASFLAGS: Flags to use for assembly. The user should use += to append data in this variable.
* CPPFLAGS: Flags to use to give flags to C preprocessor (only useful when assembling .S files).
The user should use += to append data in this variable.
* LDLIBS: In an application, the list of libraries to link with (for example, -L /path/to/libfoo -lfoo ).
The user should use += to append data in this variable.
* SRC-y: A list of source files (.c, .S, or .o if the source is a binary) in case of application, library or object Makefiles.
The sources must be available from VPATH.
* INSTALL-y-$(INSTPATH): A list of files to be installed in $(INSTPATH).
The files must be available from VPATH and will be copied in $(RTE_OUTPUT)/$(INSTPATH). Can be used in almost any RTE Makefile.
* SYMLINK-y-$(INSTPATH): A list of files to be installed in $(INSTPATH).
The files must be available from VPATH and will be linked (symbolically) in $(RTE_OUTPUT)/$(INSTPATH).
This variable can be used in almost any DPDK Makefile.
* PREBUILD: A list of prerequisite actions to be taken before building. The user should use += to append data in this variable.
* POSTBUILD: A list of actions to be taken after the main build. The user should use += to append data in this variable.
* PREINSTALL: A list of prerequisite actions to be taken before installing. The user should use += to append data in this variable.
* POSTINSTALL: A list of actions to be taken after installing. The user should use += to append data in this variable.
* PRECLEAN: A list of prerequisite actions to be taken before cleaning. The user should use += to append data in this variable.
* POSTCLEAN: A list of actions to be taken after cleaning. The user should use += to append data in this variable.
* DEPDIRS-$(DIR): Only used in the development kit framework to specify if the build of the current directory depends on build of another one.
This is needed to support parallel builds correctly.
Variables that can be Set/Overridden by the User on the Command Line Only
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Some variables can be used to configure the build system behavior. They are documented in
:ref:`Development Kit Root Makefile Help <Development_Kit_Root_Makefile_Help>` and
:ref:`External Application/Library Makefile Help <External_Application/Library_Makefile_Help>`
* WERROR_CFLAGS: By default, this is set to a specific value that depends on the compiler.
Users are encouraged to use this variable as follows:
CFLAGS += $(WERROR_CFLAGS)
This avoids the use of different cases depending on the compiler (icc or gcc).
Also, this variable can be overridden from the command line, which allows bypassing of the flags for testing purposes.
Variables that Can be Set/Overridden by the User in a Makefile or Command Line
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* CFLAGS_my_file.o: Specific flags to add for C compilation of my_file.c.
* LDFLAGS_my_app: Specific flags to add when linking my_app.
* EXTRA_CFLAGS: The content of this variable is appended after CFLAGS when compiling.
* EXTRA_LDFLAGS: The content of this variable is appended after LDFLAGS when linking.
* EXTRA_LDLIBS: The content of this variable is appended after LDLIBS when linking.
* EXTRA_ASFLAGS: The content of this variable is appended after ASFLAGS when assembling.
* EXTRA_CPPFLAGS: The content of this variable is appended after CPPFLAGS when using a C preprocessor on assembly files.

View File

@ -1,188 +0,0 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2010-2014 Intel Corporation.
.. _Development_Kit_Root_Makefile_Help:
Development Kit Root Makefile Help
==================================
The DPDK provides a root level Makefile with targets for configuration, building, cleaning, testing, installation and others.
These targets are explained in the following sections.
Configuration Targets
---------------------
The configuration target requires the name of the target, which is specified using T=mytarget and it is mandatory.
The list of available targets are in $(RTE_SDK)/config (remove the defconfig _ prefix).
Configuration targets also support the specification of the name of the output directory, using O=mybuilddir.
This is an optional parameter, the default output directory is build.
* Config
This will create a build directory, and generates a configuration from a template.
A Makefile is also created in the new build directory.
Example:
.. code-block:: console
make config O=mybuild T=x86_64-native-linux-gcc
Build Targets
-------------
Build targets support the optional specification of the name of the output directory, using O=mybuilddir.
The default output directory is build.
* all, build or just make
Build the DPDK in the output directory previously created by a make config.
Example:
.. code-block:: console
make O=mybuild
* clean
Clean all objects created using make build.
Example:
.. code-block:: console
make clean O=mybuild
* %_sub
Build a subdirectory only, without managing dependencies on other directories.
Example:
.. code-block:: console
make lib/librte_eal_sub O=mybuild
* %_clean
Clean a subdirectory only.
Example:
.. code-block:: console
make lib/librte_eal_clean O=mybuild
Install Targets
---------------
* Install
The list of available targets are in $(RTE_SDK)/config (remove the defconfig\_ prefix).
The GNU standards variables may be used:
http://gnu.org/prep/standards/html_node/Directory-Variables.html and
http://gnu.org/prep/standards/html_node/DESTDIR.html
Example:
.. code-block:: console
make install DESTDIR=myinstall prefix=/usr
Test Targets
------------
* test
Launch automatic tests for a build directory specified using O=mybuilddir.
It is optional, the default output directory is build.
Example:
.. code-block:: console
make test O=mybuild
Documentation Targets
---------------------
* doc
Generate the documentation (API and guides).
* doc-api-html
Generate the Doxygen API documentation in html.
* doc-guides-html
Generate the guides documentation in html.
* doc-guides-pdf
Generate the guides documentation in pdf.
Misc Targets
------------
* help
Show a quick help.
Other Useful Command-line Variables
-----------------------------------
The following variables can be specified on the command line:
* V=
Enable verbose build (show full compilation command line, and some intermediate commands).
* D=
Enable dependency debugging. This provides some useful information about why a target is built or not.
* EXTRA_CFLAGS=, EXTRA_LDFLAGS=, EXTRA_LDLIBS=, EXTRA_ASFLAGS=, EXTRA_CPPFLAGS=
Append specific compilation, link or asm flags.
* CROSS=
Specify a cross toolchain header that will prefix all gcc/binutils applications. This only works when using gcc.
Make in a Build Directory
-------------------------
All targets described above are called from the SDK root $(RTE_SDK).
It is possible to run the same Makefile targets inside the build directory.
For instance, the following command:
.. code-block:: console
cd $(RTE_SDK)
make config O=mybuild T=x86_64-native-linux-gcc
make O=mybuild
is equivalent to:
.. code-block:: console
cd $(RTE_SDK)
make config O=mybuild T=x86_64-native-linux-gcc
cd mybuild
# no need to specify O= now
make
Compiling for Debug
-------------------
To compile the DPDK and sample applications with debugging information included and the optimization level set to 0,
the EXTRA_CFLAGS environment variable should be set before compiling as follows:
.. code-block:: console
export EXTRA_CFLAGS='-O0 -g'

View File

@ -1,98 +0,0 @@
.. SPDX-License-Identifier: BSD-3-Clause
Copyright(c) 2010-2014 Intel Corporation.
.. _External_Application/Library_Makefile_help:
External Application/Library Makefile help
==========================================
External applications or libraries should include specific Makefiles from RTE_SDK, located in mk directory.
These Makefiles are:
* ${RTE_SDK}/mk/rte.extapp.mk: Build an application
* ${RTE_SDK}/mk/rte.extlib.mk: Build a static library
* ${RTE_SDK}/mk/rte.extobj.mk: Build objects (.o)
Prerequisites
-------------
The following variables must be defined:
* ${RTE_SDK}: Points to the root directory of the DPDK.
* ${RTE_TARGET}: Reference the target to be used for compilation (for example, x86_64-native-linux-gcc).
Build Targets
-------------
Build targets support the specification of the name of the output directory, using O=mybuilddir.
This is optional; the default output directory is build.
* all, "nothing" (meaning just make)
Build the application or the library in the specified output directory.
Example:
.. code-block:: console
make O=mybuild
* clean
Clean all objects created using make build.
Example:
.. code-block:: console
make clean O=mybuild
Help Targets
------------
* help
Show this help.
Other Useful Command-line Variables
-----------------------------------
The following variables can be specified at the command line:
* S=
Specify the directory in which the sources are located. By default, it is the current directory.
* M=
Specify the Makefile to call once the output directory is created. By default, it uses $(S)/Makefile.
* V=
Enable verbose build (show full compilation command line and some intermediate commands).
* D=
Enable dependency debugging. This provides some useful information about why a target must be rebuilt or not.
* EXTRA_CFLAGS=, EXTRA_LDFLAGS=, EXTRA_ASFLAGS=, EXTRA_CPPFLAGS=
Append specific compilation, link or asm flags.
* CROSS=
Specify a cross-toolchain header that will prefix all gcc/binutils applications. This only works when using gcc.
Make from Another Directory
---------------------------
It is possible to run the Makefile from another directory, by specifying the output and the source dir. For example:
.. code-block:: console
export RTE_SDK=/path/to/DPDK
export RTE_TARGET=x86_64-native-linux-icc
make -f /path/to/my_app/Makefile S=/path/to/my_app O=/path/to/build_dir

View File

@ -62,12 +62,9 @@ Programmer's Guide
ipsec_lib
graph_lib
source_org
dev_kit_build_system
dev_kit_root_make_help
build-sdk-meson
meson_ut
build_app
ext_app_lib_make_help
perf_opt_guidelines
writing_efficient_code
lto

View File

@ -34,7 +34,7 @@ The following is a list of DPDK documents in the suggested reading order:
specifically in a Linux* application (linux) environment
* The content of the DPDK, the build system
(including the commands that can be used in the root DPDK Makefile to build the development kit and an application)
(including the commands that can be used in the root DPDK to build the development kit and an application)
and guidelines for porting an application
* Optimizations used in the software and those that should be considered for new development

View File

@ -18,7 +18,7 @@ The framework creates a set of libraries for specific environments
through the creation of an Environment Abstraction Layer (EAL),
which may be specific to a mode of the Intel® architecture (32-bit or 64-bit),
Linux* user space compilers or a specific platform.
These environments are created through the use of make files and configuration files.
These environments are created through the use of meson files and configuration files.
Once the EAL library is created, the user may link with the library to create their own applications.
Other libraries, outside of EAL, including the Hash,
Longest Prefix Match (LPM) and rings libraries are also provided.
@ -38,21 +38,13 @@ Development Environment
-----------------------
The DPDK project installation requires Linux and the associated toolchain,
such as one or more compilers, assembler, make utility,
such as one or more compilers, assembler, meson utility,
editor and various libraries to create the DPDK components and libraries.
Once these libraries are created for the specific environment and architecture,
they may then be used to create the user's data plane application.
When creating applications for the Linux user space, the glibc library is used.
For DPDK applications, two environmental variables (RTE_SDK and RTE_TARGET)
must be configured before compiling the applications.
The following are examples of how the variables can be set:
.. code-block:: console
export RTE_SDK=/home/user/DPDK
export RTE_TARGET=x86_64-native-linux-gcc
See the *DPDK Getting Started Guide* for information on setting up the development environment.

View File

@ -8,29 +8,10 @@ Source Organization
This section describes the organization of sources in the DPDK framework.
Makefiles and Config
--------------------
.. note::
In the following descriptions,
``RTE_SDK`` is the environment variable that points to the base directory into which the tarball was extracted.
See
:ref:`Useful_Variables_Provided_by_the_Build_System`
for descriptions of other variables.
Makefiles that are provided by the DPDK libraries and applications are located in ``$(RTE_SDK)/mk``.
Config templates are located in ``$(RTE_SDK)/config``. The templates describe the options that are enabled for each target.
The config file also contains items that can be enabled and disabled for many of the DPDK libraries,
including debug options.
The user should look at the config file and become familiar with these options.
The config file is also used to create a header file, which will be located in the new build directory.
Libraries
---------
Libraries are located in subdirectories of ``$(RTE_SDK)/lib``.
Libraries are located in subdirectories of ``dpdk/lib``.
By convention a library refers to any code that provides an API to an application.
Typically, it generates an archive file (``.a``), but a kernel module would also go in the same directory.
@ -55,7 +36,7 @@ Applications
------------
Applications are source files that contain a ``main()`` function.
They are located in the ``$(RTE_SDK)/app`` and ``$(RTE_SDK)/examples`` directories.
They are located in the ``dpdk/app`` and ``dpdk/examples`` directories.
The app directory contains sample applications that are used to test DPDK (such as autotests)
or the Poll Mode Drivers (test-pmd).

View File

@ -11,13 +11,6 @@ here.
Deprecation Notices
-------------------
* make: Support for building DPDK with "make" has been deprecated and
support will be removed in the 20.11 release. From 20.11 onwards, DPDK
should be built using meson and ninja. For basic instructions see the
`Quick-start Guide <https://core.dpdk.org/doc/quick-start/>`_ on the
website or the `Getting Started Guide
<https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html>`_ document.
* meson: The minimum supported version of meson for configuring and building
DPDK will be increased to v0.47.1 (from 0.41) from DPDK 19.05 onwards. For
those users with a version earlier than 0.47.1, an updated copy of meson

View File

@ -1,34 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2010-2015 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
DIRS-y += common
DIRS-y += bus
DEPDIRS-bus := common
DIRS-y += mempool
DEPDIRS-mempool := common bus
ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
DIRS-y += common/mlx5
DEPDIRS-common/mlx5 := bus
endif
DIRS-y += net
DEPDIRS-net := common bus mempool common/mlx5
DIRS-$(CONFIG_RTE_LIBRTE_BBDEV) += baseband
DEPDIRS-baseband := common bus mempool
DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += crypto
DEPDIRS-crypto := common bus mempool
DIRS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += common/qat
DEPDIRS-common/qat := bus mempool
DIRS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += compress
DEPDIRS-compress := bus mempool
DIRS-$(CONFIG_RTE_LIBRTE_REGEXDEV) += regex
DEPDIRS-regex := common bus common/mlx5
DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vdpa
DEPDIRS-vdpa := common bus mempool common/mlx5
DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += event
DEPDIRS-event := common bus mempool net crypto
DIRS-$(CONFIG_RTE_LIBRTE_RAWDEV) += raw
DEPDIRS-raw := common bus mempool net event
include $(RTE_SDK)/mk/rte.subdir.mk

View File

@ -1,18 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
core-libs := librte_eal librte_mbuf librte_mempool librte_ring
core-libs += librte_bbdev librte_kvargs librte_cfgfile
DIRS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL) += null
DEPDIRS-null = $(core-libs)
DIRS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += turbo_sw
DEPDIRS-turbo_sw = $(core-libs)
DIRS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC) += fpga_lte_fec
DEPDIRS-fpga_lte_fec = $(core-libs)
DIRS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC) += fpga_5gnr_fec
DEPDIRS-fpga_5gnr_fec = $(core-libs)
include $(RTE_SDK)/mk/rte.subdir.mk

View File

@ -1,28 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2019 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_bbdev_fpga_5gnr_fec.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_bbdev
LDLIBS += -lrte_pci -lrte_bus_pci
# versioning export map
EXPORT_MAP := rte_pmd_bbdev_fpga_5gnr_fec_version.map
# library version
LIBABIVER := 1
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC) += rte_fpga_5gnr_fec.c
# export include files
SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC)-include += rte_pmd_fpga_5gnr_fec.h
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,25 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2019 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_bbdev_fpga_lte_fec.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_bbdev
LDLIBS += -lrte_pci -lrte_bus_pci
# versioning export map
EXPORT_MAP := rte_pmd_bbdev_fpga_lte_fec_version.map
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC) += fpga_lte_fec.c
# export include files
SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC)-include += fpga_lte_fec.h
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,21 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_bbdev_null.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lrte_kvargs
LDLIBS += -lrte_bbdev
LDLIBS += -lrte_bus_vdev
# versioning export map
EXPORT_MAP := rte_pmd_bbdev_null_version.map
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL) += bbdev_null.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,52 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_bbdev_turbo_sw.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lrte_kvargs
LDLIBS += -lrte_bbdev
LDLIBS += -lrte_bus_vdev
# versioning export map
EXPORT_MAP := rte_pmd_bbdev_turbo_sw_version.map
# external library dependencies if available
ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX2),y)
ifeq ($(FLEXRAN_SDK),)
$(error "Please define FLEXRAN_SDK environment variable")
endif
CFLAGS += -I$(FLEXRAN_SDK)/lib_common
CFLAGS += -I$(FLEXRAN_SDK)/lib_turbo
CFLAGS += -I$(FLEXRAN_SDK)/lib_crc
CFLAGS += -I$(FLEXRAN_SDK)/lib_rate_matching
LDLIBS += -L$(FLEXRAN_SDK)/lib_turbo -lturbo
LDLIBS += -L$(FLEXRAN_SDK)/lib_crc -lcrc
LDLIBS += -L$(FLEXRAN_SDK)/lib_rate_matching -lrate_matching
LDLIBS += -L$(FLEXRAN_SDK)/lib_common -lcommon
LDLIBS += -lstdc++ -lirc -limf -lipps -lsvml
endif
ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX512),y)
ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX2),n)
$(error "CONFIG_RTE_BBDEV_SDK_AVX512 requires CONFIG_RTE_BBDEV_SDK_AVX2 set")
endif
CFLAGS += -I$(FLEXRAN_SDK)/lib_ldpc_encoder_5gnr
CFLAGS += -I$(FLEXRAN_SDK)/lib_ldpc_decoder_5gnr
CFLAGS += -I$(FLEXRAN_SDK)/lib_LDPC_ratematch_5gnr
CFLAGS += -I$(FLEXRAN_SDK)/lib_rate_dematching_5gnr
LDLIBS += -L$(FLEXRAN_SDK)/lib_ldpc_encoder_5gnr -lldpc_encoder_5gnr
LDLIBS += -L$(FLEXRAN_SDK)/lib_ldpc_decoder_5gnr -lldpc_decoder_5gnr
LDLIBS += -L$(FLEXRAN_SDK)/lib_LDPC_ratematch_5gnr -lLDPC_ratematch_5gnr
LDLIBS += -L$(FLEXRAN_SDK)/lib_rate_dematching_5gnr -lrate_dematching_5gnr
endif
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += bbdev_turbo_software.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,15 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2016 NXP
include $(RTE_SDK)/mk/rte.vars.mk
DIRS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += dpaa
ifeq ($(CONFIG_RTE_EAL_VFIO),y)
DIRS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc
endif
DIRS-$(CONFIG_RTE_LIBRTE_IFPGA_BUS) += ifpga
DIRS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci
DIRS-$(CONFIG_RTE_LIBRTE_VDEV_BUS) += vdev
DIRS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus
include $(RTE_SDK)/mk/rte.subdir.mk

View File

@ -1,48 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2016 NXP
include $(RTE_SDK)/mk/rte.vars.mk
RTE_BUS_DPAA=$(RTE_SDK)/drivers/bus/dpaa
#
# library name
#
LIB = librte_bus_dpaa.a
CFLAGS := -I$(SRCDIR) $(CFLAGS)
CFLAGS += -O3 $(WERROR_FLAGS)
CFLAGS += -Wno-pointer-arith
CFLAGS += -Wno-cast-qual
CFLAGS += -I$(RTE_BUS_DPAA)/
CFLAGS += -I$(RTE_BUS_DPAA)/include
CFLAGS += -I$(RTE_BUS_DPAA)/base/qbman
CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
# versioning export map
EXPORT_MAP := rte_bus_dpaa_version.map
# all source are stored in SRCS-y
#
SRCS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += \
dpaa_bus.c
SRCS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += \
base/fman/fman.c \
base/fman/fman_hw.c \
base/fman/netcfg_layer.c \
base/qbman/process.c \
base/qbman/bman.c \
base/qbman/bman_driver.c \
base/qbman/qman.c \
base/qbman/qman_driver.c \
base/qbman/dpaa_alloc.c \
base/qbman/dpaa_sys.c
# Link Pthread
LDLIBS += -lpthread
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_ethdev
LDLIBS += -lrte_common_dpaax
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,47 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2016 NXP
#
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_bus_fslmc.a
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
LDLIBS += -lpthread
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_ethdev
LDLIBS += -lrte_common_dpaax
# versioning export map
EXPORT_MAP := rte_bus_fslmc_version.map
SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += \
qbman/qbman_portal.c \
qbman/qbman_debug.c
SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += \
mc/dpmng.c \
mc/dpbp.c \
mc/dpio.c \
mc/mc_sys.c \
mc/dpcon.c \
mc/dpci.c \
mc/dpdmai.c
SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += portal/dpaa2_hw_dpio.c
SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += portal/dpaa2_hw_dpbp.c
SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += portal/dpaa2_hw_dpci.c
SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc_vfio.c
SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc_bus.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,28 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_bus_ifpga.a
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
LDLIBS += -lrte_eal
LDLIBS += -lrte_rawdev
LDLIBS += -lrte_kvargs
# versioning export map
EXPORT_MAP := rte_bus_ifpga_version.map
SRCS-$(CONFIG_RTE_LIBRTE_IFPGA_BUS) += ifpga_bus.c
SRCS-$(CONFIG_RTE_LIBRTE_IFPGA_BUS) += ifpga_common.c
#
# Export include files
#
SYMLINK-$(CONFIG_RTE_LIBRTE_IFPGA_BUS)-include += rte_bus_ifpga.h
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,33 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 6WIND S.A.
include $(RTE_SDK)/mk/rte.vars.mk
LIB = librte_bus_pci.a
EXPORT_MAP := rte_bus_pci_version.map
CFLAGS := -I$(SRCDIR) $(CFLAGS)
CFLAGS += -O3 $(WERROR_FLAGS)
ifneq ($(CONFIG_RTE_EXEC_ENV_LINUX),)
SYSTEM := linux
endif
ifneq ($(CONFIG_RTE_EXEC_ENV_FREEBSD),)
SYSTEM := bsd
endif
CFLAGS += -I$(RTE_SDK)/drivers/bus/pci/$(SYSTEM)
CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_pci -lrte_kvargs
include $(RTE_SDK)/drivers/bus/pci/$(SYSTEM)/Makefile
SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) := $(addprefix $(SYSTEM)/,$(SRCS))
SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci_params.c
SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci_common.c
SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci_common_uio.c
SYMLINK-$(CONFIG_RTE_LIBRTE_PCI_BUS)-include += rte_bus_pci.h
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,4 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 6WIND S.A.
SRCS += pci.c

View File

@ -1,6 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 6WIND S.A.
SRCS += pci.c
SRCS += pci_uio.c
SRCS += pci_vfio.c

View File

@ -1,27 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_bus_vdev.a
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
# versioning export map
EXPORT_MAP := rte_bus_vdev_version.map
SRCS-y += vdev.c
SRCS-y += vdev_params.c
LDLIBS += -lrte_eal -lrte_kvargs
#
# Export include files
#
SYMLINK-y-include += rte_bus_vdev.h
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,33 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
include $(RTE_SDK)/mk/rte.vars.mk
LIB = librte_bus_vmbus.a
EXPORT_MAP := rte_bus_vmbus_version.map
CFLAGS += -I$(SRCDIR)
CFLAGS += -O3 $(WERROR_FLAGS)
ifneq ($(CONFIG_RTE_EXEC_ENV_LINUX),)
SYSTEM := linux
endif
ifneq ($(CONFIG_RTE_EXEC_ENV_FREEBSD),)
$(error "VMBUS not implemented for BSD yet")
endif
CFLAGS += -I$(RTE_SDK)/drivers/bus/vmbus/$(SYSTEM)
CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_ethdev
include $(RTE_SDK)/drivers/bus/vmbus/$(SYSTEM)/Makefile
SRCS-$(CONFIG_RTE_LIBRTE_VMBUS) := $(addprefix $(SYSTEM)/,$(SRCS))
SRCS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus_common.c
SRCS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus_channel.c vmbus_bufring.c
SRCS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus_common_uio.c
SYMLINK-$(CONFIG_RTE_LIBRTE_VMBUS)-include += rte_bus_vmbus.h
SYMLINK-$(CONFIG_RTE_LIBRTE_VMBUS)-include += rte_vmbus_reg.h
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,3 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
SRCS += vmbus_bus.c vmbus_uio.c

View File

@ -1,39 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Cavium, Inc
#
include $(RTE_SDK)/mk/rte.vars.mk
CPT-y := $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO)
CPT-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO)
ifneq (,$(findstring y,$(CPT-y)))
DIRS-y += cpt
endif
ifeq ($(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF)$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL),yy)
DIRS-y += octeontx
endif
OCTEONTX2-y := $(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL)
OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO)
ifeq ($(findstring y,$(OCTEONTX2-y)),y)
DIRS-y += octeontx2
endif
MVEP-y := $(CONFIG_RTE_LIBRTE_MVPP2_PMD)
MVEP-y += $(CONFIG_RTE_LIBRTE_MVNETA_PMD)
MVEP-y += $(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO)
ifneq (,$(findstring y,$(MVEP-y)))
DIRS-y += mvep
endif
ifeq ($(CONFIG_RTE_LIBRTE_COMMON_DPAAX),y)
DIRS-y += dpaax
endif
IAVF-y := $(CONFIG_RTE_LIBRTE_IAVF_PMD)
IAVF-y += $(CONFIG_RTE_LIBRTE_ICE_PMD)
ifneq (,$(findstring y,$(IAVF-y)))
DIRS-y += iavf
endif
include $(RTE_SDK)/mk/rte.subdir.mk

View File

@ -1,24 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Cavium, Inc
#
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_common_cpt.a
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -I$(RTE_SDK)/drivers/bus/pci
EXPORT_MAP := rte_common_cpt_version.map
#
# all source are stored in SRCS-y
#
SRCS-y += cpt_fpm_tables.c
SRCS-y += cpt_pmd_ops_helper.c
LDLIBS += -lrte_eal
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,30 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2018 NXP
#
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_common_dpaax.a
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -Wno-pointer-arith
CFLAGS += -Wno-cast-qual
CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib
# versioning export map
EXPORT_MAP := rte_common_dpaax_version.map
#
# all source are stored in SRCS-y
#
SRCS-y += dpaax_iova_table.c dpaa_of.c caamflib.c
LDLIBS += -lrte_eal
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,27 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2019 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_common_iavf.a
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -Wno-pointer-arith
CFLAGS += -Wno-cast-qual
EXPORT_MAP := rte_common_iavf_version.map
#
# all source are stored in SRCS-y
#
SRCS-y += iavf_adminq.c
SRCS-y += iavf_common.c
SRCS-y += iavf_impl.c
LDLIBS += -lrte_eal
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,404 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2019 Mellanox Technologies, Ltd
include $(RTE_SDK)/mk/rte.vars.mk
# Library name.
LIB = librte_common_mlx5.a
LIB_GLUE = $(LIB_GLUE_BASE).$(LIB_GLUE_VERSION)
LIB_GLUE_BASE = librte_pmd_mlx5_glue.so
LIB_GLUE_VERSION = 20.02.0
# Sources.
ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
ifneq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
SRCS-y += linux/mlx5_glue.c
endif
SRCS-y += mlx5_devx_cmds.c
SRCS-y += mlx5_common.c
SRCS-y += linux/mlx5_common_os.c
SRCS-y += linux/mlx5_nl.c
SRCS-y += linux/mlx5_common_verbs.c
SRCS-y += mlx5_common_mp.c
SRCS-y += mlx5_common_mr.c
SRCS-y += mlx5_malloc.c
SRCS-y += mlx5_common_pci.c
ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
INSTALL-y-lib += $(LIB_GLUE)
endif
endif
# Basic CFLAGS.
CFLAGS += -O3
CFLAGS += -std=c11 -Wall -Wextra
CFLAGS += -g
CFLAGS += -I.
CFLAGS += -I$(SRCDIR)
CFLAGS += -I$(SRCDIR)/linux
CFLAGS += -D_BSD_SOURCE
CFLAGS += -D_DEFAULT_SOURCE
CFLAGS += -D_XOPEN_SOURCE=600
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -Wno-strict-prototypes
ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
CFLAGS += -DMLX5_GLUE='"$(LIB_GLUE)"'
CFLAGS += -DMLX5_GLUE_VERSION='"$(LIB_GLUE_VERSION)"'
CFLAGS_linux/mlx5_glue.o += -fPIC
LDLIBS += -ldl
else ifeq ($(CONFIG_RTE_IBVERBS_LINK_STATIC),y)
LDLIBS += $(shell $(RTE_SDK)/buildtools/options-ibverbs-static.sh)
else
LDLIBS += -libverbs -lmlx5
endif
LDLIBS += -lrte_eal -lrte_pci -lrte_kvargs -lrte_net
LDLIBS += -lrte_bus_pci
# A few warnings cannot be avoided in external headers.
CFLAGS += -Wno-error=cast-qual -UPEDANTIC
EXPORT_MAP := rte_common_mlx5_version.map
include $(RTE_SDK)/mk/rte.lib.mk
# Generate and clean-up mlx5_autoconf.h.
export CC CFLAGS CPPFLAGS EXTRA_CFLAGS EXTRA_CPPFLAGS
export AUTO_CONFIG_CFLAGS = -Wno-error
ifndef V
AUTOCONF_OUTPUT := >/dev/null
endif
mlx5_autoconf.h.new: FORCE
mlx5_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh
$Q $(RM) -f -- '$@'
$Q sh -- '$<' '$@' \
HAVE_IBV_RELAXED_ORDERING \
infiniband/verbs.h \
enum IBV_ACCESS_RELAXED_ORDERING \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_DEVICE_STRIDING_RQ_SUPPORT \
infiniband/mlx5dv.h \
enum MLX5DV_CQE_RES_FORMAT_CSUM_STRIDX \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_DEVICE_TUNNEL_SUPPORT \
infiniband/mlx5dv.h \
enum MLX5DV_CONTEXT_MASK_TUNNEL_OFFLOADS \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_DEVICE_MPLS_SUPPORT \
infiniband/verbs.h \
enum IBV_FLOW_SPEC_MPLS \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING \
infiniband/verbs.h \
enum IBV_WQ_FLAGS_PCI_WRITE_END_PADDING \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_WQ_FLAG_RX_END_PADDING \
infiniband/verbs.h \
enum IBV_WQ_FLAG_RX_END_PADDING \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_MLX5_MOD_SWP \
infiniband/mlx5dv.h \
type 'struct mlx5dv_sw_parsing_caps' \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_MLX5_MOD_MPW \
infiniband/mlx5dv.h \
enum MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_MLX5_MOD_CQE_128B_COMP \
infiniband/mlx5dv.h \
enum MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_MLX5_MOD_CQE_128B_PAD \
infiniband/mlx5dv.h \
enum MLX5DV_CQ_INIT_ATTR_FLAGS_CQE_PAD \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_FLOW_DV_SUPPORT \
infiniband/mlx5dv.h \
func mlx5dv_create_flow_action_packet_reformat \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_MLX5DV_DR \
infiniband/mlx5dv.h \
enum MLX5DV_DR_DOMAIN_TYPE_NIC_RX \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_MLX5DV_DR_ESWITCH \
infiniband/mlx5dv.h \
enum MLX5DV_DR_DOMAIN_TYPE_FDB \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_MLX5DV_DR_VLAN \
infiniband/mlx5dv.h \
func mlx5dv_dr_action_create_push_vlan \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_MLX5DV_DR_DEVX_PORT \
infiniband/mlx5dv.h \
func mlx5dv_query_devx_port \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_DEVX_OBJ \
infiniband/mlx5dv.h \
func mlx5dv_devx_obj_create \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_FLOW_DEVX_COUNTERS \
infiniband/mlx5dv.h \
enum MLX5DV_FLOW_ACTION_COUNTERS_DEVX \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_MLX5_DR_CREATE_ACTION_DEFAULT_MISS \
infiniband/mlx5dv.h \
enum MLX5DV_FLOW_ACTION_DEFAULT_MISS \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_DEVX_ASYNC \
infiniband/mlx5dv.h \
func mlx5dv_devx_obj_query_async \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_DEVX_QP \
infiniband/mlx5dv.h \
func mlx5dv_devx_qp_query \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_MLX5DV_DEVX_UAR_OFFSET \
infiniband/mlx5dv.h \
field "struct mlx5dv_devx_uar.mmap_off" \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_MLX5DV_PP_ALLOC \
infiniband/mlx5dv.h \
func mlx5dv_pp_alloc \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_MLX5DV_DR_ACTION_DEST_DEVX_TIR \
infiniband/mlx5dv.h \
func mlx5dv_dr_action_create_dest_devx_tir \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_DEVX_EVENT \
infiniband/mlx5dv.h \
func mlx5dv_devx_get_event \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_MLX5_DR_CREATE_ACTION_FLOW_METER \
infiniband/mlx5dv.h \
func mlx5dv_dr_action_create_flow_meter \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_MLX5_DR_FLOW_DUMP \
infiniband/mlx5dv.h \
func mlx5dv_dump_dr_domain \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_MLX5DV_MMAP_GET_NC_PAGES_CMD \
infiniband/mlx5dv.h \
enum MLX5_MMAP_GET_NC_PAGES_CMD \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_VAR \
infiniband/mlx5dv.h \
func mlx5dv_alloc_var \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_MLX5DV_DR_MEM_RECLAIM \
infiniband/mlx5dv.h \
func mlx5dv_dr_domain_set_reclaim_device_memory \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_MLX5_OPCODE_ENHANCED_MPSW \
infiniband/mlx5dv.h \
enum MLX5_OPCODE_ENHANCED_MPSW \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_MLX5_OPCODE_SEND_EN \
infiniband/mlx5dv.h \
enum MLX5_OPCODE_SEND_EN \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_MLX5_OPCODE_WAIT \
infiniband/mlx5dv.h \
enum MLX5_OPCODE_WAIT \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_ETHTOOL_LINK_MODE_25G \
/usr/include/linux/ethtool.h \
enum ETHTOOL_LINK_MODE_25000baseCR_Full_BIT \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_ETHTOOL_LINK_MODE_50G \
/usr/include/linux/ethtool.h \
enum ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_ETHTOOL_LINK_MODE_100G \
/usr/include/linux/ethtool.h \
enum ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_DEVICE_COUNTERS_SET_V42 \
infiniband/verbs.h \
type 'struct ibv_counter_set_init_attr' \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IBV_DEVICE_COUNTERS_SET_V45 \
infiniband/verbs.h \
type 'struct ibv_counters_init_attr' \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_RDMA_NL_NLDEV \
rdma/rdma_netlink.h \
enum RDMA_NL_NLDEV \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_RDMA_NLDEV_CMD_GET \
rdma/rdma_netlink.h \
enum RDMA_NLDEV_CMD_GET \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_RDMA_NLDEV_CMD_PORT_GET \
rdma/rdma_netlink.h \
enum RDMA_NLDEV_CMD_PORT_GET \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_RDMA_NLDEV_ATTR_DEV_INDEX \
rdma/rdma_netlink.h \
enum RDMA_NLDEV_ATTR_DEV_INDEX \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_RDMA_NLDEV_ATTR_DEV_NAME \
rdma/rdma_netlink.h \
enum RDMA_NLDEV_ATTR_DEV_NAME \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_RDMA_NLDEV_ATTR_PORT_INDEX \
rdma/rdma_netlink.h \
enum RDMA_NLDEV_ATTR_PORT_INDEX \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_RDMA_NLDEV_ATTR_NDEV_INDEX \
rdma/rdma_netlink.h \
enum RDMA_NLDEV_ATTR_NDEV_INDEX \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IFLA_NUM_VF \
linux/if_link.h \
enum IFLA_NUM_VF \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IFLA_EXT_MASK \
linux/if_link.h \
enum IFLA_EXT_MASK \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IFLA_PHYS_SWITCH_ID \
linux/if_link.h \
enum IFLA_PHYS_SWITCH_ID \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_IFLA_PHYS_PORT_NAME \
linux/if_link.h \
enum IFLA_PHYS_PORT_NAME \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_DEVLINK \
linux/devlink.h \
define DEVLINK_GENL_NAME \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_SUPPORTED_40000baseKR4_Full \
/usr/include/linux/ethtool.h \
define SUPPORTED_40000baseKR4_Full \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_SUPPORTED_40000baseCR4_Full \
/usr/include/linux/ethtool.h \
define SUPPORTED_40000baseCR4_Full \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_SUPPORTED_40000baseSR4_Full \
/usr/include/linux/ethtool.h \
define SUPPORTED_40000baseSR4_Full \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_SUPPORTED_40000baseLR4_Full \
/usr/include/linux/ethtool.h \
define SUPPORTED_40000baseLR4_Full \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_SUPPORTED_56000baseKR4_Full \
/usr/include/linux/ethtool.h \
define SUPPORTED_56000baseKR4_Full \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_SUPPORTED_56000baseCR4_Full \
/usr/include/linux/ethtool.h \
define SUPPORTED_56000baseCR4_Full \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_SUPPORTED_56000baseSR4_Full \
/usr/include/linux/ethtool.h \
define SUPPORTED_56000baseSR4_Full \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_SUPPORTED_56000baseLR4_Full \
/usr/include/linux/ethtool.h \
define SUPPORTED_56000baseLR4_Full \
$(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_STATIC_ASSERT \
/usr/include/assert.h \
define static_assert \
$(AUTOCONF_OUTPUT)
# Create mlx5_autoconf.h or update it in case it differs from the new one.
mlx5_autoconf.h: mlx5_autoconf.h.new
$Q [ -f '$@' ] && \
cmp '$<' '$@' $(AUTOCONF_OUTPUT) || \
mv '$<' '$@'
ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
$(SRCS-y:.c=.o): mlx5_autoconf.h
endif
# Generate dependency plug-in for rdma-core when the PMD must not be linked
# directly, so that applications do not inherit this dependency.
ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
$(LIB): $(LIB_GLUE)
ifeq ($(LINK_USING_CC),1)
GLUE_LDFLAGS := $(call linkerprefix,$(LDFLAGS))
else
GLUE_LDFLAGS := $(LDFLAGS)
endif
$(LIB_GLUE): linux/mlx5_glue.o
$Q $(LD) $(GLUE_LDFLAGS) $(EXTRA_LDFLAGS) \
-Wl,-h,$(LIB_GLUE) \
-shared -o $@ $< -libverbs -lmlx5
linux/mlx5_glue.o: mlx5_autoconf.h
endif
clean_mlx5: FORCE
$Q rm -f -- mlx5_autoconf.h mlx5_autoconf.h.new
$Q rm -f -- linux/mlx5_glue.o $(LIB_GLUE_BASE)*
clean: clean_mlx5

View File

@ -1,35 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Marvell International Ltd.
#
include $(RTE_SDK)/mk/rte.vars.mk
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),config)
ifeq ($(LIBMUSDK_PATH),)
$(error "Please define LIBMUSDK_PATH environment variable")
endif
endif
endif
# library name
LIB = librte_common_mvep.a
# versioning export map
EXPORT_MAP := rte_common_mvep_version.map
# external library dependencies
CFLAGS += -I$($RTE_SDK)/drivers/common/mvep
CFLAGS += -I$(LIBMUSDK_PATH)/include
CFLAGS += -DMVCONF_TYPES_PUBLIC
CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -O3
LDLIBS += -L$(LIBMUSDK_PATH)/lib
LDLIBS += -lmusdk
LDLIBS += -lrte_eal -lrte_kvargs
# library source files
SRCS-y += mvep_common.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,22 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Cavium, Inc
#
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_common_octeontx.a
CFLAGS += $(WERROR_FLAGS)
EXPORT_MAP := rte_common_octeontx_version.map
#
# all source are stored in SRCS-y
#
SRCS-y += octeontx_mbox.c
LDLIBS += -lrte_eal
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,39 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(C) 2019 Marvell International Ltd.
#
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_common_octeontx2.a
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
CFLAGS += -I$(RTE_SDK)/drivers/bus/pci
ifneq ($(CONFIG_RTE_ARCH_64),y)
CFLAGS += -Wno-int-to-pointer-cast
CFLAGS += -Wno-pointer-to-int-cast
ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
CFLAGS += -diag-disable 2259
endif
endif
EXPORT_MAP := rte_common_octeontx2_version.map
#
# all source are stored in SRCS-y
#
SRCS-y += otx2_dev.c
SRCS-y += otx2_irq.c
SRCS-y += otx2_mbox.c
SRCS-y += otx2_common.c
SRCS-y += otx2_sec_idev.c
LDLIBS += -lrte_eal
LDLIBS += -lrte_ethdev -lrte_kvargs
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,74 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2015-2018 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
# build directories
QAT_CRYPTO_DIR := $(RTE_SDK)/drivers/crypto/qat
QAT_COMPRESS_DIR := $(RTE_SDK)/drivers/compress/qat
VPATH=$(QAT_CRYPTO_DIR):$(QAT_COMPRESS_DIR)
# external library include paths
CFLAGS += -I$(SRCDIR)/qat_adf
CFLAGS += -I$(SRCDIR)
CFLAGS += -I$(QAT_CRYPTO_DIR)
CFLAGS += -I$(QAT_COMPRESS_DIR)
ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
LDLIBS += -lrte_compressdev
SRCS-y += qat_comp.c
SRCS-y += qat_comp_pmd.c
build_qat = yes
endif
# library symmetric crypto source files
ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT_ASYM),y)
LDLIBS += -lrte_cryptodev
LDLIBS += -lcrypto
CFLAGS += -DBUILD_QAT_ASYM
SRCS-y += qat_asym.c
SRCS-y += qat_asym_pmd.c
build_qat = yes
endif
ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT_SYM),y)
LDLIBS += -lrte_cryptodev
LDLIBS += -lcrypto
ifeq ($(CONFIG_RTE_LIBRTE_SECURITY),y)
LDLIBS += -lrte_net
endif
CFLAGS += -DBUILD_QAT_SYM
SRCS-y += qat_sym.c
SRCS-y += qat_sym_session.c
SRCS-y += qat_sym_pmd.c
build_qat = yes
endif
endif
ifdef build_qat
# library name
LIB = librte_pmd_qat.a
# build flags
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -O3
# library common source files
SRCS-y += qat_device.c
SRCS-y += qat_common.c
SRCS-y += qat_logs.c
SRCS-y += qat_qp.c
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
LDLIBS += -lrte_pci -lrte_bus_pci
# export include files
SYMLINK-y-include +=
# versioning export map
EXPORT_MAP := ../../compress/qat/rte_pmd_qat_version.map
endif
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,10 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
DIRS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += isal
DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += octeontx
DIRS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += zlib
include $(RTE_SDK)/mk/rte.subdir.mk

View File

@ -1,27 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_isal_comp.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
# external library dependencies
LDLIBS += -lisal
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_compressdev
LDLIBS += -lrte_bus_vdev
# versioning export map
EXPORT_MAP := rte_pmd_isal_version.map
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += isal_compress_pmd.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += isal_compress_pmd_ops.c
# export include files
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,26 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Cavium, Inc
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_octeontx_zip.a
# build flags
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -O3
CFLAGS += -I$(RTE_SDK)/drivers/compress/octeontx/include
# external library include paths
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_compressdev
LDLIBS += -lrte_pci -lrte_bus_pci
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += otx_zip_pmd.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += otx_zip.c
# versioning export map
EXPORT_MAP := rte_pmd_octeontx_compress_version.map
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,25 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Cavium Networks
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_zlib.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
# versioning export map
EXPORT_MAP := rte_pmd_zlib_version.map
# external library dependencies
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lz
LDLIBS += -lrte_compressdev
LDLIBS += -lrte_bus_vdev
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += zlib_pmd.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += zlib_pmd_ops.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,31 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2010-2017 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
DIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm
DIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += aesni_mb
DIRS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += armv8
DIRS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp
DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += octeontx
DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += octeontx2
DIRS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += openssl
DIRS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler
DIRS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += snow3g
DIRS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += kasumi
DIRS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += zuc
DIRS-$(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO) += mvsam
DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null
ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += dpaa2_sec
endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += dpaa_sec
endif # CONFIG_RTE_LIBRTE_PMD_DPAA_SEC
ifeq ($(CONFIG_RTE_LIBRTE_SECURITY),y)
DIRS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr
endif # CONFIG_RTE_LIBRTE_SECURITY
DIRS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio
DIRS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox
include $(RTE_SDK)/mk/rte.subdir.mk

View File

@ -1,43 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2016-2017 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_aesni_gcm.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
# versioning export map
EXPORT_MAP := rte_pmd_aesni_gcm_version.map
# external library dependencies
LDLIBS += -lIPSec_MB
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_bus_vdev
H := \#
IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
head -n1 | cut -d'"' -f2)
# Detect library version
IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
ifeq ($(IMB_VERSION),)
$(error "IPSec_MB version >= 0.52 is required")
endif
ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
$(error "IPSec_MB version >= 0.52 is required")
endif
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm_pmd.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm_pmd_ops.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,42 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2015-2018 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_aesni_mb.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
# versioning export map
EXPORT_MAP := rte_pmd_aesni_mb_version.map
# external library dependencies
LDLIBS += -lIPSec_MB
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_bus_vdev
H := \#
IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
head -n1 | cut -d'"' -f2)
# Detect library version
IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
ifeq ($(IMB_VERSION),)
$(error "IPSec_MB version >= 0.52 is required")
endif
ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
$(error "IPSec_MB version >= 0.52 is required")
endif
SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += rte_aesni_mb_pmd.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += rte_aesni_mb_pmd_ops.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,36 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Cavium, Inc
#
include $(RTE_SDK)/mk/rte.vars.mk
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),config)
ifeq ($(ARMV8_CRYPTO_LIB_PATH),)
$(error "Please define ARMV8_CRYPTO_LIB_PATH environment variable")
endif
endif
endif
# library name
LIB = librte_pmd_armv8.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
# versioning export map
EXPORT_MAP := rte_pmd_armv8_version.map
# external library dependencies
CFLAGS += -I$(ARMV8_CRYPTO_LIB_PATH)
LDLIBS += -L$(ARMV8_CRYPTO_LIB_PATH) -lAArch64crypto
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_bus_vdev
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += rte_armv8_pmd.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += rte_armv8_pmd_ops.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,39 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2017 NXP
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_pmd_caam_jr.a
# build flags
CFLAGS += -D _GNU_SOURCE
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include
CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib/
CFLAGS += -I$(RTE_SDK)/drivers/crypto/caam_jr
CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
# versioning export map
EXPORT_MAP := rte_pmd_caam_jr_version.map
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr_capabilities.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr_hw.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr_uio.c
# library dependencies
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_bus_dpaa
LDLIBS += -lrte_bus_vdev
LDLIBS += -lrte_common_dpaax
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,32 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Advanced Micro Devices, Inc. All rights reserved.
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_ccp.a
# build flags
CFLAGS += -O3
CFLAGS += -I$(SRCDIR)
CFLAGS += $(WERROR_FLAGS)
# external library include paths
LDLIBS += -lcrypto
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_pci -lrte_bus_pci
LDLIBS += -lrte_bus_vdev
LDLIBS += -lrte_kvargs
# versioning export map
EXPORT_MAP := rte_pmd_ccp_version.map
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += rte_ccp_pmd.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp_crypto.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp_dev.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp_pci.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp_pmd_ops.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,45 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
# Copyright 2016 NXP
#
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_pmd_dpaa2_sec.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
ifeq ($(shell test $(GCC_VERSION) -gt 70 && echo 1), 1)
CFLAGS += -Wno-implicit-fallthrough
endif
endif
CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib
CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa2_sec/
CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa2_sec/mc
CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/
CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal
CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2/
# versioning export map
EXPORT_MAP := rte_pmd_dpaa2_sec_version.map
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += dpaa2_sec_dpseci.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += mc/dpseci.c
LDLIBS += -lrte_bus_fslmc
LDLIBS += -lrte_mempool_dpaa2
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_common_dpaax
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,38 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
# Copyright 2017 NXP
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_pmd_dpaa_sec.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include
CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/base/qbman
CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa_sec/
CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib/
CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
# versioning export map
EXPORT_MAP := rte_pmd_dpaa_sec_version.map
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += dpaa_sec.c
# library dependencies
LDLIBS += -lrte_bus_dpaa
LDLIBS += -lrte_mempool_dpaa
LDLIBS += -lrte_common_dpaax
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,42 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2016 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_kasumi.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
# versioning export map
EXPORT_MAP := rte_pmd_kasumi_version.map
# external library dependencies
LDLIBS += -lIPSec_MB
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_bus_vdev
H := \#
IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
head -n1 | cut -d'"' -f2)
# Detect library version
IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
ifeq ($(IMB_VERSION),)
$(error "IPSec_MB version >= 0.53 is required")
endif
ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
$(error "IPSec_MB version >= 0.53 is required")
endif
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += rte_kasumi_pmd.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += rte_kasumi_pmd_ops.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,40 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Marvell International Ltd.
# Copyright(c) 2017 Semihalf.
# All rights reserved.
include $(RTE_SDK)/mk/rte.vars.mk
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),config)
ifeq ($(LIBMUSDK_PATH),)
$(error "Please define LIBMUSDK_PATH environment variable")
endif
endif
endif
# library name
LIB = librte_pmd_mvsam_crypto.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -I$(RTE_SDK)/drivers/common/mvep
CFLAGS += -I$(LIBMUSDK_PATH)/include
CFLAGS += -DMVCONF_TYPES_PUBLIC
CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC
# versioning export map
EXPORT_MAP := rte_pmd_mvsam_version.map
# external library dependencies
LDLIBS += -L$(LIBMUSDK_PATH)/lib -lmusdk
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_kvargs
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_bus_vdev -lrte_common_mvep
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO) += rte_mrvl_pmd.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO) += rte_mrvl_pmd_ops.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,30 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(C) 2019 Marvell International Ltd.
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_nitrox.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
# versioning export map
EXPORT_MAP := rte_pmd_nitrox_version.map
# external library dependencies
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
LDLIBS += -lrte_pci -lrte_bus_pci
LDLIBS += -lrte_cryptodev
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_device.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_hal.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_logs.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_sym.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_sym_capabilities.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_sym_reqmgr.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_qp.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,27 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2016 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_null_crypto.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_bus_vdev
# versioning export map
EXPORT_MAP := rte_pmd_null_crypto_version.map
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null_crypto_pmd.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null_crypto_pmd_ops.c
# export include files
SYMLINK-y-include +=
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,36 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Cavium, Inc
#
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_octeontx_crypto.a
# build flags
CFLAGS += $(WERROR_FLAGS)
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_pci -lrte_bus_pci
LDLIBS += -lrte_common_cpt
VPATH += $(RTE_SDK)/drivers/crypto/octeontx
CFLAGS += -O3
CFLAGS += -I$(RTE_SDK)/drivers/common/cpt
# PMD code
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev_capabilities.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev_hw_access.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev_mbox.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev_ops.c
# export include files
SYMLINK-y-include +=
# versioning export map
EXPORT_MAP := rte_pmd_octeontx_crypto_version.map
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,49 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright (C) 2019 Marvell International Ltd.
#
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_octeontx2_crypto.a
# build flags
CFLAGS += $(WERROR_FLAGS)
LDLIBS += -lrte_eal -lrte_ethdev -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev -lrte_security
LDLIBS += -lrte_pci -lrte_bus_pci
LDLIBS += -lrte_common_cpt -lrte_common_octeontx2
VPATH += $(RTE_SDK)/drivers/crypto/octeontx2
CFLAGS += -O3
CFLAGS += -I$(RTE_SDK)/drivers/common/cpt
CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
CFLAGS += -I$(RTE_SDK)/drivers/crypto/octeontx2
CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx2
ifneq ($(CONFIG_RTE_ARCH_64),y)
CFLAGS += -Wno-int-to-pointer-cast
CFLAGS += -Wno-pointer-to-int-cast
ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
CFLAGS += -diag-disable 2259
endif
endif
# PMD code
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_capabilities.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_hw_access.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_mbox.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_ops.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_sec.c
# export include files
SYMLINK-y-include +=
# versioning export map
EXPORT_MAP := rte_pmd_octeontx2_crypto_version.map
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,26 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2016 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_openssl.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
# versioning export map
EXPORT_MAP := rte_pmd_openssl_version.map
# external library dependencies
LDLIBS += -lcrypto
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_bus_vdev
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += rte_openssl_pmd.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += rte_openssl_pmd_ops.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,34 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_crypto_scheduler.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev -lrte_kvargs -lrte_reorder
LDLIBS += -lrte_bus_vdev
# versioning export map
EXPORT_MAP := rte_pmd_crypto_scheduler_version.map
#
# Export include files
#
SYMLINK-y-include += rte_cryptodev_scheduler_operations.h
SYMLINK-y-include += rte_cryptodev_scheduler.h
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_pmd.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_pmd_ops.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += rte_cryptodev_scheduler.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_roundrobin.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_pkt_size_distr.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_failover.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_multicore.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,43 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2016-2019 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_snow3g.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
# versioning export map
EXPORT_MAP := rte_pmd_snow3g_version.map
# external library dependencies
LDLIBS += -lIPSec_MB
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_bus_vdev
H := \#
IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
head -n1 | cut -d'"' -f2)
# Detect library version
IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
ifeq ($(IMB_VERSION),)
$(error "IPSec_MB version >= 0.53 is required")
endif
ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
$(error "IPSec_MB version >= 0.53 is required")
endif
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += rte_snow3g_pmd.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += rte_snow3g_pmd_ops.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,33 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 HUAWEI TECHNOLOGIES CO., LTD.
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_pmd_virtio_crypto.a
#
# include virtio_crypto.h
#
CFLAGS += -I$(RTE_SDK)/lib/librte_vhost
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
EXPORT_MAP := rte_pmd_virtio_crypto_version.map
#
# all source are stored in SRCS-y
#
SRCS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtqueue.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio_pci.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio_rxtx.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio_cryptodev.c
# this lib depends upon:
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_pci -lrte_bus_pci
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,42 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2016-2019 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_zuc.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
# versioning export map
EXPORT_MAP := rte_pmd_zuc_version.map
# external library dependencies
LDLIBS += -lIPSec_MB
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_cryptodev
LDLIBS += -lrte_bus_vdev
H := \#
IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
head -n1 | cut -d'"' -f2)
# Detect library version
IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
ifeq ($(IMB_VERSION),)
$(error "IPSec_MB version >= 0.53 is required")
endif
ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
$(error "IPSec_MB version >= 0.53 is required")
endif
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += rte_zuc_pmd.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += rte_zuc_pmd_ops.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,20 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2016 Cavium, Inc
#
include $(RTE_SDK)/mk/rte.vars.mk
DIRS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += skeleton
DIRS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw
DIRS-$(CONFIG_RTE_LIBRTE_PMD_DSW_EVENTDEV) += dsw
DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += octeontx
DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += octeontx2
ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += dpaa
endif
ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2
endif
DIRS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl
include $(RTE_SDK)/mk/rte.subdir.mk

View File

@ -1,39 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2017 NXP
#
include $(RTE_SDK)/mk/rte.vars.mk
RTE_SDK_DPAA=$(RTE_SDK)/drivers/net/dpaa
#
# library name
#
LIB = librte_pmd_dpaa_event.a
CFLAGS := -I$(SRCDIR) $(CFLAGS)
CFLAGS += -O3 $(WERROR_FLAGS)
CFLAGS += -Wno-pointer-arith
CFLAGS += -I$(RTE_SDK_DPAA)/
CFLAGS += -I$(RTE_SDK_DPAA)/include
CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/
CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
LDLIBS += -lrte_pmd_dpaa_sec
CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa_sec
EXPORT_MAP := rte_pmd_dpaa_event_version.map
# Interfaces with DPDK
SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += dpaa_eventdev.c
LDLIBS += -lrte_bus_dpaa
LDLIBS += -lrte_mempool_dpaa
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
LDLIBS += -lrte_eventdev -lrte_pmd_dpaa -lrte_bus_vdev
LDLIBS += -lrte_common_dpaax
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,41 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2017,2019 NXP
#
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_pmd_dpaa2_event.a
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal
CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2
CFLAGS += -I$(RTE_SDK)/drivers/event/dpaa2
CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
LDLIBS += -lrte_eal -lrte_eventdev
LDLIBS += -lrte_common_dpaax
LDLIBS += -lrte_bus_fslmc -lrte_mempool_dpaa2 -lrte_pmd_dpaa2
LDLIBS += -lrte_bus_vdev -lrte_mempool -lrte_mbuf -lrte_ethdev
CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2
CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2/mc
LDLIBS += -lrte_pmd_dpaa2_sec
CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa2_sec
# versioning export map
EXPORT_MAP := rte_pmd_dpaa2_event_version.map
#
# all source are stored in SRCS-y
#
SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2_hw_dpcon.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2_eventdev.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2_eventdev_selftest.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,26 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Ericsson AB
include $(RTE_SDK)/mk/rte.vars.mk
LIB = librte_pmd_dsw_event.a
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
CFLAGS += -Wno-format-nonliteral
endif
LDLIBS += -lrte_eal
LDLIBS += -lrte_mbuf
LDLIBS += -lrte_mempool
LDLIBS += -lrte_ring
LDLIBS += -lrte_eventdev
LDLIBS += -lrte_bus_vdev
EXPORT_MAP := rte_pmd_dsw_event_version.map
SRCS-$(CONFIG_RTE_LIBRTE_PMD_DSW_EVENTDEV) += \
dsw_evdev.c dsw_event.c dsw_xstats.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,51 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Cavium, Inc
#
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_pmd_octeontx_ssovf.a
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx/
CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx/
CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx/
LDLIBS += -lrte_eal -lrte_eventdev -lrte_common_octeontx -lrte_pmd_octeontx
LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_mbuf -lrte_kvargs
LDLIBS += -lrte_bus_vdev -lrte_ethdev
EXPORT_MAP := rte_pmd_octeontx_event_version.map
#
# all source are stored in SRCS-y
#
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_worker.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_evdev.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_evdev_selftest.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_probe.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += timvf_worker.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += timvf_evdev.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += timvf_probe.c
ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
CFLAGS_ssovf_worker.o += -fno-prefetch-loop-arrays
CFLAGS_timvf_worker.o += -fno-prefetch-loop-arrays
ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
CFLAGS_ssovf_worker.o += -Ofast
CFLAGS_timvf_worker.o += -Ofast
else
CFLAGS_ssovf_worker.o += -O3 -ffast-math
CFLAGS_timvf_worker.o += -O3 -ffast-math
endif
else
CFLAGS_ssovf_worker.o += -Ofast
CFLAGS_timvf_worker.o += -Ofast
endif
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,47 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(C) 2019 Marvell International Ltd.
#
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_pmd_octeontx2_event.a
CFLAGS += $(WERROR_FLAGS)
CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
CFLAGS += -I$(RTE_SDK)/drivers/crypto/octeontx2
CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
CFLAGS += -I$(RTE_SDK)/drivers/event/octeontx2
CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx2
CFLAGS += -O3
ifneq ($(CONFIG_RTE_ARCH_64),y)
CFLAGS += -Wno-int-to-pointer-cast
CFLAGS += -Wno-pointer-to-int-cast
ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
CFLAGS += -diag-disable 2259
endif
endif
EXPORT_MAP := rte_pmd_octeontx2_event_version.map
#
# all source are stored in SRCS-y
#
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_worker_dual.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_worker.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_tim_worker.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_evdev.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_evdev_adptr.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_tim_evdev.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_evdev_selftest.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_evdev_irq.c
LDLIBS += -lrte_eal -lrte_bus_pci -lrte_pci -lrte_kvargs
LDLIBS += -lrte_mempool -lrte_eventdev -lrte_mbuf -lrte_ethdev
LDLIBS += -lrte_common_octeontx2 -lrte_mempool_octeontx2
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,29 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2010-2017 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_opdl_event.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
LDLIBS += -lrte_eal -lrte_eventdev -lrte_kvargs
LDLIBS += -lrte_bus_vdev -lrte_mbuf -lrte_mempool
# versioning export map
EXPORT_MAP := rte_pmd_opdl_event_version.map
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_ring.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_evdev.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_evdev_init.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_evdev_xstats.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_test.c
# export include files
SYMLINK-y-include +=
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,24 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2016 Cavium, Inc
#
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_pmd_skeleton_event.a
CFLAGS += $(WERROR_FLAGS)
LDLIBS += -lrte_eal -lrte_eventdev
LDLIBS += -lrte_pci -lrte_bus_pci
LDLIBS += -lrte_bus_vdev
EXPORT_MAP := rte_pmd_skeleton_event_version.map
#
# all source are stored in SRCS-y
#
SRCS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += skeleton_eventdev.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,29 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2016-2017 Intel Corporation
include $(RTE_SDK)/mk/rte.vars.mk
# library name
LIB = librte_pmd_sw_event.a
# build flags
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
LDLIBS += -lrte_eal -lrte_eventdev -lrte_kvargs -lrte_ring
LDLIBS += -lrte_mempool -lrte_mbuf
LDLIBS += -lrte_bus_vdev
# versioning export map
EXPORT_MAP := rte_pmd_sw_event_version.map
# library source files
SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev_worker.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev_scheduler.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev_xstats.c
SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev_selftest.c
# export include files
SYMLINK-y-include +=
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,18 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2017 NXP
include $(RTE_SDK)/mk/rte.vars.mk
DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_BUCKET) += bucket
ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
DIRS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += dpaa
endif
ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += dpaa2
endif
DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING) += ring
DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK) += stack
DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += octeontx
DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) += octeontx2
include $(RTE_SDK)/mk/rte.subdir.mk

View File

@ -1,25 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
#
# Copyright (c) 2017-2018 Solarflare Communications Inc.
# All rights reserved.
#
# This software was jointly developed between OKTET Labs (under contract
# for Solarflare) and Solarflare Communications, Inc.
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_mempool_bucket.a
CFLAGS += -O3
CFLAGS += $(WERROR_FLAGS)
LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
EXPORT_MAP := rte_mempool_bucket_version.map
SRCS-$(CONFIG_RTE_DRIVER_MEMPOOL_BUCKET) += rte_mempool_bucket.c
include $(RTE_SDK)/mk/rte.lib.mk

View File

@ -1,30 +0,0 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2016 NXP
include $(RTE_SDK)/mk/rte.vars.mk
#
# library name
#
LIB = librte_mempool_dpaa.a
CFLAGS := -I$(SRCDIR) $(CFLAGS)
CFLAGS += -O3 $(WERROR_FLAGS)
CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/
CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
CFLAGS += -I$(RTE_SDK)/lib/librte_mempool
# versioning export map
EXPORT_MAP := rte_mempool_dpaa_version.map
# all source are stored in SRCS-y
#
SRCS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += dpaa_mempool.c
LDLIBS += -lrte_bus_dpaa
LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
LDLIBS += -lrte_common_dpaax
include $(RTE_SDK)/mk/rte.lib.mk

Some files were not shown because too many files have changed in this diff Show More