78 lines
2.2 KiB
Makefile
78 lines
2.2 KiB
Makefile
# USE_OT : enable the OpenTracing filter
|
|
# OT_DEBUG : compile the OpenTracing filter in debug mode
|
|
# OT_INC : force the include path to libopentracing-c-wrapper
|
|
# OT_LIB : force the lib path to libopentracing-c-wrapper
|
|
# OT_RUNPATH : add libopentracing-c-wrapper RUNPATH to haproxy executable
|
|
# OT_USE_VARS : allows the use of variables for the OpenTracing context
|
|
|
|
OT_DEFINE =
|
|
OT_CFLAGS =
|
|
OT_LDFLAGS =
|
|
OT_DEBUG_EXT =
|
|
OT_PKGSTAT =
|
|
OTC_WRAPPER = opentracing-c-wrapper
|
|
|
|
ifneq ($(OT_DEBUG),)
|
|
OT_DEBUG_EXT = _dbg
|
|
OT_DEFINE = -DDEBUG_OT
|
|
endif
|
|
|
|
ifeq ($(OT_INC),)
|
|
OT_PKGSTAT = $(shell pkg-config --exists $(OTC_WRAPPER)$(OT_DEBUG_EXT); echo $$?)
|
|
OT_CFLAGS = $(shell pkg-config --silence-errors --cflags $(OTC_WRAPPER)$(OT_DEBUG_EXT))
|
|
else
|
|
ifneq ($(wildcard $(OT_INC)/$(OTC_WRAPPER)/.*),)
|
|
OT_CFLAGS = -I$(OT_INC) $(if $(OT_DEBUG),-DOTC_DBG_MEM)
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(OT_PKGSTAT),)
|
|
ifeq ($(OT_CFLAGS),)
|
|
$(error OpenTracing C wrapper : can't find headers)
|
|
endif
|
|
else
|
|
ifneq ($(OT_PKGSTAT),0)
|
|
$(error OpenTracing C wrapper : can't find package)
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(OT_LIB),)
|
|
OT_LDFLAGS = $(shell pkg-config --silence-errors --libs $(OTC_WRAPPER)$(OT_DEBUG_EXT))
|
|
else
|
|
ifneq ($(wildcard $(OT_LIB)/lib$(OTC_WRAPPER).*),)
|
|
OT_LDFLAGS = -L$(OT_LIB) -l$(OTC_WRAPPER)$(OT_DEBUG_EXT)
|
|
ifneq ($(OT_RUNPATH),)
|
|
OT_LDFLAGS += -Wl,--rpath,$(OT_LIB)
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(OT_LDFLAGS),)
|
|
$(error OpenTracing C wrapper : can't find library)
|
|
endif
|
|
|
|
OPTIONS_OBJS += \
|
|
addons/ot/src/cli.o \
|
|
addons/ot/src/conf.o \
|
|
addons/ot/src/event.o \
|
|
addons/ot/src/filter.o \
|
|
addons/ot/src/group.o \
|
|
addons/ot/src/http.o \
|
|
addons/ot/src/opentracing.o \
|
|
addons/ot/src/parser.o \
|
|
addons/ot/src/pool.o \
|
|
addons/ot/src/scope.o \
|
|
addons/ot/src/util.o
|
|
|
|
ifneq ($(OT_USE_VARS),)
|
|
$(warning Please do not set the OT_USE_VARS configuration variable, as the source will probably not be able to compile! For now, this variable can only be used for experimental purposes, and is not intended for wider use.)
|
|
|
|
OT_DEFINE = -DUSE_OT_VARS
|
|
OPTIONS_OBJS += \
|
|
addons/ot/src/vars.o
|
|
endif
|
|
|
|
OPTIONS_CFLAGS += $(OT_CFLAGS) -Iaddons/ot/include
|
|
OPTIONS_LDFLAGS += $(OT_LDFLAGS)
|
|
OPTIONS_CFLAGS += $(OT_DEFINE)
|