@SET_MAKE@

switch_builddir=@switch_builddir@
switch_srcdir=@switch_srcdir@

CC=@CC@
CXX=@CXX@
AWK=@AWK@
SHELL=@SHELL@
INSTALL=@INSTALL@
GETLIB=@GETLIB@
LIBTOOL=@LIBTOOL@
LTINSTALL=$(LIBTOOL) --mode=install $(INSTALL)
LTUNINSTALL=$(LIBTOOL) --mode=uninstall rm -f 
CCLD = $(CC)
CXXLD = $(CXX)

LIBCURL_DEPS=@LIBCURL_DEPS@
LIBCURL=@LIBCURL@
LIBCURL_CPPFLAGS=@LIBCURL_CPPFLAGS@
CURL_DIR=$(switch_srcdir)/libs/curl
CURLLA=$(CURL_DIR)/lib/libcurl.la

LIBS=$(switch_builddir)/libfreeswitch.la
DEFS=@DEFS@
PREFIX = @prefix@

DYLD_LIBRARY_PATH=$(PREFIX)/lib:$DYLD_LIBRARY_PATH
LD_LIBRARY_PATH=$(PREFIX)/lib:$LD_LIBRARY_PATH
OSARCH=`uname -s`
DYNAMIC_LIB_EXTEN = @DYNAMIC_LIB_EXTEN@
SOLINK = @SOLINK@

LDFLAGS=@SWITCH_AM_LDFLAGS@ @LDFLAGS@ $(OUR_LDFLAGS)

ALL_CFLAGS   = $(LOCAL_CFLAGS) $(MOD_CFLAGS) @SWITCH_AM_CFLAGS@ @CFLAGS@ -D_GNU_SOURCE $(OUR_CFLAGS)
ALL_CXXFLAGS   = $(LOCAL_CFLAGS) $(MOD_CFLAGS) @SWITCH_AM_CXXFLAGS@ @CXXFLAGS@ -D_GNU_SOURC $(OUR_CFLAGS)

COMPILE      = $(CC) $(ALL_CFLAGS) $(DEFS)
LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(COMPILE)
LINK = $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(ALL_CFLAGS) $(LDFLAGS) -o $@

CXXCOMPILE = $(CXX) $(ALL_CXXFLAGS) $(DEFS)
LTCXXCOMPILE = $(LIBTOOL) --mode=compile --tag=CXX $(CXXCOMPILE)
CXXLINK = $(LIBTOOL) --mode=link --tag=CXX $(CXXLD) $(ALL_CXXFLAGS) $(LDFLAGS) -o $@

CSOURCEFILE=$(MODNAME).c
CXXSOURCEFILE=$(MODNAME).cpp
TOUCH_TARGET=@TOUCH_TARGET@

#MAKE_OPTS = `if test -z "$(VERBOSE)" ; then $(MAKE) --help | grep silent | grep "\-s" 2>&1 >/dev/null && echo -s;fi`
MAKE_OPTS = `test -n "$(VERBOSE)" || echo -s`
RECURSE_MODNAME=`pwd | sed -e 's|^.*/||'`
RECURSE_SOURCEFILE=`if test -f $$modname.cpp; then echo $$modname.cpp; else echo $$modname.c; fi`
RECURSE_OUR_DEPS=`test -z "$(WANT_CURL)" || if test ! -z "$(LIBCURL_DEPS)"; then echo $(CURLLA); fi `
RECURSE_OUR_CFLAGS=`test -z "$(WANT_CURL)" || echo $(LIBCURL_CPPFLAGS) ; $(LOCAL_INSERT_CFLAGS) `
RECURSE_OUR_LDFLAGS=`test -z "$(WANT_CURL)" || echo $(LIBCURL) ; $(LOCAL_INSERT_LDFLAGS) `
RECURSE_MAKE=modname="$(RECURSE_MODNAME)" ; \
		sourcefile="$(RECURSE_SOURCEFILE)" ; \
		osarch=`uname -s` ; \
		ourdefs="$(RECURSE_OUR_DEPS)" ; \
		ourcflags="$(RECURSE_OUR_CFLAGS)" ; \
		ourldflags="$(RECURSE_OUR_LDFLAGS)" ; \
		insertobjs="`$(LOCAL_INSERT_OBJS)`" ; \
		$(MAKE) $(MAKE_OPTS) MODNAME="$$modname" SOURCEFILE="$$sourcefile" \
			OUR_DEPS="$$ourdefs" OUR_CFLAGS="$$ourcflags" OUR_LDFLAGS="$$ourldflags" OUR_OBJS="$$insertobjs"

all: Makefile
	@$(RECURSE_MAKE) all-modules || exit 1
depend: Makefile
	@$(RECURSE_MAKE) depend-modules || exit 1
clean: Makefile
	@$(RECURSE_MAKE) clean-modules || exit 1
install: Makefile
	@$(RECURSE_MAKE) install-modules || exit 1
uninstall: Makefile
	@$(RECURSE_MAKE) uninstall-modules || exit 1
distclean: Makefile
	@$(RECURSE_MAKE) distclean-modules || exit 1
extraclean: Makefile
	@$(RECURSE_MAKE) extraclean-modules || exit 1

all-modules: local_depend local_all $(MODNAME).$(DYNAMIC_LIB_EXTEN) Makefile
depend-modules: local_depend
clean-modules: local_clean mod_clean
install-modules: all-modules depend_install local_install mod_install
uninstall-modules: local_uninstall mod_uninstall
distclean-modules: clean-modules local_distclean
extraclean-modules: distclean local_extraclean

Makefile:
	@if test ! -f $@; then \
	  if ! pwd | grep $(switch_srcdir)/src/mod ; then rulesdir=$(switch_srcdir) ; else rulesdir=../../../.. ; fi ; \
	  echo BASE=$$rulesdir > Makefile ; \
	  echo "include $(BASE)/build/modmake.rules" >> Makefile ; \
	fi ;

$(CURLLA):
	@cd $(CURL_DIR) && $(MAKE)

LINK_OUTPUT_REDIR=> .libs/$(MODNAME).log || error="yes" ; \
			if test -n "$(VERBOSE)" -o "$$error" = "yes"; then \
			  cat .libs/$(MODNAME).log ; \
			fi ;\
			if test "$$error" = "yes"; then \
			  exit 1 ;\
			 fi 

$(MODNAME).$(DYNAMIC_LIB_EXTEN): $(LIBS) $(LOCAL_LIBADD) $(OUR_DEPS) $(LOCAL_OBJS) $(OUR_OBJS) $(SOURCEFILE) $(MODNAME).o 
	@echo Creating $@...
	@test -d .libs || mkdir .libs
	@error="";\
	if test -f $(CSOURCEFILE); then \
	$(LINK) $(SOLINK) $(MODNAME).o -o $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(LIBS) $(LOCAL_LDFLAGS) $(LOCAL_OBJS) $(OUR_OBJS) $(LOCAL_LIBADD) $(LINK_OUTPUT_REDIR) ;\
	else \
	$(CXXLINK) $(SOLINK) $(MODNAME).o -o $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(LIBS) $(LOCAL_LDFLAGS) $(LOCAL_OBJS) $(OUR_OBJS) $(LOCAL_LIBADD) $(LINK_OUTPUT_REDIR) ;\
	fi;

mod_clean:
	@rm -fr *.$(DYNAMIC_LIB_EXTEN) *.o *.lo *~ .libs $(LOCAL_OBJS)

mod_install: $(DESTDIR)$(PREFIX)/mod/$(MODNAME).$(DYNAMIC_LIB_EXTEN)

$(DESTDIR)$(PREFIX)/mod/$(MODNAME).$(DYNAMIC_LIB_EXTEN):$(MODNAME).$(DYNAMIC_LIB_EXTEN)
	@echo installing $<
	@$(LTINSTALL) $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(DESTDIR)$(PREFIX)/mod >/dev/null

mod_uninstall:
	@$(LTUNINSTALL) $(DESTDIR)$(PREFIX)/mod/$(MODNAME).$(DYNAMIC_LIB_EXTEN)

# define these in your makefile if you wish
local_all local_depend local_clean depend_install local_install local_distclean local_extraclean local_uninstall:

#
# Implicit rules for creating outputs from input files
#
.SUFFIXES:
.SUFFIXES: .c .lo .o .cpp

.c.o:
	@echo Compiling $<...
	@if test ! -z $(VERBOSE) ; then echo $(COMPILE) -c -o $@ $< ; fi
	@$(COMPILE) -c -o $@ $< || exit 1

.c.lo:
	@echo Compiling $<...
	@if test ! -z $(VERBOSE) ; then echo $(LTCOMPILE) -c -o $@ $< ; fi
	@$(LTCOMPILE) -c -o $@ $< || exit 1

.cpp.o:
	@echo Compiling $<...
	@if test ! -z $(VERBOSE) ; then echo $(CXXCOMPILE) -c -o $@ $< ; fi
	@$(CXXCOMPILE) -c -o $@ $< || exit 1

.cpp.lo:
	@echo Compiling $<...
	@if test ! -z $(VERBOSE) ; then echo $(LTCXXCOMPILE) -c -o $@ $< ; fi
	@$(LTCXXCOMPILE) -c -o $@ $< || exit 1

$(MODNAME).o $(MODNAME).lo: $(SOURCEFILE) \
  $(switch_srcdir)/src/include/switch.h $(switch_srcdir)/src/include/switch_am_config.h \
  $(switch_srcdir)/src/include/switch_types.h $(switch_srcdir)/src/include/switch_apr.h \
  $(switch_srcdir)/src/include/switch_core_db.h $(switch_srcdir)/src/include/switch_regex.h \
  $(switch_srcdir)/src/include/switch_core.h $(switch_srcdir)/src/include/switch_loadable_module.h \
  $(switch_srcdir)/src/include/switch_console.h $(switch_srcdir)/src/include/switch_utils.h \
  $(switch_srcdir)/src/include/switch_caller.h $(switch_srcdir)/src/include/switch_config.h \
  $(switch_srcdir)/src/include/switch_frame.h $(switch_srcdir)/src/include/switch_module_interfaces.h \
  $(switch_srcdir)/src/include/switch_channel.h $(switch_srcdir)/src/include/switch_buffer.h \
  $(switch_srcdir)/src/include/switch_event.h $(switch_srcdir)/src/include/switch_resample.h \
  $(switch_srcdir)/src/include/switch_ivr.h $(switch_srcdir)/src/include/switch_rtp.h \
  $(switch_srcdir)/src/include/switch_stun.h $(switch_srcdir)/src/include/switch_log.h \
  $(switch_srcdir)/src/include/switch_xml.h

$(switch_srcdir)/src/include/switch.h:

$(switch_srcdir)/src/include/switch_am_config.h:

$(switch_srcdir)/src/include/switch_types.h:

$(switch_srcdir)/src/include/switch_apr.h:

$(switch_srcdir)/src/include/switch_core_db.h:

$(switch_srcdir)/src/include/switch_regex.h:

$(switch_srcdir)/src/include/switch_core.h:

$(switch_srcdir)/src/include/switch_loadable_module.h:

$(switch_srcdir)/src/include/switch_console.h:

$(switch_srcdir)/src/include/switch_utils.h:

$(switch_srcdir)/src/include/switch_caller.h:

$(switch_srcdir)/src/include/switch_config.h:

$(switch_srcdir)/src/include/switch_frame.h:

$(switch_srcdir)/src/include/switch_module_interfaces.h:

$(switch_srcdir)/src/include/switch_channel.h:

$(switch_srcdir)/src/include/switch_buffer.h:

$(switch_srcdir)/src/include/switch_event.h:

$(switch_srcdir)/src/include/switch_resample.h:

$(switch_srcdir)/src/include/switch_ivr.h:

$(switch_srcdir)/src/include/switch_rtp.h:

$(switch_srcdir)/src/include/switch_stun.h:

$(switch_srcdir)/src/include/switch_log.h:

$(switch_srcdir)/src/include/switch_xml.h:


.PHONY: all clean depend install distclean extraclean \
	all-modules clean-modules depend-modules install-modules distclean-modules extraclean-modules \
	local_all local_clean local_depend local_install local_distclean local_extraclean \
	mod_clean mod_install mod_uninstall depend_install