提交 d35dda71 authored 作者: Michael Jerris's avatar Michael Jerris

do a better job with dependency tracking so the the mods don't keep trying to…

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
上级 d69cde63
...@@ -79,12 +79,12 @@ $(MODNAME).$(DYNAMIC_LIB_EXTEN): $(LOCAL_LIBADD) $(OUR_DEPS) $(LOCAL_OBJS) $(SOU ...@@ -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); \ $(CXXLINK) $(SOLINK) $(MODNAME).o -o $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(LIBS) $(LOCAL_LDFLAGS) $(LOCAL_OBJS) $(LOCAL_LIBADD); \
fi; fi;
mod_clean: mod_clean:
rm -fr *.$(DYNAMIC_LIB_EXTEN) *.o *~ .libs 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 $(LTINSTALL) $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(DESTDIR)$(PREFIX)/mod
mod_uninstall: mod_uninstall:
......
#! /bin/sh
./configure "$@" --disable-shared --with-pic
CONF_MODULES=$(shell grep -v "\#" $(switch_builddir)/modules.conf) CONF_MODULES=$(shell grep -v "\#" $(switch_builddir)/modules.conf)
FOUND_MODULES=$(shell find . -type d -name mod_\*) FOUND_MODULES=$(shell find . -type d -name mod_\*)
OUR_MODULES=`if test -z $(MODULES) ; then echo $(CONF_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 ;` 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_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;` 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: ...@@ -12,7 +12,6 @@ all:
@for i in $(OUR_MODULES) ; do \ @for i in $(OUR_MODULES) ; do \
echo making $$i ; \ echo making $$i ; \
moddir=$(MOD_DIR); \ moddir=$(MOD_DIR); \
echo $(MOD_NAME); \
if test -f $$moddir/Makefile ; then \ 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) ; else \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) -f $(switch_builddir)/build/modmake.rules ; \ cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) -f $(switch_builddir)/build/modmake.rules ; \
......
...@@ -194,8 +194,8 @@ uint64_t_fmt = @uint64_t_fmt@ ...@@ -194,8 +194,8 @@ uint64_t_fmt = @uint64_t_fmt@
voidp_size = @voidp_size@ voidp_size = @voidp_size@
CONF_MODULES = $(shell grep -v "\#" $(switch_builddir)/modules.conf) CONF_MODULES = $(shell grep -v "\#" $(switch_builddir)/modules.conf)
FOUND_MODULES = $(shell find . -type d -name mod_\*) FOUND_MODULES = $(shell find . -type d -name mod_\*)
OUR_MODULES = `if test -z $(MODULES) ; then echo $(CONF_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 ;` 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_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;` MOD_DIR = `if test -d $(switch_srcdir)/src/mod/$$i ; then echo $(switch_srcdir)/src/mod/$$i ; else echo $$i ; fi;`
all: all-am all: all-am
...@@ -361,7 +361,6 @@ all: ...@@ -361,7 +361,6 @@ all:
@for i in $(OUR_MODULES) ; do \ @for i in $(OUR_MODULES) ; do \
echo making $$i ; \ echo making $$i ; \
moddir=$(MOD_DIR); \ moddir=$(MOD_DIR); \
echo $(MOD_NAME); \
if test -f $$moddir/Makefile ; then \ 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) ; else \
cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) -f $(switch_builddir)/build/modmake.rules ; \ cd $$moddir && MODNAME=$(MOD_NAME) BASE=$(switch_builddir) $(MAKE) -f $(switch_builddir)/build/modmake.rules ; \
......
MODNAME=mod_spidermonkey MODNAME=mod_spidermonkey
include sm.mak
WANT_CURL=yes WANT_CURL=yes
include ../../../../build/modmake.rules
local_depend: LOCAL_CFLAGS=
cd $(BASE)/libs/curl && $(MAKE) LOCAL_LDFLAGS=
cd $(BASE)/libs/js/nsprpub && $(MAKE) LOCAL_LIBADD=
cd $(BASE)/libs/js && $(MAKE)
include sm.mak
depend_install: $(DESTDIR)$(PREFIX)/lib/libjs.la
depend_install: $(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 $(BASE)/libs/js/nsprpub && $(MAKE) install cd $(JS_DIR)/nsprpub/pr/src && $(INSTALL) libnspr4.so $(DESTDIR)$(PREFIX)/lib
cd $(BASE)/libs/js && $(MAKE) install cd $(JS_DIR)/nsprpub/lib/ds && $(INSTALL) libplds4.so $(DESTDIR)$(PREFIX)/lib
$(LINK) $(SOLINK) $(MODNAME).o -o $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(LIBS) $(LOCAL_LDFLAGS) $(LOCAL_OBJS) cd $(JS_DIR)/nsprpub/lib/libc/src && $(INSTALL) libplc4.so $(DESTDIR)$(PREFIX)/lib
cd $(JS_DIR) && $(LTINSTALL) libjs.la $(DESTDIR)$(PREFIX)/lib
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 switch_srcdir=../../../..
LOCAL_LDFLAGS = -L$(BASE)/libs/js/nsprpub/pr/src -L$(BASE)/libs/js/nsprpub/dist/lib -lnspr4 $(BASE)/libs/js/libjs.la 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)
include ../mod_spidermonkey/sm.mak
MODNAME=mod_spidermonkey_core_db MODNAME=mod_spidermonkey_core_db
include ../../../../build/modmake.rules switch_srcdir=../../../..
LOCAL_CFLAGS=
LOCAL_LDFLAGS=
LOCAL_LIBADD=
include ../mod_spidermonkey/sm.mak
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 MODNAME=mod_spidermonkey_etpan
#LOCAL_CFLAGS=
LOCAL_LDFLAGS+=-letpan
#LOCAL_OBJS=
include ../../../../build/modmake.rules
local_depend: switch_srcdir=../../../..
MAKE=$(MAKE) $(BASE)/build/buildlib.sh $(BASE) install libetpan --prefix=$(PREFIX)
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)
MODNAME=mod_spidermonkey_odbc
switch_srcdir=../../../..
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 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 $(ODBC_DIR)/Makefile:
MODNAME=mod_spidermonkey_odbc $(GETLIB) $(ODBC).tar.gz
#LOCAL_CFLAGS= cd $(ODBC_DIR) && ./configure --prefix=$(PREFIX) --disable-gui --without-x --with-pic
LOCAL_LDFLAGS+=-lodbc
#LOCAL_OBJS= $(UNINST_ODBCLA): $(ODBC_DIR)/Makefile
include ../../../../build/modmake.rules cd $(ODBC_DIR) && $(MAKE)
depend_install: $(INST_ODBCLA)
local_depend: $(INST_ODBCLA): $(UNINST_ODBCLA)
MAKE=$(MAKE) $(BASE)/build/buildlib.sh $(BASE) install unixODBC-2.2.12.tar.gz --prefix=$(PREFIX) --disable-gui --without-x --with-pic cd $(ODBC_DIR) && $(MAKE) install
include ../mod_spidermonkey/sm.mak
MODNAME=mod_spidermonkey_skel MODNAME=mod_spidermonkey_skel
include ../../../../build/modmake.rules switch_srcdir=../../../..
LOCAL_CFLAGS=
LOCAL_LDFLAGS=
LOCAL_LIBADD=
include ../mod_spidermonkey/sm.mak
MODNAME=mod_spidermonkey_teletone 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 include ../mod_spidermonkey/sm.mak
LOCAL_CFLAGS+=-I$(BASE)/libs/libteletone/src
LOCAL_LDFLAGS+=$(BASE)/libs/libteletone/libteletone.la
include ../../../../build/modmake.rules
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论