You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kamailio/utils/kamcmd/Makefile

161 lines
3.5 KiB

#
#
COREPATH=../../src/
include $(COREPATH)/Makefile.defs
include $(COREPATH)/Makefile.targets
auto_gen=
RELEASE=1.5
UTIL_SRC_NAME=kamcmd
# Pass CUSTOM_NAME to overwrite the kamcmd/sercmd bin name
ifeq ($(CUSTOM_NAME),)
ifeq ($(FLAVOUR),ser)
NAME=sercmd
else
NAME=kamcmd
endif
else
NAME=$(CUSTOM_NAME)
endif
readline_localpath=$(LOCALBASE)/include/readline/readline.h
readline_locations= /usr/include/readline/readline.h \
$(readline_localpath)
ifeq ($(CROSS_COMPILE),)
BUILDER = $(shell which pkg-config)
ifneq ($(BUILDER),)
PKGREADLINE = $(shell $(BUILDER) --exists readline > /dev/null 2>&1 ; echo $$? )
ifneq ($(PKGREADLINE),0)
BUILDER =
endif
endif
endif
use_readline ?=
ifneq (,$(MAKECMDGOALS))
ifeq (,$(filter-out $(nodep_targets),$(MAKECMDGOALS)))
#set it to empty, we don't need to detect/use it for clean, doc a.s.o
override use_readline:=
quiet=1
endif
endif #ifneq (,$(MAKECMDGOALS))
# erase common DEFS (not needed)
C_DEFS:=
DEFS:= -DNAME='"$(NAME)"' -DSRNAME='"$(MAIN_NAME)"' -DVERSION='"$(RELEASE)"' -D__OS_$(OS) \
-DRUN_DIR='"$(run_target)"' \
$(filter -D%HAVE -DARCH% -DOS% -D__CPU% -D__OS%, $(DEFS))
# use proper libs (we can't rely on LIBS value since we might be called
# from a module Makefile)
#LIBS:=$(filter-out -lfl -ldl -lpthread -lssl -lcrypto, $(LIBS))
ifeq ($(OS), linux)
LIBS:= -lresolv
endif
ifeq ($(OS), solaris)
LIBS:= -lresolv -L$(LOCALBASE)/lib -lxnet -lnsl
endif
ifeq ($(OS), freebsd)
LIBS:=
endif
ifeq ($(OS), dragonfly)
LIBS:= -L$(LOCALBASE)/lib
endif
ifeq ($(OS), openbsd)
LIBS:=
endif
ifeq ($(OS), netbsd)
LIBS:=
endif
ifeq ($(OS), darwin)
readline_locations= /opt/local/include/readline/readline.h \
/usr/include/readline/readline.h \
$(readline_localpath)
LIBS:= -lresolv
endif
ifneq (,$(findstring cygwin, $(OS)))
LIBS:= -lresolv
endif
# detect libreadline
ifneq ($(BUILDER),)
DEFS += $(shell $(BUILDER) --cflags readline)
DEFS+=-DUSE_READLINE
LIBS += $(shell $(BUILDER) --libs readline)
use_readline := 1
else
ifeq ($(use_readline),)
readline_path := $(shell \
for r in $(readline_locations) ""; do \
if [ -r "$$r" ] ; then echo $$r; exit; fi; \
done;\
)
ifneq ($(readline_path),)
use_readline := 1
endif
endif
ifeq ($(use_readline),1)
ifneq (,$(findstring opt, $(readline_path)))
DEFS+=-DUSE_READLINE -I /opt/local/include
LIBS+=-L/opt/local/lib -lreadline -lncurses
else
ifeq ($(readline_path),$(readline_localpath))
DEFS+=-I$(LOCALBASE)/include
LIBS+=-L$(LOCALBASE)/lib
endif
DEFS+=-DUSE_READLINE
LIBS+=-lreadline -lncurses
endif
endif # ifeq ($(use_readline),1)
endif # ifneq ($(BUILDER),)
include $(COREPATH)/Makefile.utils
ifeq (,$(quiet))
ifeq ($(use_readline),1)
ifneq ($(BUILDER),)
$(info readline detected via pkg-config)
else
$(info readline detected ($(readline_path)) )
endif
$(info command completion enabled)
else
$(info "no readline include files detected, disabling readline support")
$(info "command completion disabled" )
$(info "to force readline support try 'make use_readline=1'")
endif
endif # ifeq (,$(quiet))
$(NAME).o:
.PHONY: msg
msg:
@if [ "$(use_readline)" = "1" ]; then \
if [ "$(BUILDER)" = "" ]; then \
echo; echo "readline detected ($(readline_path)):"; \
else \
echo; echo "readline detected via pkg-config"; \
fi; \
echo "command completion enabled"; echo ; \
else \
echo ; \
echo "no readline include files detected, disabling readline support";\
echo "command completion disabled"; \
echo "(to force readline support try 'make use_readline=1')";\
echo ; \
fi
modules: