freeswitch/build/modmake.rules.in
Michal Bielicki b552cb3a6c Make libdir and bindir being accepted by libs and modules
add a setting called --modinstdir to be able to define where modules get installed


git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7663 d0543943-73ff-0310-b7d9-9358b9ac24b2
2008-02-18 14:58:41 +00:00

226 lines
7.9 KiB
Plaintext

@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@
MODINSTDIR = @modinstdir@
DYLD_LIBRARY_PATH=${_libdir}:$DYLD_LIBRARY_PATH
LD_LIBRARY_PATH=${_libdir}:$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 $(MODNAME).$(DYNAMIC_LIB_EXTEN) local_all 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)$(MODINSTDIR)/$(MODNAME).$(DYNAMIC_LIB_EXTEN)
$(DESTDIR)$(MODINSTDIR)/$(MODNAME).$(DYNAMIC_LIB_EXTEN):$(MODNAME).$(DYNAMIC_LIB_EXTEN)
@echo installing $<
@$(LTINSTALL) $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(DESTDIR)$(MODINSTDIR) >/dev/null
mod_uninstall:
@$(LTUNINSTALL) $(DESTDIR)$(MODINSTDIR)/$(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