1 # SPDX-License-Identifier: BSD-3-Clause
2 # Copyright(c) 2010-2017 Intel Corporation
4 include $(RTE_SDK
)/mk
/rte.vars.mk
6 ifeq ($(CONFIG_RTE_APP_TEST
),y
)
11 # Define an externally linked resource. A linked resource is an arbitrary
12 # file that is linked into the test binary. The application refers to this
13 # resource by name. The linked generates identifiers beg_<name> and end_<name>
14 # for referencing by the C code.
16 # Parameters: <unique name>, <file to be linked>
17 define linked_resource
21 $Q [ "$$(<D)" = .
] || ln
-fs
$$<
22 $Q $(OBJCOPY
) -I binary
-B
$(RTE_OBJCOPY_ARCH
) -O
$(RTE_OBJCOPY_TARGET
) \
24 .data
=.rodata
,alloc
,load
,data
,contents
,readonly \
25 --redefine-sym _binary_
$$(subst .
,_
,$$(<F
))_start
=beg_
$(1) \
26 --redefine-sym _binary_
$$(subst .
,_
,$$(<F
))_end
=end_
$(1) \
27 --redefine-sym _binary_
$$(subst .
,_
,$$(<F
))_size
=siz_
$(1) \
31 ifeq ($(CONFIG_RTE_APP_TEST_RESOURCE_TAR
),y
)
32 define linked_tar_resource
35 $Q tar -C
$$(dir $$<) -cf
$$@
$$(notdir $$<)
36 $(call linked_resource
,$(1),$(1).
tar)
38 else # ! CONFIG_RTE_APP_TEST_RESOURCE_TAR
40 endif # CONFIG_RTE_APP_TEST_RESOURCE_TAR
48 # all sources are stored in SRCS-y
50 SRCS-
$(CONFIG_RTE_LIBRTE_CMDLINE
) := commands.c
53 SRCS-y
+= test_resource.c
54 test_resource.res
: test_resource.c
56 $(eval
$(call linked_resource
,test_resource_c
,test_resource.res
))
57 $(eval
$(call linked_tar_resource
,test_resource_tar
,test_resource.c
))
58 SRCS-
$(CONFIG_RTE_APP_TEST_RESOURCE_TAR
) += test_cfgfile.c
59 $(eval
$(call linked_tar_resource
,test_cfgfiles
,test_cfgfiles
))
60 SRCS-y
+= test_prefetch.c
61 SRCS-y
+= test_byteorder.c
62 SRCS-y
+= test_per_lcore.c
63 SRCS-y
+= test_atomic.c
64 SRCS-y
+= test_barrier.c
65 SRCS-y
+= test_malloc.c
66 SRCS-y
+= test_cycles.c
67 SRCS-y
+= test_spinlock.c
68 SRCS-y
+= test_ticketlock.c
69 SRCS-y
+= test_memory.c
70 SRCS-y
+= test_memzone.c
71 SRCS-y
+= test_bitmap.c
72 SRCS-y
+= test_reciprocal_division.c
73 SRCS-y
+= test_reciprocal_division_perf.c
74 SRCS-y
+= test_fbarray.c
75 SRCS-y
+= test_external_mem.c
78 SRCS-y
+= test_ring_perf.c
79 SRCS-y
+= test_pmd_perf.c
81 ifeq ($(CONFIG_RTE_LIBRTE_TABLE
),y
)
82 SRCS-y
+= test_table.c
83 SRCS-
$(CONFIG_RTE_LIBRTE_PIPELINE
) += test_table_pipeline.c
84 SRCS-y
+= test_table_tables.c
85 SRCS-y
+= test_table_ports.c
86 SRCS-y
+= test_table_combined.c
87 SRCS-
$(CONFIG_RTE_LIBRTE_ACL
) += test_table_acl.c
88 SRCS-
$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY
) += test_flow_classify.c
91 SRCS-y
+= test_rwlock.c
93 SRCS-
$(CONFIG_RTE_LIBRTE_STACK
) += test_stack.c
94 SRCS-
$(CONFIG_RTE_LIBRTE_STACK
) += test_stack_perf.c
96 SRCS-
$(CONFIG_RTE_LIBRTE_TIMER
) += test_timer.c
97 SRCS-
$(CONFIG_RTE_LIBRTE_TIMER
) += test_timer_perf.c
98 SRCS-
$(CONFIG_RTE_LIBRTE_TIMER
) += test_timer_racecond.c
99 SRCS-
$(CONFIG_RTE_LIBRTE_TIMER
) += test_timer_secondary.c
101 SRCS-y
+= test_mempool.c
102 SRCS-y
+= test_mempool_perf.c
104 SRCS-y
+= test_mbuf.c
105 SRCS-y
+= test_logs.c
107 SRCS-y
+= test_memcpy.c
108 SRCS-y
+= test_memcpy_perf.c
111 SRCS-
$(CONFIG_RTE_LIBRTE_MEMBER
) += test_member.c
112 SRCS-
$(CONFIG_RTE_LIBRTE_MEMBER
) += test_member_perf.c
114 SRCS-
$(CONFIG_RTE_LIBRTE_EFD
) += test_efd.c
115 SRCS-
$(CONFIG_RTE_LIBRTE_EFD
) += test_efd_perf.c
117 SRCS-
$(CONFIG_RTE_LIBRTE_HASH
) += test_hash.c
118 SRCS-
$(CONFIG_RTE_LIBRTE_HASH
) += test_thash.c
119 SRCS-
$(CONFIG_RTE_LIBRTE_HASH
) += test_hash_perf.c
120 SRCS-
$(CONFIG_RTE_LIBRTE_HASH
) += test_hash_functions.c
121 SRCS-
$(CONFIG_RTE_LIBRTE_HASH
) += test_hash_multiwriter.c
122 SRCS-
$(CONFIG_RTE_LIBRTE_HASH
) += test_hash_readwrite.c
123 SRCS-
$(CONFIG_RTE_LIBRTE_HASH
) += test_hash_readwrite_lf.c
125 SRCS-
$(CONFIG_RTE_LIBRTE_LPM
) += test_lpm.c
126 SRCS-
$(CONFIG_RTE_LIBRTE_LPM
) += test_lpm_perf.c
127 SRCS-
$(CONFIG_RTE_LIBRTE_LPM
) += test_lpm6.c
128 SRCS-
$(CONFIG_RTE_LIBRTE_LPM
) += test_lpm6_perf.c
130 SRCS-y
+= test_debug.c
131 SRCS-y
+= test_errno.c
132 SRCS-y
+= test_tailq.c
133 SRCS-y
+= test_string_fns.c
134 SRCS-y
+= test_cpuflags.c
135 SRCS-y
+= test_mp_secondary.c
136 SRCS-y
+= test_eal_flags.c
137 SRCS-y
+= test_eal_fs.c
138 SRCS-y
+= test_alarm.c
139 SRCS-y
+= test_interrupts.c
140 SRCS-y
+= test_version.c
141 SRCS-y
+= test_func_reentrancy.c
143 SRCS-y
+= test_service_cores.c
145 SRCS-
$(CONFIG_RTE_LIBRTE_BITRATE
) += test_bitratestats.c
146 SRCS-
$(CONFIG_RTE_LIBRTE_LATENCY_STATS
) += test_latencystats.c
148 SRCS-
$(CONFIG_RTE_LIBRTE_CMDLINE
) += test_cmdline.c
149 SRCS-
$(CONFIG_RTE_LIBRTE_CMDLINE
) += test_cmdline_num.c
150 SRCS-
$(CONFIG_RTE_LIBRTE_CMDLINE
) += test_cmdline_etheraddr.c
151 SRCS-
$(CONFIG_RTE_LIBRTE_CMDLINE
) += test_cmdline_portlist.c
152 SRCS-
$(CONFIG_RTE_LIBRTE_CMDLINE
) += test_cmdline_ipaddr.c
153 SRCS-
$(CONFIG_RTE_LIBRTE_CMDLINE
) += test_cmdline_cirbuf.c
154 SRCS-
$(CONFIG_RTE_LIBRTE_CMDLINE
) += test_cmdline_string.c
155 SRCS-
$(CONFIG_RTE_LIBRTE_CMDLINE
) += test_cmdline_lib.c
157 SRCS-
$(CONFIG_RTE_LIBRTE_NET
) += test_crc.c
159 ifeq ($(CONFIG_RTE_LIBRTE_SCHED
),y
)
161 SRCS-y
+= test_sched.c
164 SRCS-
$(CONFIG_RTE_LIBRTE_METER
) += test_meter.c
165 SRCS-
$(CONFIG_RTE_LIBRTE_KNI
) += test_kni.c
166 SRCS-
$(CONFIG_RTE_LIBRTE_POWER
) += test_power.c test_power_acpi_cpufreq.c
167 SRCS-
$(CONFIG_RTE_LIBRTE_POWER
) += test_power_kvm_vm.c
168 SRCS-y
+= test_common.c
170 SRCS-
$(CONFIG_RTE_LIBRTE_DISTRIBUTOR
) += test_distributor.c
171 SRCS-
$(CONFIG_RTE_LIBRTE_DISTRIBUTOR
) += test_distributor_perf.c
173 SRCS-
$(CONFIG_RTE_LIBRTE_REORDER
) += test_reorder.c
175 SRCS-
$(CONFIG_RTE_LIBRTE_PDUMP
) += test_pdump.c
177 SRCS-y
+= virtual_pmd.c
178 SRCS-y
+= packet_burst_generator.c
179 SRCS-y
+= sample_packet_forward.c
180 SRCS-
$(CONFIG_RTE_LIBRTE_ACL
) += test_acl.c
182 ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING
),y
)
183 SRCS-
$(CONFIG_RTE_LIBRTE_PMD_BOND
) += test_link_bonding.c
184 SRCS-
$(CONFIG_RTE_LIBRTE_PMD_BOND
) += test_link_bonding_mode4.c
187 ifeq ($(CONFIG_RTE_LIBRTE_PMD_NULL
),y
)
188 SRCS-
$(CONFIG_RTE_LIBRTE_PMD_BOND
) += test_link_bonding_rssconf.c
191 SRCS-
$(CONFIG_RTE_LIBRTE_PMD_RING
) += test_pmd_ring.c
192 SRCS-
$(CONFIG_RTE_LIBRTE_PMD_RING
) += test_pmd_ring_perf.c
194 SRCS-
$(CONFIG_RTE_LIBRTE_CRYPTODEV
) += test_cryptodev_blockcipher.c
195 SRCS-
$(CONFIG_RTE_LIBRTE_CRYPTODEV
) += test_cryptodev.c
196 SRCS-
$(CONFIG_RTE_LIBRTE_CRYPTODEV
) += test_cryptodev_asym.c
198 SRCS-
$(CONFIG_RTE_LIBRTE_METRICS
) += test_metrics.c
200 ifeq ($(CONFIG_RTE_COMPRESSDEV_TEST
),y
)
201 SRCS-
$(CONFIG_RTE_LIBRTE_COMPRESSDEV
) += test_compressdev.c
204 ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV
),y
)
205 SRCS-y
+= test_eventdev.c
206 SRCS-y
+= test_event_ring.c
207 SRCS-y
+= test_event_eth_rx_adapter.c
208 SRCS-y
+= test_event_eth_tx_adapter.c
209 SRCS-y
+= test_event_timer_adapter.c
210 SRCS-y
+= test_event_crypto_adapter.c
213 ifeq ($(CONFIG_RTE_LIBRTE_RAWDEV
),y
)
214 SRCS-y
+= test_rawdev.c
217 SRCS-
$(CONFIG_RTE_LIBRTE_KVARGS
) += test_kvargs.c
219 SRCS-
$(CONFIG_RTE_LIBRTE_BPF
) += test_bpf.c
221 SRCS-
$(CONFIG_RTE_LIBRTE_RCU
) += test_rcu_qsbr.c test_rcu_qsbr_perf.c
223 SRCS-
$(CONFIG_RTE_LIBRTE_IPSEC
) += test_ipsec.c
224 ifeq ($(CONFIG_RTE_LIBRTE_IPSEC
),y
)
225 LDLIBS
+= -lrte_ipsec
228 CFLAGS
+= -DALLOW_EXPERIMENTAL_API
231 CFLAGS
+= $(WERROR_FLAGS
)
235 ifeq ($(CONFIG_RTE_LIBRTE_PDUMP
),y
)
239 ifeq ($(CONFIG_RTE_COMPRESSDEV_TEST
),y
)
240 ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV
),y
)
245 # Disable VTA for memcpy test
246 ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC
),y
)
247 ifeq ($(shell test $(GCC_VERSION
) -ge
44 && echo
1), 1)
248 CFLAGS_test_memcpy.o
+= -fno-var-tracking-assignments
249 CFLAGS_test_memcpy_perf.o
+= -fno-var-tracking-assignments
250 # for older GCC versions, allow us to initialize an event using
251 # designated initializers.
252 ifeq ($(shell test $(GCC_VERSION
) -le
50 && echo
1), 1)
253 CFLAGS_test_eventdev_sw.o
+= -Wno-missing-field-initializers
254 CFLAGS_test_event_timer_adapter.o
+= -Wno-missing-field-initializers
255 CFLAGS_test_event_crypto_adapter.o
+= -Wno-missing-field-initializers
260 # Link against shared libraries when needed
261 ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND
),y
)
262 ifneq ($(CONFIG_RTE_LIBRTE_PMD_RING
),y
)
263 $(error Link bonding tests require CONFIG_RTE_LIBRTE_PMD_RING
=y
)
267 ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB
),y
)
269 ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND
),y
)
270 LDLIBS
+= -lrte_pmd_bond
273 ifeq ($(CONFIG_RTE_LIBRTE_PMD_NULL
),y
)
274 LDLIBS
+= -lrte_pmd_null
277 ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING
),y
)
278 LDLIBS
+= -lrte_pmd_ring
281 ifeq ($(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER
),y
)
282 LDLIBS
+= -lrte_pmd_crypto_scheduler
287 ifeq ($(CONFIG_RTE_APP_TEST_RESOURCE_TAR
),y
)
291 include $(RTE_SDK
)/mk
/rte.app.mk