freeswitch/build/modmake.rules.in
Anthony Minessale 0e03316567 make modules re-link after core change
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4618 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-16 20:03:12 +00:00

119 lines
3.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=$(switch_builddir)/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
OUR_CFLAGS=$(shell test -z "$(WANT_CURL)" || echo $(LIBCURL_CPPFLAGS))
OUR_LDFLAGS=$(shell test -z "$(WANT_CURL)" || echo $(LIBCURL))
OUR_DEPS=$(shell test -z "$(WANT_CURL)" || if test ! -z "$(LIBCURL_DEPS)"; then echo $(CURLLA); fi)
LDFLAGS=@SWITCH_AM_LDFLAGS@ @LDFLAGS@ $(OUR_LDFLAGS)
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=$(shell uname -s)
DYNAMIC_LIB_EXTEN = @DYNAMIC_LIB_EXTEN@
SOLINK = @SOLINK@
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 $@
CURDIR=$(shell pwd)
CSOURCEFILE=$(CURDIR)/$(MODNAME).c
CXXSOURCEFILE=$(CURDIR)/$(MODNAME).cpp
SOURCEFILE=$(shell if test -f $(CSOURCEFILE); then echo $(CSOURCEFILE); else echo $(CXXSOURCEFILE); fi;)
all: local_depend local_all $(MODNAME).$(DYNAMIC_LIB_EXTEN) Makefile
depend: local_depend
clean: local_clean mod_clean
install: all depend_install local_install mod_install
uninstall: local_uninstall mod_uninstall
distclean: clean local_distclean
extraclean: distclean local_extraclean
Makefile:
if test ! -f $@; then \
echo MODNAME=$(MODNAME) > Makefile ; \
if ! pwd | grep $(switch_srcdir)/src/mod ; then rulesdir=$(switch_srcdir) ; else rulesdir=../../../.. ; fi ; \
echo include $$rulesdir/build/modmake.rules >> Makefile ; \
fi ;
$(CURLLA):
cd $(CURL_DIR) && $(MAKE)
$(MODNAME).$(DYNAMIC_LIB_EXTEN): $(LIBS) $(LOCAL_LIBADD) $(OUR_DEPS) $(LOCAL_OBJS) $(SOURCEFILE) $(MODNAME).o
@if test -f $(CSOURCEFILE); then \
echo $(LINK) $(SOLINK) $(MODNAME).o -o $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(LIBS) $(LOCAL_LDFLAGS) $(LOCAL_OBJS) $(LOCAL_LIBADD); \
$(LINK) $(SOLINK) $(MODNAME).o -o $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(LIBS) $(LOCAL_LDFLAGS) $(LOCAL_OBJS) $(LOCAL_LIBADD); \
else \
echo $(CXXLINK) $(SOLINK) $(MODNAME).o -o $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(LIBS) $(LOCAL_LDFLAGS) $(LOCAL_OBJS) $(LOCAL_LIBADD); \
$(CXXLINK) $(SOLINK) $(MODNAME).o -o $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(LIBS) $(LOCAL_LDFLAGS) $(LOCAL_OBJS) $(LOCAL_LIBADD); \
fi;
mod_clean:
rm -fr *.$(DYNAMIC_LIB_EXTEN) *.o *~ .libs
mod_install: $(DESTDIR)$(PREFIX)/mod/$(MODNAME).$(DYNAMIC_LIB_EXTEN)
$(DESTDIR)$(PREFIX)/mod/$(MODNAME).$(DYNAMIC_LIB_EXTEN):$(MODNAME).$(DYNAMIC_LIB_EXTEN)
$(LTINSTALL) $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(DESTDIR)$(PREFIX)/mod
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:
$(COMPILE) -c -o $@ $<
.c.lo:
$(LTCOMPILE) -c -o $@ $<
.cpp.o:
$(CXXCOMPILE) -c -o $@ $<
.cpp.lo:
$(LTCXXCOMPILE) -c -o $@ $<
.PHONY: all depend clean local_all local_depend \
install depend_install local_install mod_install \
clean local_clean mod_clean distclean \
local_distclean extraclean local_extraclean