Imported Upstream version 16.04
[deb_dpdk.git] / examples / Makefile
1 #   BSD LICENSE
2 #
3 #   Copyright(c) 2014 6WIND S.A.
4 #
5 #   Redistribution and use in source and binary forms, with or without
6 #   modification, are permitted provided that the following conditions
7 #   are met:
8 #
9 #     * Redistributions of source code must retain the above copyright
10 #       notice, this list of conditions and the following disclaimer.
11 #     * Redistributions in binary form must reproduce the above copyright
12 #       notice, this list of conditions and the following disclaimer in
13 #       the documentation and/or other materials provided with the
14 #       distribution.
15 #     * Neither the name of 6WIND S.A. nor the names of its
16 #       contributors may be used to endorse or promote products derived
17 #       from this software without specific prior written permission.
18 #
19 #   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 #   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 #   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 #   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 #   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 #   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 #   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 #   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 #   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 #   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 #   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31 ifeq ($(RTE_SDK),)
32 $(error "Please define RTE_SDK environment variable")
33 endif
34
35 # Default target, can be overriden by command line or environment
36 RTE_TARGET ?= x86_64-native-linuxapp-gcc
37
38 include $(RTE_SDK)/mk/rte.vars.mk
39
40 DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bond
41 DIRS-y += cmdline
42 DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += distributor
43 ifneq ($(ICP_ROOT),)
44 DIRS-y += dpdk_qat
45 endif
46 DIRS-y += ethtool
47 DIRS-y += exception_path
48 DIRS-y += helloworld
49 DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += ip_pipeline
50 ifeq ($(CONFIG_RTE_LIBRTE_LPM),y)
51 DIRS-$(CONFIG_RTE_IP_FRAG) += ip_reassembly
52 DIRS-$(CONFIG_RTE_IP_FRAG) += ip_fragmentation
53 endif
54 ifeq ($(CONFIG_RTE_LIBRTE_ACL)$(CONFIG_RTE_LIBRTE_HASH)$(CONFIG_RTE_LIBRTE_LPM),yyy)
55 DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += ipsec-secgw
56 endif
57 DIRS-y += ipv4_multicast
58 DIRS-$(CONFIG_RTE_LIBRTE_KNI) += kni
59 DIRS-y += l2fwd
60 ifneq ($(PQOS_INSTALL_PATH),)
61 DIRS-y += l2fwd-cat
62 endif
63 DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += l2fwd-crypto
64 DIRS-$(CONFIG_RTE_LIBRTE_IVSHMEM) += l2fwd-ivshmem
65 DIRS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += l2fwd-jobstats
66 DIRS-y += l2fwd-keepalive
67 DIRS-$(CONFIG_RTE_LIBRTE_LPM) += l3fwd
68 DIRS-$(CONFIG_RTE_LIBRTE_ACL) += l3fwd-acl
69 ifeq ($(CONFIG_RTE_LIBRTE_LPM),y)
70 DIRS-$(CONFIG_RTE_LIBRTE_POWER) += l3fwd-power
71 DIRS-y += l3fwd-vf
72 endif
73 DIRS-y += link_status_interrupt
74 DIRS-$(CONFIG_RTE_LIBRTE_LPM) += load_balancer
75 DIRS-y += multi_process
76 DIRS-y += netmap_compat/bridge
77 DIRS-$(CONFIG_RTE_LIBRTE_REORDER) += packet_ordering
78 DIRS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ptpclient
79 DIRS-$(CONFIG_RTE_LIBRTE_METER) += qos_meter
80 DIRS-$(CONFIG_RTE_LIBRTE_SCHED) += qos_sched
81 DIRS-y += quota_watermark
82 DIRS-$(CONFIG_RTE_ETHDEV_RXTX_CALLBACKS) += rxtx_callbacks
83 DIRS-y += skeleton
84 DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += tep_termination
85 DIRS-$(CONFIG_RTE_LIBRTE_TIMER) += timer
86 DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vhost
87 DIRS-$(CONFIG_RTE_LIBRTE_XEN_DOM0) += vhost_xen
88 DIRS-y += vmdq
89 DIRS-y += vmdq_dcb
90 ifeq ($(CONFIG_RTE_LIBRTE_POWER), y)
91 ifeq ($(shell pkg-config --atleast-version=0.9.3 libvirt; echo $$?), 0)
92 DIRS-y += vm_power_manager
93 else
94 $(info vm_power_manager requires libvirt >= 0.9.3)
95 endif
96 endif
97
98 include $(RTE_SDK)/mk/rte.extsubdir.mk