Skip to content
Snippets Groups Projects
Makefile 3.24 KiB
Newer Older
Mark Spencer's avatar
Mark Spencer committed
#
# Asterisk -- A telephony toolkit for Linux.
# 
# Makefile for resource modules
Mark Spencer's avatar
Mark Spencer committed
#
# Copyright (C) 1999-2005, Digium
Mark Spencer's avatar
Mark Spencer committed
#
# Mark Spencer <markster@digium.com>
Mark Spencer's avatar
Mark Spencer committed
#
# This program is free software, distributed under the terms of
# the GNU General Public License
#

MODS=res_indications.so res_monitor.so res_adsi.so res_agi.so res_features.so res_clioriginate.so

ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/odbcinst.h)$(wildcard $(CROSS_COMPILE_TARGET)/usr/local/include/odbcinst.h),)
  ifneq (${OSARCH},FreeBSD)
    MODS+=res_config_odbc.so
  else
    MODS+=$(shell if test ${BSDVERSION} -ge 500000 ; then echo "res_config_odbc.so"; fi)
  endif
  MODS+=res_odbc.so
endif

Mark Spencer's avatar
Mark Spencer committed
ifneq ($(NOCRYPTO),yes)
  MODS+=res_crypto.so
endif

ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/lib/libosptk.a),)
  OSPLIB=$(CROSS_COMPILE_TARGET)/usr/lib/libosptk.a
  ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/local/lib/libosptk.a),)
    OSPLIB=$(CROSS_COMPILE_TARGET)/usr/local/lib/libosptk.a
  endif
endif

Kevin P. Fleming's avatar
Kevin P. Fleming committed
ifeq (${OSARCH},CYGWIN)
CYGSOLINK=-Wl,--out-implib=lib$@.a -Wl,--export-all-symbols
CYGSOLIB=-L.. -L. -lasterisk.dll
CYG_RES_CONFIG_ODBC_LIB=-lres_odbc.so
CYG_RES_FEATURES_LIB=-lres_adsi.so -lres_monitor.so
else
MODS+=res_musiconhold.so 
endif

Mark Spencer's avatar
Mark Spencer committed
CRYPTO_LIBS=-lssl -lcrypto

CFLAGS+=
ifndef WITHOUT_ZAPTEL
ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/linux/zaptel.h)$(wildcard $(CROSS_COMPILE_TARGET)/usr/local/include/zaptel.h),)
  CFLAGS+=-DZAPATA_MOH
endif
endif # WITHOUT_ZAPTEL
#
# Work around buggy RedHat 9.0
#
Kevin P. Fleming's avatar
Kevin P. Fleming committed
ifeq (${OSARCH},CYGWIN)
CFLAGS+=-DOPENSSL_NO_KRB5
else
Mark Spencer's avatar
Mark Spencer committed
CFLAGS+=-DOPENSSL_NO_KRB5 -fPIC
Kevin P. Fleming's avatar
Kevin P. Fleming committed
endif
#
# Asterisk SMDI integration
#
ifeq (${WITH_SMDI},1)
MODS+=res_smdi.so
endif

Mark Spencer's avatar
Mark Spencer committed
all: depend $(MODS)
Mark Spencer's avatar
Mark Spencer committed

install: all
	for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
Kevin P. Fleming's avatar
Kevin P. Fleming committed
	@if [ x`which mpg123 2>/dev/null | grep -v '^no'` != x ] ; then \
	  if mpg123 --longhelp 2>&1 | grep -q .59r 2>&1 >/dev/null ; then echo ; else \
			echo "*************************************************************";\
			echo "*** You have the WRONG version of mpg123... you need .59r ***";\
			echo "*** Use 'make mpg123' to get the right verison            ***";\
			echo "*************************************************************";\
	  fi ;\
	else \
		echo "*** You don't have mpg123 installed. You may need ***";\
		echo "***       it if you want to use MusicOnHold       ***";\
	fi
Mark Spencer's avatar
Mark Spencer committed
res_crypto.so: res_crypto.o
Kevin P. Fleming's avatar
Kevin P. Fleming committed
	$(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} $(CRYPTO_LIBS)
Mark Spencer's avatar
Mark Spencer committed

clean:
Mark Spencer's avatar
Mark Spencer committed
	rm -f *.so *.o .depend
res_odbc.so: res_odbc.o
Kevin P. Fleming's avatar
Kevin P. Fleming committed
	$(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} -lodbc
res_osp.so: res_osp.o $(OSPLIB)
Kevin P. Fleming's avatar
Kevin P. Fleming committed
	$(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} $(OSPLIB)
Mark Spencer's avatar
Mark Spencer committed
%.so : %.o
Kevin P. Fleming's avatar
Kevin P. Fleming committed
	$(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB}

res_features.so: res_features.o
	$(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} ${CYG_RES_FEATURES_LIB}

res_config_odbc.so: res_config_odbc.o
	$(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} ${CYG_RES_CONFIG_ODBC_LIB}
Mark Spencer's avatar
Mark Spencer committed

Mark Spencer's avatar
Mark Spencer committed
ifneq ($(wildcard .depend),)
Mark Spencer's avatar
Mark Spencer committed
endif
Mark Spencer's avatar
Mark Spencer committed

depend: .depend

.depend:
	../build_tools/mkdep $(CFLAGS) `ls *.c`