diff --git a/Makefile.am b/Makefile.am
index a54e0812d7..c8fb3df416 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -122,25 +122,41 @@ nodepends: .nodepends
 yesdepends:
 	rm .nodepends
 
-.depend:
-	MAKE=$(MAKE) ./build/buildlib.sh . install sqlite-3.2.8.tar.gz --prefix=$(PREFIX) --disable-tcl --enable-threadsafe
-	MAKE=$(MAKE) ./build/buildlib.sh . install apr-1.2.2.tar.gz --prefix=$(PREFIX)
-	MAKE=$(MAKE) ./build/buildlib.sh . install apr-util-1.2.2.tar.gz --with-apr=../apr-1.2.2 --prefix=$(PREFIX)
-	MAKE=$(MAKE) ./build/buildlib.sh . libresample-0.1.3.tgz --prefix=$(PREFIX)
-	cp libs/libresample-0.1.3/*.a $(PREFIX)/lib
-	cp libs/libresample-0.1.3/include/* $(PREFIX)/include
-	ranlib $(PREFIX)/lib/libresample.a
-	touch .depend
-
-depends: .depend
+depends:
+	@echo making depends
+	rm -f build/freeswitch.env
+	@./build/addenv.sh build/freeswitch.env PREFIX $(PREFIX)
+	@./build/addenv.sh build/freeswitch.env MAKE $(MAKE)
+	./build/buildlib.sh . install sqlite-3.2.8.tar.gz --prefix=$(PREFIX) --disable-tcl --enable-threadsafe
+	./build/buildlib.sh . install apr-1.2.2.tar.gz --prefix=$(PREFIX)
+	./build/buildlib.sh . install apr-util-1.2.2.tar.gz --with-apr=../apr-1.2.2 --prefix=$(PREFIX)
+	./build/buildlib.sh . libresample-0.1.3.tgz --prefix=$(PREFIX)
+	./build/buildlib.sh . howl-1.0.0.tar.gz --prefix=$(PREFIX)
+	rm build/freeswitch.env
 
 
 modules: $(NAME)
 	@echo making modules
-	@cd src/mod && for i in `cat ../../modules.conf | grep -v \#` ; do echo making $$i ; MAKE=$(MAKE) DYLD_LIBRARY_PATH="$(PREFIX)/lib:$DYLD_LIBRARY_PATH" LD_LIBRARY_PATH="$(PREFIX)/lib:$LD_LIBRARY_PATH" PREFIX="$(PREFIX)" BASE="$(PWD)" OSARCH="$(OSARCH)" SOLINK="$(SOLINK)" LDFLAGS="$(AM_LDFLAGS) -lfreeswitch" CFLAGS="$(AM_CFLAGS)" CC="$(CC)" MOD="$$i" $(PWD)/build/modmake.sh $(PWD) $$i || exit 1; done
+	rm -f build/freeswitch.env
+	@./build/addenv.sh build/freeswitch.env MAKE "$(MAKE)"
+	@./build/addenv.sh build/freeswitch.env DYLD_LIBRARY_PATH "$(PREFIX)/lib:$DYLD_LIBRARY_PATH"
+	@./build/addenv.sh build/freeswitch.env LD_LIBRARY_PATH "$(PREFIX)/lib:$LD_LIBRARY_PATH"
+	@./build/addenv.sh build/freeswitch.env PREFIX "$(PREFIX)"
+	@./build/addenv.sh build/freeswitch.env BASE "$(PWD)"
+	@./build/addenv.sh build/freeswitch.env OSARCH "$(OSARCH)"
+	@./build/addenv.sh build/freeswitch.env SOLINK "$(SOLINK)"
+	@./build/addenv.sh build/freeswitch.env LDFLAGS "$(AM_LDFLAGS) -lfreeswitch"
+	@./build/addenv.sh build/freeswitch.env CFLAGS "$(AM_CFLAGS)"
+	@./build/addenv.sh build/freeswitch.env CC "$(CC)"
+	@cd src/mod && for i in `cat ../../modules.conf | grep -v \#` ; do echo making $$i ; $(PWD)/build/modmake.sh $(PWD) $$i || exit 1; done
+	rm -f build/freeswitch.env
 
 modclean:
-	@cd src/mod && for i in `find . -type d -name mod_\*` ; do echo making clean $$i ; MAKE=$(MAKE) SOLINK="$(SOLINK)" CFLAGS="$(CFLAGS)" CC="$(CC)" MOD="$$i" $(PWD)/build/modmake.sh $(PWD) $$i clean || exit 1; done
+	rm -f build/freeswitch.env
+	@./build/addenv.sh build/freeswitch.env MAKE "$(MAKE)"
+	@./build/addenv.sh build/freeswitch.env CC "$(CC)"
+	@cd src/mod && for i in `find . -type d -name mod_\*` ; do echo making clean $$i ; $(PWD)/build/modmake.sh $(PWD) $$i clean || exit 1; done
+	rm -f build/freeswitch.env
 
 everything: install install_mod
 
@@ -156,9 +172,11 @@ install_mod: modules
 	@mkdir -p $(PREFIX) $(PREFIX)/conf $(PREFIX)/mod $(PREFIX)/db $(PREFIX)/bin
 	@if [ -f .libs/$(NAME) ] ; then /bin/cp -p .libs/$(NAME) $(PREFIX)/bin ; else /bin/cp -p ./$(NAME) $(PREFIX)/bin ; fi
 	@echo Installing Modules
-	@cd src/mod && for i in `cat ../../modules.conf | grep -v \#` ; do echo making clean $$i ; PREFIX=$(PREFIX) MOD="$$i" $(PWD)/build/modmake.sh $(PWD) $$i install || exit 1; done
+	rm -f build/freeswitch.env
+	@./build/addenv.sh build/freeswitch.env PREFIX "$(PREFIX)"
+	@cd src/mod && for i in `cat ../../modules.conf | grep -v \#` ; do echo making clean $$i ; $(PWD)/build/modmake.sh $(PWD) $$i install || exit 1; done
 	@echo done
-
+	rm -f build/freeswitch.env
 dox:
 	cd docs && doxygen $(PWD)/docs/Doxygen.conf
 
diff --git a/Makefile.in b/Makefile.in
index e17c839031..9ebc7b61dc 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -998,24 +998,40 @@ nodepends: .nodepends
 yesdepends:
 	rm .nodepends
 
-.depend:
-	MAKE=$(MAKE) ./build/buildlib.sh . install sqlite-3.2.8.tar.gz --prefix=$(PREFIX) --disable-tcl --enable-threadsafe
-	MAKE=$(MAKE) ./build/buildlib.sh . install apr-1.2.2.tar.gz --prefix=$(PREFIX)
-	MAKE=$(MAKE) ./build/buildlib.sh . install apr-util-1.2.2.tar.gz --with-apr=../apr-1.2.2 --prefix=$(PREFIX)
-	MAKE=$(MAKE) ./build/buildlib.sh . libresample-0.1.3.tgz --prefix=$(PREFIX)
-	cp libs/libresample-0.1.3/*.a $(PREFIX)/lib
-	cp libs/libresample-0.1.3/include/* $(PREFIX)/include
-	ranlib $(PREFIX)/lib/libresample.a
-	touch .depend
-
-depends: .depend
+depends:
+	@echo making depends
+	rm -f build/freeswitch.env
+	@./build/addenv.sh build/freeswitch.env PREFIX $(PREFIX)
+	@./build/addenv.sh build/freeswitch.env MAKE $(MAKE)
+	./build/buildlib.sh . install sqlite-3.2.8.tar.gz --prefix=$(PREFIX) --disable-tcl --enable-threadsafe
+	./build/buildlib.sh . install apr-1.2.2.tar.gz --prefix=$(PREFIX)
+	./build/buildlib.sh . install apr-util-1.2.2.tar.gz --with-apr=../apr-1.2.2 --prefix=$(PREFIX)
+	./build/buildlib.sh . libresample-0.1.3.tgz --prefix=$(PREFIX)
+	./build/buildlib.sh . howl-1.0.0.tar.gz --prefix=$(PREFIX)
+	rm build/freeswitch.env
 
 modules: $(NAME)
 	@echo making modules
-	@cd src/mod && for i in `cat ../../modules.conf | grep -v \#` ; do echo making $$i ; MAKE=$(MAKE) DYLD_LIBRARY_PATH="$(PREFIX)/lib:$DYLD_LIBRARY_PATH" LD_LIBRARY_PATH="$(PREFIX)/lib:$LD_LIBRARY_PATH" PREFIX="$(PREFIX)" BASE="$(PWD)" OSARCH="$(OSARCH)" SOLINK="$(SOLINK)" LDFLAGS="$(AM_LDFLAGS) -lfreeswitch" CFLAGS="$(AM_CFLAGS)" CC="$(CC)" MOD="$$i" $(PWD)/build/modmake.sh $(PWD) $$i || exit 1; done
+	rm -f build/freeswitch.env
+	@./build/addenv.sh build/freeswitch.env MAKE "$(MAKE)"
+	@./build/addenv.sh build/freeswitch.env DYLD_LIBRARY_PATH "$(PREFIX)/lib:$DYLD_LIBRARY_PATH"
+	@./build/addenv.sh build/freeswitch.env LD_LIBRARY_PATH "$(PREFIX)/lib:$LD_LIBRARY_PATH"
+	@./build/addenv.sh build/freeswitch.env PREFIX "$(PREFIX)"
+	@./build/addenv.sh build/freeswitch.env BASE "$(PWD)"
+	@./build/addenv.sh build/freeswitch.env OSARCH "$(OSARCH)"
+	@./build/addenv.sh build/freeswitch.env SOLINK "$(SOLINK)"
+	@./build/addenv.sh build/freeswitch.env LDFLAGS "$(AM_LDFLAGS) -lfreeswitch"
+	@./build/addenv.sh build/freeswitch.env CFLAGS "$(AM_CFLAGS)"
+	@./build/addenv.sh build/freeswitch.env CC "$(CC)"
+	@cd src/mod && for i in `cat ../../modules.conf | grep -v \#` ; do echo making $$i ; $(PWD)/build/modmake.sh $(PWD) $$i || exit 1; done
+	rm -f build/freeswitch.env
 
 modclean:
-	@cd src/mod && for i in `find . -type d -name mod_\*` ; do echo making clean $$i ; MAKE=$(MAKE) SOLINK="$(SOLINK)" CFLAGS="$(CFLAGS)" CC="$(CC)" MOD="$$i" $(PWD)/build/modmake.sh $(PWD) $$i clean || exit 1; done
+	rm -f build/freeswitch.env
+	@./build/addenv.sh build/freeswitch.env MAKE "$(MAKE)"
+	@./build/addenv.sh build/freeswitch.env CC "$(CC)"
+	@cd src/mod && for i in `find . -type d -name mod_\*` ; do echo making clean $$i ; $(PWD)/build/modmake.sh $(PWD) $$i clean || exit 1; done
+	rm -f build/freeswitch.env
 
 everything: install install_mod
 
@@ -1031,9 +1047,11 @@ install_mod: modules
 	@mkdir -p $(PREFIX) $(PREFIX)/conf $(PREFIX)/mod $(PREFIX)/db $(PREFIX)/bin
 	@if [ -f .libs/$(NAME) ] ; then /bin/cp -p .libs/$(NAME) $(PREFIX)/bin ; else /bin/cp -p ./$(NAME) $(PREFIX)/bin ; fi
 	@echo Installing Modules
-	@cd src/mod && for i in `cat ../../modules.conf | grep -v \#` ; do echo making clean $$i ; PREFIX=$(PREFIX) MOD="$$i" $(PWD)/build/modmake.sh $(PWD) $$i install || exit 1; done
+	rm -f build/freeswitch.env
+	@./build/addenv.sh build/freeswitch.env PREFIX "$(PREFIX)"
+	@cd src/mod && for i in `cat ../../modules.conf | grep -v \#` ; do echo making clean $$i ; $(PWD)/build/modmake.sh $(PWD) $$i install || exit 1; done
 	@echo done
-
+	rm -f build/freeswitch.env
 dox:
 	cd docs && doxygen $(PWD)/docs/Doxygen.conf
 
diff --git a/build/addenv.sh b/build/addenv.sh
new file mode 100755
index 0000000000..d7ce88b153
--- /dev/null
+++ b/build/addenv.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+echo "$2=\"$3\" ; export $2" >> $1
diff --git a/build/buildlib.sh b/build/buildlib.sh
index 78565b9483..5427272c9e 100755
--- a/build/buildlib.sh
+++ b/build/buildlib.sh
@@ -3,13 +3,18 @@
 root=$1
 shift
 
+
 if [ -f $root/.nodepends ] ; then
     echo "***depends disabled*** use $MAKE yesdepends to re-enable"
     exit 0
 fi
 
+if [ -f $root/build/freeswitch.env ] ; then
+    . $root/build/freeswitch.env
+fi
+
 if [ -z $MAKE ] ; then
-    make=`which dmake 2>/dev/null`
+    make=`which gmake 2>/dev/null`
     if [ -z $MAKE ] ; then
 	make=make
     fi
diff --git a/build/modmake.sh b/build/modmake.sh
index 5fdb099cd9..c7efb91af2 100755
--- a/build/modmake.sh
+++ b/build/modmake.sh
@@ -4,6 +4,10 @@ shift
 mod=$1
 shift
 
+if [ -f $pwd/build/freeswitch.env ] ; then
+    . $pwd/build/freeswitch.env
+fi
+
 make=`which gmake`
 
 if [ -z $make ] ; then
diff --git a/libs/libresample-0.1.3.build.sh b/libs/libresample-0.1.3.build.sh
new file mode 100755
index 0000000000..4367b2ee93
--- /dev/null
+++ b/libs/libresample-0.1.3.build.sh
@@ -0,0 +1,5 @@
+./configure $@
+make
+*.a $(PREFIX)/lib
+include/* $(PREFIX)/include
+ranlib $(PREFIX)/lib/libresample.a