]>
Commit | Line | Data |
---|---|---|
11fdf7f2 TL |
1 | # SPDX-License-Identifier: BSD-3-Clause |
2 | # Copyright(c) 2010-2017 Intel Corporation | |
7c673cae FG |
3 | |
4 | include $(RTE_SDK)/mk/rte.vars.mk | |
5 | ||
6 | ifeq ($(CONFIG_RTE_APP_TEST),y) | |
7 | ||
8 | # default rule | |
9 | all: | |
10 | ||
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. | |
15 | # | |
16 | # Parameters: <unique name>, <file to be linked> | |
17 | define linked_resource | |
18 | SRCS-y += $(1).res.o | |
19 | $(1).res.o: $(2) | |
20 | @ echo ' MKRES $$@' | |
21 | $Q [ "$$(<D)" = . ] || ln -fs $$< | |
22 | $Q $(OBJCOPY) -I binary -B $(RTE_OBJCOPY_ARCH) -O $(RTE_OBJCOPY_TARGET) \ | |
23 | --rename-section \ | |
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) \ | |
28 | $$(<F) $$@ | |
29 | endef | |
30 | ||
31 | ifeq ($(CONFIG_RTE_APP_TEST_RESOURCE_TAR),y) | |
32 | define linked_tar_resource | |
33 | $(1).tar: $(2) | |
34 | @ echo ' TAR $$@' | |
35 | $Q tar -C $$(dir $$<) -cf $$@ $$(notdir $$<) | |
36 | $(call linked_resource,$(1),$(1).tar) | |
37 | endef | |
38 | else # ! CONFIG_RTE_APP_TEST_RESOURCE_TAR | |
39 | linked_tar_resource = | |
40 | endif # CONFIG_RTE_APP_TEST_RESOURCE_TAR | |
41 | ||
42 | # | |
43 | # library name | |
44 | # | |
45 | APP = test | |
46 | ||
47 | # | |
48 | # all sources are stored in SRCS-y | |
49 | # | |
50 | SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) := commands.c | |
51 | SRCS-y += test.c | |
52 | SRCS-y += resource.c | |
53 | SRCS-y += test_resource.c | |
54 | test_resource.res: test_resource.c | |
55 | @ cp $< $@ | |
56 | $(eval $(call linked_resource,test_resource_c,test_resource.res)) | |
57 | $(eval $(call linked_tar_resource,test_resource_tar,test_resource.c)) | |
11fdf7f2 TL |
58 | SRCS-$(CONFIG_RTE_APP_TEST_RESOURCE_TAR) += test_cfgfile.c |
59 | $(eval $(call linked_tar_resource,test_cfgfiles,test_cfgfiles)) | |
7c673cae FG |
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 | |
11fdf7f2 | 64 | SRCS-y += test_barrier.c |
7c673cae FG |
65 | SRCS-y += test_malloc.c |
66 | SRCS-y += test_cycles.c | |
67 | SRCS-y += test_spinlock.c | |
68 | SRCS-y += test_memory.c | |
69 | SRCS-y += test_memzone.c | |
11fdf7f2 TL |
70 | SRCS-y += test_bitmap.c |
71 | SRCS-y += test_reciprocal_division.c | |
72 | SRCS-y += test_reciprocal_division_perf.c | |
73 | SRCS-y += test_fbarray.c | |
7c673cae FG |
74 | |
75 | SRCS-y += test_ring.c | |
76 | SRCS-y += test_ring_perf.c | |
77 | SRCS-y += test_pmd_perf.c | |
78 | ||
79 | ifeq ($(CONFIG_RTE_LIBRTE_TABLE),y) | |
80 | SRCS-y += test_table.c | |
81 | SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test_table_pipeline.c | |
82 | SRCS-y += test_table_tables.c | |
83 | SRCS-y += test_table_ports.c | |
84 | SRCS-y += test_table_combined.c | |
85 | SRCS-$(CONFIG_RTE_LIBRTE_ACL) += test_table_acl.c | |
11fdf7f2 | 86 | SRCS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += test_flow_classify.c |
7c673cae FG |
87 | endif |
88 | ||
89 | SRCS-y += test_rwlock.c | |
90 | ||
91 | SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer.c | |
92 | SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer_perf.c | |
93 | SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer_racecond.c | |
94 | ||
95 | SRCS-y += test_mempool.c | |
96 | SRCS-y += test_mempool_perf.c | |
97 | ||
98 | SRCS-y += test_mbuf.c | |
99 | SRCS-y += test_logs.c | |
100 | ||
101 | SRCS-y += test_memcpy.c | |
102 | SRCS-y += test_memcpy_perf.c | |
103 | ||
11fdf7f2 TL |
104 | |
105 | SRCS-$(CONFIG_RTE_LIBRTE_MEMBER) += test_member.c | |
106 | SRCS-$(CONFIG_RTE_LIBRTE_MEMBER) += test_member_perf.c | |
107 | ||
108 | SRCS-$(CONFIG_RTE_LIBRTE_EFD) += test_efd.c | |
109 | SRCS-$(CONFIG_RTE_LIBRTE_EFD) += test_efd_perf.c | |
110 | ||
7c673cae FG |
111 | SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash.c |
112 | SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_thash.c | |
113 | SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_perf.c | |
114 | SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_functions.c | |
115 | SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_scaling.c | |
116 | SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_multiwriter.c | |
11fdf7f2 | 117 | SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_readwrite.c |
7c673cae FG |
118 | |
119 | SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm.c | |
120 | SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm_perf.c | |
121 | SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm6.c | |
122 | SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm6_perf.c | |
123 | ||
124 | SRCS-y += test_debug.c | |
125 | SRCS-y += test_errno.c | |
126 | SRCS-y += test_tailq.c | |
127 | SRCS-y += test_string_fns.c | |
128 | SRCS-y += test_cpuflags.c | |
129 | SRCS-y += test_mp_secondary.c | |
130 | SRCS-y += test_eal_flags.c | |
131 | SRCS-y += test_eal_fs.c | |
132 | SRCS-y += test_alarm.c | |
133 | SRCS-y += test_interrupts.c | |
134 | SRCS-y += test_version.c | |
135 | SRCS-y += test_func_reentrancy.c | |
136 | ||
11fdf7f2 TL |
137 | SRCS-y += test_service_cores.c |
138 | ||
7c673cae FG |
139 | SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline.c |
140 | SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_num.c | |
141 | SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_etheraddr.c | |
142 | SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_portlist.c | |
143 | SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_ipaddr.c | |
144 | SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_cirbuf.c | |
145 | SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_string.c | |
146 | SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_lib.c | |
147 | ||
11fdf7f2 TL |
148 | SRCS-$(CONFIG_RTE_LIBRTE_NET) += test_crc.c |
149 | ||
7c673cae FG |
150 | ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y) |
151 | SRCS-y += test_red.c | |
152 | SRCS-y += test_sched.c | |
153 | endif | |
154 | ||
155 | SRCS-$(CONFIG_RTE_LIBRTE_METER) += test_meter.c | |
156 | SRCS-$(CONFIG_RTE_LIBRTE_KNI) += test_kni.c | |
157 | SRCS-$(CONFIG_RTE_LIBRTE_POWER) += test_power.c test_power_acpi_cpufreq.c | |
158 | SRCS-$(CONFIG_RTE_LIBRTE_POWER) += test_power_kvm_vm.c | |
159 | SRCS-y += test_common.c | |
160 | ||
161 | SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += test_distributor.c | |
162 | SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += test_distributor_perf.c | |
163 | ||
164 | SRCS-$(CONFIG_RTE_LIBRTE_REORDER) += test_reorder.c | |
165 | ||
7c673cae FG |
166 | SRCS-y += virtual_pmd.c |
167 | SRCS-y += packet_burst_generator.c | |
168 | SRCS-$(CONFIG_RTE_LIBRTE_ACL) += test_acl.c | |
169 | ||
170 | ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y) | |
171 | SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding.c | |
172 | SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding_mode4.c | |
173 | endif | |
174 | ||
175 | ifeq ($(CONFIG_RTE_LIBRTE_PMD_NULL),y) | |
176 | SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding_rssconf.c | |
7c673cae FG |
177 | endif |
178 | ||
179 | SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_pmd_ring.c | |
180 | SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_pmd_ring_perf.c | |
181 | ||
182 | SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev_blockcipher.c | |
7c673cae | 183 | SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev.c |
11fdf7f2 TL |
184 | SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev_asym.c |
185 | ||
186 | ifeq ($(CONFIG_RTE_COMPRESSDEV_TEST),y) | |
187 | SRCS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += test_compressdev.c | |
188 | endif | |
189 | ||
190 | ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y) | |
191 | SRCS-y += test_eventdev.c | |
192 | SRCS-y += test_event_ring.c | |
193 | SRCS-y += test_event_eth_rx_adapter.c | |
194 | SRCS-y += test_event_timer_adapter.c | |
195 | SRCS-y += test_event_crypto_adapter.c | |
196 | endif | |
197 | ||
198 | ifeq ($(CONFIG_RTE_LIBRTE_RAWDEV),y) | |
199 | SRCS-y += test_rawdev.c | |
200 | endif | |
7c673cae FG |
201 | |
202 | SRCS-$(CONFIG_RTE_LIBRTE_KVARGS) += test_kvargs.c | |
203 | ||
11fdf7f2 TL |
204 | SRCS-$(CONFIG_RTE_LIBRTE_BPF) += test_bpf.c |
205 | ||
206 | CFLAGS += -DALLOW_EXPERIMENTAL_API | |
207 | ||
7c673cae FG |
208 | CFLAGS += -O3 |
209 | CFLAGS += $(WERROR_FLAGS) | |
210 | ||
211 | CFLAGS += -D_GNU_SOURCE | |
212 | ||
213 | LDLIBS += -lm | |
11fdf7f2 TL |
214 | ifeq ($(CONFIG_RTE_COMPRESSDEV_TEST),y) |
215 | ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y) | |
216 | LDLIBS += -lz | |
217 | endif | |
218 | endif | |
7c673cae FG |
219 | |
220 | # Disable VTA for memcpy test | |
221 | ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) | |
222 | ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1) | |
223 | CFLAGS_test_memcpy.o += -fno-var-tracking-assignments | |
224 | CFLAGS_test_memcpy_perf.o += -fno-var-tracking-assignments | |
11fdf7f2 TL |
225 | # for older GCC versions, allow us to initialize an event using |
226 | # designated initializers. | |
227 | ifeq ($(shell test $(GCC_VERSION) -le 50 && echo 1), 1) | |
228 | CFLAGS_test_eventdev_sw.o += -Wno-missing-field-initializers | |
229 | CFLAGS_test_event_timer_adapter.o += -Wno-missing-field-initializers | |
230 | CFLAGS_test_event_crypto_adapter.o += -Wno-missing-field-initializers | |
231 | endif | |
7c673cae FG |
232 | endif |
233 | endif | |
7c673cae FG |
234 | |
235 | # Link against shared libraries when needed | |
236 | ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y) | |
237 | ifneq ($(CONFIG_RTE_LIBRTE_PMD_RING),y) | |
238 | $(error Link bonding tests require CONFIG_RTE_LIBRTE_PMD_RING=y) | |
11fdf7f2 TL |
239 | endif |
240 | endif | |
241 | ||
7c673cae | 242 | ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y) |
11fdf7f2 TL |
243 | |
244 | ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y) | |
245 | LDLIBS += -lrte_pmd_bond | |
246 | endif | |
247 | ||
248 | ifeq ($(CONFIG_RTE_LIBRTE_PMD_NULL),y) | |
249 | LDLIBS += -lrte_pmd_null | |
250 | endif | |
251 | ||
252 | ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y) | |
7c673cae FG |
253 | LDLIBS += -lrte_pmd_ring |
254 | endif | |
11fdf7f2 TL |
255 | |
256 | ifeq ($(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER),y) | |
257 | LDLIBS += -lrte_pmd_crypto_scheduler | |
7c673cae | 258 | endif |
11fdf7f2 | 259 | |
7c673cae FG |
260 | endif |
261 | ||
262 | ifeq ($(CONFIG_RTE_APP_TEST_RESOURCE_TAR),y) | |
263 | LDLIBS += -larchive | |
264 | endif | |
265 | ||
266 | include $(RTE_SDK)/mk/rte.app.mk | |
267 | ||
268 | endif |