summaryrefslogtreecommitdiffstats
path: root/src/spdk/dpdk/mk/exec-env/linux/rte.vars.mk
blob: 41ef4195b0a866d2e39cd3ec4024841176118500 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2010-2019 Intel Corporation

#
# exec-env:
#
#   - define EXECENV_CFLAGS variable (overridden by cmdline)
#   - define EXECENV_LDFLAGS variable (overridden by cmdline)
#   - define EXECENV_ASFLAGS variable (overridden by cmdline)
#   - may override any previously defined variable
#
# examples for RTE_EXEC_ENV: linux, freebsd
#
ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
EXECENV_CFLAGS  = -pthread -fPIC
else
EXECENV_CFLAGS  = -pthread
endif

# include in every library to build
EXECENV_CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/include

EXECENV_LDLIBS  =
EXECENV_ASFLAGS =

ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
EXECENV_LDLIBS += -lgcc_s
endif

EXECENV_LDLIBS-$(CONFIG_RTE_USE_LIBBSD) += -lbsd

# force applications to link with gcc/icc instead of using ld
LINK_USING_CC := 1

# For shared libraries
EXECENV_LDFLAGS += -export-dynamic
# Add library to the group to resolve symbols
EXECENV_LDLIBS  += -ldl

# EXECENV_LDLIBS-y applies to lib.so and app linking
# while EXECENV_LDLIBS applies only to app linking.
EXECENV_LDLIBS += $(EXECENV_LDLIBS-y)

export EXECENV_CFLAGS EXECENV_LDFLAGS EXECENV_ASFLAGS EXECENV_LDLIBS