e9c6594264
Most examples have in their makefiles a default RTE_TARGET directory to be
used in case RTE_TARGET is not set. Rather than just using a hard-coded
default, we can instead detect what the build directory is relative to
RTE_SDK directory.
This fixes a potential issue for anyone who continues to build using
"make install T=x86_64-native-linuxapp-gcc" and skips setting RTE_TARGET
explicitly, instead relying on the fact that they were building in a
directory which corresponded to the example default path - which was
changed to "x86_64-native-linux-gcc" by commit 218c4e68c1
("mk: use
linux and freebsd in config names").
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
33 lines
906 B
Makefile
33 lines
906 B
Makefile
# SPDX-License-Identifier: BSD-3-Clause
|
|
# Copyright(c) 2015 Intel Corporation
|
|
|
|
ifeq ($(RTE_SDK),)
|
|
$(error "Please define RTE_SDK environment variable")
|
|
endif
|
|
|
|
# Default target, detect a build directory, by looking for a path with a .config
|
|
RTE_TARGET ?= $(notdir $(abspath $(dir $(firstword $(wildcard $(RTE_SDK)/*/.config)))))
|
|
|
|
include $(RTE_SDK)/mk/rte.vars.mk
|
|
|
|
# binary name
|
|
APP = lthread_pthread_shim
|
|
|
|
# all source are stored in SRCS-y
|
|
SRCS-y := main.c pthread_shim.c
|
|
INCLUDES := -I$(RTE_SDK)/$(RTE_TARGET)/include -I$(SRCDIR)
|
|
include $(RTE_SDK)/examples/performance-thread/common/common.mk
|
|
|
|
CFLAGS += -g -O3 $(USER_FLAGS) $(INCLUDES)
|
|
CFLAGS += $(WERROR_FLAGS)
|
|
|
|
LDFLAGS += -lpthread
|
|
|
|
# workaround for a gcc bug with noreturn attribute
|
|
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603
|
|
ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
|
|
CFLAGS_main.o += -Wno-return-type
|
|
endif
|
|
|
|
include $(RTE_SDK)/mk/rte.extapp.mk
|