add uninstall_mod target to the main makefile

implement uninstall in modmake.rules
add LIBADD_LOCAL var for use in the module makefiles, it both links to the module, and is a dependency like LOCAL_OBJS
fix bug in src/mod/Makefile(.am) that was causing make install to fail on first run for those modules that used the default mod makefile
implement the getlib.sh script in mod_shout Makefile (works.. but still wip)



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4589 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Michael Jerris 2007-03-14 14:35:11 +00:00
parent bc34fb766c
commit c99d8c9b08
8 changed files with 88 additions and 31 deletions

View File

@ -179,8 +179,13 @@ wayclean: clean
modules: libfreeswitch.la
$(MAKE) -C src/mod
install_mod: libfreeswitch.la
$(MAKE) -C src/mod install
uninstall_mod:
$(MAKE) -C src/mod uninstall
modclean:
$(MAKE) -C src/mod clean

View File

@ -184,6 +184,7 @@ EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GETLIB = @GETLIB@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@ -1162,8 +1163,13 @@ wayclean: clean
modules: libfreeswitch.la
$(MAKE) -C src/mod
install_mod: libfreeswitch.la
$(MAKE) -C src/mod install
uninstall_mod:
$(MAKE) -C src/mod uninstall
modclean:
$(MAKE) -C src/mod clean

View File

@ -8,8 +8,10 @@ CXX=@CXX@
AWK=@AWK@
SHELL=@SHELL@
INSTALL=@INSTALL@
GETLIB=@GETLIB@
LIBTOOL=$(switch_builddir)/libtool
LTINSTALL = $(LIBTOOL) --mode=install $(INSTALL)
LTINSTALL=$(LIBTOOL) --mode=install $(INSTALL)
LTUNINSTALL=$(LIBTOOL) --mode=uninstall rm -f
CCLD = $(CC)
CXXLD = $(CXX)
@ -44,6 +46,7 @@ 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
@ -54,13 +57,13 @@ Makefile:
echo include $$rulesdir/build/modmake.rules >> Makefile ; \
fi ;
$(MODNAME).$(DYNAMIC_LIB_EXTEN): $(MODNAME).o $(LOCAL_OBJS) $(SOURCEFILE)
$(MODNAME).$(DYNAMIC_LIB_EXTEN): $(LOCAL_LIBADD) $(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); \
$(LINK) $(SOLINK) $(MODNAME).o -o $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(LIBS) $(LOCAL_LDFLAGS) $(LOCAL_OBJS); \
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); \
$(CXXLINK) $(SOLINK) $(MODNAME).o -o $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(LIBS) $(LOCAL_LDFLAGS) $(LOCAL_OBJS); \
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:
@ -69,8 +72,11 @@ mod_clean:
mod_install:
$(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_all local_depend local_clean depend_install local_install local_distclean local_extraclean local_uninstall:
#
# Implicit rules for creating outputs from input files

6
configure vendored
View File

@ -490,7 +490,7 @@ ac_subdirs_all="$ac_subdirs_all libs/sofia-sip"
ac_subdirs_all="$ac_subdirs_all libs/speex"
ac_subdirs_all="$ac_subdirs_all libs/xmlrpc-c"
ac_subdirs_all="$ac_subdirs_all libs/portaudio"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar switch_srcdir switch_builddir moddir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL PRTDIAG WANT_DEBUG_TRUE WANT_DEBUG_FALSE SWITCH_AM_CFLAGS SWITCH_AM_CXXFLAGS SWITCH_AM_LDFLAGS SOLINK DYNAMIC_LIB_EXTEN LIBOBJS voidp_size short_value int_value long_value int64_value size_t_value ssize_t_value int64_t_fmt uint64_t_fmt ssize_t_fmt size_t_fmt ZCAT TAR WGET CURL CRASHPROT_TRUE CRASHPROT_FALSE ISLINUX_TRUE ISLINUX_FALSE ISMAC_TRUE ISMAC_FALSE IS64BITLINUX_TRUE IS64BITLINUX_FALSE subdirs LTLIBOBJS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar switch_srcdir switch_builddir moddir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL PRTDIAG WANT_DEBUG_TRUE WANT_DEBUG_FALSE SWITCH_AM_CFLAGS SWITCH_AM_CXXFLAGS SWITCH_AM_LDFLAGS SOLINK DYNAMIC_LIB_EXTEN LIBOBJS voidp_size short_value int_value long_value int64_value size_t_value ssize_t_value int64_t_fmt uint64_t_fmt ssize_t_fmt size_t_fmt ZCAT TAR WGET CURL GETLIB CRASHPROT_TRUE CRASHPROT_FALSE ISLINUX_TRUE ISLINUX_FALSE ISMAC_TRUE ISMAC_FALSE IS64BITLINUX_TRUE IS64BITLINUX_FALSE subdirs LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@ -25236,6 +25236,9 @@ fi
test -n "$CURL" && break
done
GETLIB="cd $switch_srcdir/libs && ${SHELL} $switch_srcdir/build/getlib.sh"
# Check whether --enable-crash-protection or --disable-crash-protection was given.
if test "${enable_crash_protection+set}" = set; then
@ -26163,6 +26166,7 @@ s,@ZCAT@,$ZCAT,;t t
s,@TAR@,$TAR,;t t
s,@WGET@,$WGET,;t t
s,@CURL@,$CURL,;t t
s,@GETLIB@,$GETLIB,;t t
s,@CRASHPROT_TRUE@,$CRASHPROT_TRUE,;t t
s,@CRASHPROT_FALSE@,$CRASHPROT_FALSE,;t t
s,@ISLINUX_TRUE@,$ISLINUX_TRUE,;t t

View File

@ -278,6 +278,9 @@ AC_PATH_PROGS(ZCAT, gunzip gzcat gzip zcat)
AC_PATH_PROGS(TAR, gtar tar)
AC_PATH_PROGS(WGET, wget)
AC_PATH_PROGS(CURL, curl)
GETLIB="cd $switch_srcdir/libs && ${SHELL} $switch_srcdir/build/getlib.sh"
AC_SUBST(GETLIB)
AC_ARG_ENABLE(crash-protection,
[ --enable-crash-protection Compile with CRASH Protection],,[enable_crash_prot="no"])

View File

@ -36,7 +36,19 @@ install:
moddir=$(MOD_DIR); \
if test -f $$moddir/Makefile ; then \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) install ; else \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) -f $(switch_builddir)/build/modmake.rules clean ; \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) -f $(switch_builddir)/build/modmake.rules install ; \
fi; \
done
@echo done
uninstall:
@echo Uninstalling Modules
@for i in $(OUR_MODULES) ; do \
echo making uninstall $$i ; \
moddir=$(MOD_DIR); \
if test -f $$moddir/Makefile ; then \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) uninstall ; else \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) -f $(switch_builddir)/build/modmake.rules uninstall ; \
fi; \
done
@echo done

View File

@ -88,6 +88,7 @@ EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GETLIB = @GETLIB@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@ -274,7 +275,6 @@ all-am: Makefile
installdirs:
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
@ -380,7 +380,19 @@ install:
moddir=$(MOD_DIR); \
if test -f $$moddir/Makefile ; then \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) install ; else \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) -f $(switch_builddir)/build/modmake.rules clean ; \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) -f $(switch_builddir)/build/modmake.rules install ; \
fi; \
done
@echo done
uninstall:
@echo Uninstalling Modules
@for i in $(OUR_MODULES) ; do \
echo making uninstall $$i ; \
moddir=$(MOD_DIR); \
if test -f $$moddir/Makefile ; then \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) uninstall ; else \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) -f $(switch_builddir)/build/modmake.rules uninstall ; \
fi; \
done
@echo done

View File

@ -1,34 +1,43 @@
# define these targets in your makefile if you wish
# local_all local_depend local_clean depend_install local_install local_distclean local_extraclean:
# and define these variables to impact your build
MODNAME=mod_shout
LAME=lame-3.97
SHOUT=libshout-2.2.2
LAMELA=$(BASE)/libs/$(LAME)/libmp3lame/libmp3lame.la
SHOUTLA=$(BASE)/libs/$(SHOUT)/src/libshout.la
CURLLA=$(BASE)/libs/curl/lib/libcurl.la
LOCAL_CFLAGS=-I$(BASE)/libs/curl/include -I$(BASE)/libs/$(SHOUT)/include -I$(BASE)/libs/$(LAME)/include
LOCAL_LDFLAGS=$(LAMELA) $(SHOUTLA) $(CURLLA)
switch_srcdir=../../../..
LAME_DIR=$(switch_srcdir)/libs/$(LAME)
SHOUT_DIR=$(switch_srcdir)/libs/$(SHOUT)
CURL_DIR=$(switch_srcdir)/libs/curl
LAMELA=$(LAME_DIR)/libmp3lame/libmp3lame.la
SHOUTLA=$(SHOUT_DIR)/src/libshout.la
CURLLA=$(CURL_DIR)/lib/libcurl.la
LOCAL_CFLAGS=-I$(CURL_DIR)/include -I$(SHOUT_DIR)/include -I$(LAME_DIR)/include
LOCAL_LIBADD=$(LAMELA) $(SHOUTLA) $(CURLLA)
MP3OBJS=common.o dct64_i386.o decode_ntom.o layer3.o tabinit.o interface.o
LOCAL_OBJS=$(MP3OBJS)
include $(switch_srcdir)/build/modmake.rules
DEFAULT_ARGS=--prefix=$(PREFIX) --disable-shared --with-pic
include ../../../../build/modmake.rules
$(LAME_DIR)/Makefile:
$(GETLIB) $(LAME).tar.gz
cd $(LAME_DIR) && ./configure $(DEFAULT_ARGS) --disable-decoder
$(LAMELA):
MAKE="$(MAKE)" $(BASE)/build/buildlib.sh $(BASE) $(LAME).tar.gz $(DEFAULT_ARGS) --disable-decoder
$(LAMELA): $(LAME_DIR)/Makefile
cd $(LAME_DIR) && $(MAKE)
$(SHOUTLA):
MAKE="$(MAKE)" MOD_CFLAGS="${ALL_CFLAGS}" MOD_LDFLAGS="${LD_CFLAGS}" $(BASE)/build/buildlib.sh $(BASE) $(SHOUT).tar.gz $(DEFAULT_ARGS)
$(SHOUT_DIR)/Makefile:
$(GETLIB) $(SHOUT).tar.gz
cd $(SHOUT_DIR) && ./configure $(DEFAULT_ARGS)
$(SHOUTLA): $(SHOUT_DIR)/Makefile
cd $(SHOUT_DIR) && $(MAKE)
$(CURLLA):
cd $(BASE)/libs/curl && $(MAKE)
%.o: %.c
$(CC) $(ALL_CFLAGS) -c -o $@ $<
local_depend: $(LAMELA) $(SHOUTLA) $(MP3OBJS)
cd $(CURL_DIR) && $(MAKE)