diff options
Diffstat (limited to 'addons/ot/Makefile')
-rw-r--r-- | addons/ot/Makefile | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/addons/ot/Makefile b/addons/ot/Makefile new file mode 100644 index 0000000..2ee74d3 --- /dev/null +++ b/addons/ot/Makefile @@ -0,0 +1,75 @@ +# 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),) +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) |