Makefile revision 6b3e017e
1#   BSD LICENSE
2#
3#   Copyright(c) 2016 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
31ifeq ($(RTE_SDK),)
32$(error "Please define RTE_SDK environment variable")
33endif
34
35# Default target, can be overriden by command line or environment
36RTE_TARGET ?= x86_64-native-linuxapp-gcc
37
38include $(RTE_SDK)/mk/rte.vars.mk
39
40DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bond
41DIRS-y += cmdline
42DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += distributor
43ifneq ($(ICP_ROOT),)
44DIRS-y += dpdk_qat
45endif
46DIRS-y += ethtool
47DIRS-y += exception_path
48DIRS-y += helloworld
49DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += ip_pipeline
50ifeq ($(CONFIG_RTE_LIBRTE_LPM),y)
51DIRS-$(CONFIG_RTE_IP_FRAG) += ip_reassembly
52DIRS-$(CONFIG_RTE_IP_FRAG) += ip_fragmentation
53endif
54ifeq ($(CONFIG_RTE_LIBRTE_ACL)$(CONFIG_RTE_LIBRTE_HASH)$(CONFIG_RTE_LIBRTE_LPM),yyy)
55DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += ipsec-secgw
56endif
57DIRS-$(CONFIG_RTE_LIBRTE_HASH) += ipv4_multicast
58DIRS-$(CONFIG_RTE_LIBRTE_KNI) += kni
59DIRS-y += l2fwd
60ifneq ($(PQOS_INSTALL_PATH),)
61DIRS-y += l2fwd-cat
62endif
63DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += l2fwd-crypto
64DIRS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += l2fwd-jobstats
65DIRS-y += l2fwd-keepalive
66DIRS-y += l2fwd-keepalive/ka-agent
67ifeq ($(CONFIG_RTE_LIBRTE_HASH),y)
68DIRS-$(CONFIG_RTE_LIBRTE_LPM) += l3fwd
69endif
70DIRS-$(CONFIG_RTE_LIBRTE_ACL) += l3fwd-acl
71ifeq ($(CONFIG_RTE_LIBRTE_LPM)$(CONFIG_RTE_LIBRTE_HASH),yy)
72DIRS-$(CONFIG_RTE_LIBRTE_POWER) += l3fwd-power
73DIRS-y += l3fwd-vf
74endif
75DIRS-y += link_status_interrupt
76DIRS-$(CONFIG_RTE_LIBRTE_LPM) += load_balancer
77DIRS-y += multi_process
78DIRS-y += netmap_compat/bridge
79DIRS-$(CONFIG_RTE_LIBRTE_REORDER) += packet_ordering
80DIRS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ptpclient
81DIRS-$(CONFIG_RTE_LIBRTE_METER) += qos_meter
82DIRS-$(CONFIG_RTE_LIBRTE_SCHED) += qos_sched
83DIRS-y += quota_watermark
84DIRS-$(CONFIG_RTE_ETHDEV_RXTX_CALLBACKS) += rxtx_callbacks
85DIRS-y += skeleton
86ifeq ($(CONFIG_RTE_LIBRTE_HASH),y)
87DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += tep_termination
88endif
89DIRS-$(CONFIG_RTE_LIBRTE_TIMER) += timer
90DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vhost
91DIRS-$(CONFIG_RTE_LIBRTE_XEN_DOM0) += vhost_xen
92DIRS-y += vmdq
93DIRS-y += vmdq_dcb
94ifeq ($(CONFIG_RTE_LIBRTE_POWER), y)
95ifeq ($(shell pkg-config --atleast-version=0.9.3 libvirt; echo $$?), 0)
96DIRS-y += vm_power_manager
97else
98$(info vm_power_manager requires libvirt >= 0.9.3)
99endif
100endif
101
102include $(RTE_SDK)/mk/rte.extsubdir.mk
103