bea3f76577c51549b8f5aa3bdde2213b3a68332d
[dpdk.git] / mk / exec-env / linux / rte.vars.mk
1 # SPDX-License-Identifier: BSD-3-Clause
2 # Copyright(c) 2010-2019 Intel Corporation
3
4 #
5 # exec-env:
6 #
7 #   - define EXECENV_CFLAGS variable (overridden by cmdline)
8 #   - define EXECENV_LDFLAGS variable (overridden by cmdline)
9 #   - define EXECENV_ASFLAGS variable (overridden by cmdline)
10 #   - may override any previously defined variable
11 #
12 # examples for RTE_EXEC_ENV: linux, freebsd
13 #
14 ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
15 EXECENV_CFLAGS  = -pthread -fPIC
16 else
17 EXECENV_CFLAGS  = -pthread
18 endif
19
20 # include in every library to build
21 EXECENV_CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal/include
22
23 EXECENV_LDLIBS  =
24 EXECENV_ASFLAGS =
25
26 ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
27 EXECENV_LDLIBS += -lgcc_s
28 endif
29
30 EXECENV_LDLIBS-$(CONFIG_RTE_USE_LIBBSD) += -lbsd
31
32 # force applications to link with gcc/icc instead of using ld
33 LINK_USING_CC := 1
34
35 # For shared libraries
36 EXECENV_LDFLAGS += -export-dynamic
37 # Add library to the group to resolve symbols
38 EXECENV_LDLIBS  += -ldl
39
40 # EXECENV_LDLIBS-y applies to lib.so and app linking
41 # while EXECENV_LDLIBS applies only to app linking.
42 EXECENV_LDLIBS += $(EXECENV_LDLIBS-y)
43
44 export EXECENV_CFLAGS EXECENV_LDFLAGS EXECENV_ASFLAGS EXECENV_LDLIBS