do a better job with dependency tracking so the the mods don't keep trying to build or install when they don't need to. This should start to help with the speed of the build.

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4599 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Michael Jerris 2007-03-15 01:32:18 +00:00
parent d69cde6367
commit d35dda719e
11 changed files with 87 additions and 50 deletions

View File

@ -79,12 +79,12 @@ $(MODNAME).$(DYNAMIC_LIB_EXTEN): $(LOCAL_LIBADD) $(OUR_DEPS) $(LOCAL_OBJS) $(SOU
$(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:
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:

View File

@ -0,0 +1,3 @@
#! /bin/sh
./configure "$@" --disable-shared --with-pic

View File

@ -1,7 +1,7 @@
CONF_MODULES=$(shell grep -v "\#" $(switch_builddir)/modules.conf)
FOUND_MODULES=$(shell find . -type d -name mod_\*)
OUR_MODULES=`if test -z $(MODULES) ; then echo $(CONF_MODULES) ; else echo $(MODULES) ; fi ;`
OUR_CLEAN_MODULES=`if test -z $(MODULES) ; then echo $(CONF_MODULES) $(FOUND_MODULES) ; else echo $(MODULES) ; fi ;`
OUR_MODULES=`if test -z "$(MODULES)" ; then echo $(CONF_MODULES) ; else echo $(MODULES) ; fi ;`
OUR_CLEAN_MODULES=`if test -z "$(MODULES)" ; then echo $(CONF_MODULES) $(FOUND_MODULES) ; else echo $(MODULES) ; fi ;`
MOD_NAME=`echo $$i | sed -e 's|^.*/||'`
MOD_DIR=`if test -d $(switch_srcdir)/src/mod/$$i ; then echo $(switch_srcdir)/src/mod/$$i ; else echo $$i ; fi;`
@ -12,7 +12,6 @@ all:
@for i in $(OUR_MODULES) ; do \
echo making $$i ; \
moddir=$(MOD_DIR); \
echo $(MOD_NAME); \
if test -f $$moddir/Makefile ; then \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) ; else \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) -f $(switch_builddir)/build/modmake.rules ; \

View File

@ -194,8 +194,8 @@ uint64_t_fmt = @uint64_t_fmt@
voidp_size = @voidp_size@
CONF_MODULES = $(shell grep -v "\#" $(switch_builddir)/modules.conf)
FOUND_MODULES = $(shell find . -type d -name mod_\*)
OUR_MODULES = `if test -z $(MODULES) ; then echo $(CONF_MODULES) ; else echo $(MODULES) ; fi ;`
OUR_CLEAN_MODULES = `if test -z $(MODULES) ; then echo $(CONF_MODULES) $(FOUND_MODULES) ; else echo $(MODULES) ; fi ;`
OUR_MODULES = `if test -z "$(MODULES)" ; then echo $(CONF_MODULES) ; else echo $(MODULES) ; fi ;`
OUR_CLEAN_MODULES = `if test -z "$(MODULES)" ; then echo $(CONF_MODULES) $(FOUND_MODULES) ; else echo $(MODULES) ; fi ;`
MOD_NAME = `echo $$i | sed -e 's|^.*/||'`
MOD_DIR = `if test -d $(switch_srcdir)/src/mod/$$i ; then echo $(switch_srcdir)/src/mod/$$i ; else echo $$i ; fi;`
all: all-am
@ -361,7 +361,6 @@ all:
@for i in $(OUR_MODULES) ; do \
echo making $$i ; \
moddir=$(MOD_DIR); \
echo $(MOD_NAME); \
if test -f $$moddir/Makefile ; then \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) ; else \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) -f $(switch_builddir)/build/modmake.rules ; \

View File

@ -1,15 +1,17 @@
MODNAME=mod_spidermonkey
include sm.mak
WANT_CURL=yes
include ../../../../build/modmake.rules
local_depend:
cd $(BASE)/libs/curl && $(MAKE)
cd $(BASE)/libs/js/nsprpub && $(MAKE)
cd $(BASE)/libs/js && $(MAKE)
LOCAL_CFLAGS=
LOCAL_LDFLAGS=
LOCAL_LIBADD=
depend_install:
cd $(BASE)/libs/js/nsprpub && $(MAKE) install
cd $(BASE)/libs/js && $(MAKE) install
$(LINK) $(SOLINK) $(MODNAME).o -o $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(LIBS) $(LOCAL_LDFLAGS) $(LOCAL_OBJS)
include sm.mak
depend_install: $(DESTDIR)$(PREFIX)/lib/libjs.la
$(DESTDIR)$(PREFIX)/lib/libjs.la: $(JS_DIR)/nsprpub/pr/src/libnspr4.so $(JS_DIR)/nsprpub/lib/ds/libplds4.so $(JS_DIR)/nsprpub/lib/libc/src/libplc4.so $(JS_DIR)/libjs.la
cd $(JS_DIR)/nsprpub/pr/src && $(INSTALL) libnspr4.so $(DESTDIR)$(PREFIX)/lib
cd $(JS_DIR)/nsprpub/lib/ds && $(INSTALL) libplds4.so $(DESTDIR)$(PREFIX)/lib
cd $(JS_DIR)/nsprpub/lib/libc/src && $(INSTALL) libplc4.so $(DESTDIR)$(PREFIX)/lib
cd $(JS_DIR) && $(LTINSTALL) libjs.la $(DESTDIR)$(PREFIX)/lib

View File

@ -1,2 +1,13 @@
LOCAL_CFLAGS = -I$(BASE)/libs/js/src -I$(BASE)/libs/js/nsprpub/dist/include/nspr -DXP_UNIX -I../mod_spidermonkey -DJS_THREADSAFE -DJS_HAS_FILE_OBJECT=1
LOCAL_LDFLAGS = -L$(BASE)/libs/js/nsprpub/pr/src -L$(BASE)/libs/js/nsprpub/dist/lib -lnspr4 $(BASE)/libs/js/libjs.la
switch_srcdir=../../../..
JS_DIR=$(switch_srcdir)/libs/js
JSLA=$(JS_DIR)/libjs.la
LOCAL_CFLAGS+=-I$(JS_DIR)/src -I$(JS_DIR)/nsprpub/dist/include/nspr -DXP_UNIX -I../mod_spidermonkey -DJS_THREADSAFE -DJS_HAS_FILE_OBJECT=1
LOCAL_LDFLAGS+=-L$(JS_DIR)/nsprpub/pr/src -L$(JS_DIR)/nsprpub/dist/lib -lnspr4
LOCAL_LIBADD+=$(JSLA)
include $(switch_srcdir)/build/modmake.rules
$(JSLA):
cd $(JS_DIR)/nsprpub && $(MAKE)
cd $(JS_DIR) && $(MAKE)

View File

@ -1,3 +1,7 @@
include ../mod_spidermonkey/sm.mak
MODNAME=mod_spidermonkey_core_db
include ../../../../build/modmake.rules
switch_srcdir=../../../..
LOCAL_CFLAGS=
LOCAL_LDFLAGS=
LOCAL_LIBADD=
include ../mod_spidermonkey/sm.mak

View File

@ -1,14 +1,16 @@
include ../mod_spidermonkey/sm.mak
# 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_spidermonkey_etpan
#LOCAL_CFLAGS=
LOCAL_LDFLAGS+=-letpan
#LOCAL_OBJS=
include ../../../../build/modmake.rules
local_depend:
MAKE=$(MAKE) $(BASE)/build/buildlib.sh $(BASE) install libetpan --prefix=$(PREFIX)
switch_srcdir=../../../..
ETPAN_DIR=$(switch_srcdir)/libs/libetpan
ETPANLA=$(ETPAN_DIR)/src/libetpan.la
LOCAL_CFLAGS=-I$(ETPAN_DIR)/include
LOCAL_LDFLAGS=
LOCAL_LIBADD=$(ETPANLA)
include ../mod_spidermonkey/sm.mak
$(ETPANLA):
cd $(ETPAN_DIR) && $(MAKE)

View File

@ -1,14 +1,26 @@
include ../mod_spidermonkey/sm.mak
# 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_spidermonkey_odbc
#LOCAL_CFLAGS=
LOCAL_LDFLAGS+=-lodbc
#LOCAL_OBJS=
include ../../../../build/modmake.rules
switch_srcdir=../../../..
local_depend:
MAKE=$(MAKE) $(BASE)/build/buildlib.sh $(BASE) install unixODBC-2.2.12.tar.gz --prefix=$(PREFIX) --disable-gui --without-x --with-pic
ODBC=unixODBC-2.2.12
ODBC_DIR=$(switch_srcdir)/libs/$(ODBC)
ODBCLA=libodbc.la
UNINST_ODBCLA=$(ODBC_DIR)/DriverManager/$(ODBCLA)
INST_ODBCLA=$(DESTDIR)$(PREFIX)/lib/$(ODBCLA)
LOCAL_CFLAGS=-I$(ODBC_DIR)/include
LOCAL_LDFLAGS=
LOCAL_LIBADD=$(UNINST_ODBCLA)
include ../mod_spidermonkey/sm.mak
$(ODBC_DIR)/Makefile:
$(GETLIB) $(ODBC).tar.gz
cd $(ODBC_DIR) && ./configure --prefix=$(PREFIX) --disable-gui --without-x --with-pic
$(UNINST_ODBCLA): $(ODBC_DIR)/Makefile
cd $(ODBC_DIR) && $(MAKE)
depend_install: $(INST_ODBCLA)
$(INST_ODBCLA): $(UNINST_ODBCLA)
cd $(ODBC_DIR) && $(MAKE) install

View File

@ -1,4 +1,7 @@
include ../mod_spidermonkey/sm.mak
MODNAME=mod_spidermonkey_skel
include ../../../../build/modmake.rules
switch_srcdir=../../../..
LOCAL_CFLAGS=
LOCAL_LDFLAGS=
LOCAL_LIBADD=
include ../mod_spidermonkey/sm.mak

View File

@ -1,5 +1,7 @@
MODNAME=mod_spidermonkey_teletone
switch_srcdir=../../../..
LOCAL_CFLAGS=-I$(switch_srcdir)/libs/libteletone/src
LOCAL_LDFLAGS=
LOCAL_LIBADD=$(switch_srcdir)/libs/libteletone/libteletone.la
include ../mod_spidermonkey/sm.mak
LOCAL_CFLAGS+=-I$(BASE)/libs/libteletone/src
LOCAL_LDFLAGS+=$(BASE)/libs/libteletone/libteletone.la
include ../../../../build/modmake.rules