Multiple revisions 380671-380673
authorJason Parker <jparker@digium.com>
Thu, 31 Jan 2013 19:04:57 +0000 (19:04 +0000)
committerJason Parker <jparker@digium.com>
Thu, 31 Jan 2013 19:04:57 +0000 (19:04 +0000)
........
  r380671 | qwell | 2013-01-31 12:59:28 -0600 (Thu, 31 Jan 2013) | 4 lines

  Remove a cross-compile workaround.

  ar and ranlib can be easily detected with autoconf.
........
  r380672 | qwell | 2013-01-31 13:00:38 -0600 (Thu, 31 Jan 2013) | 2 lines

  Always check for libm, regardless of configure options.
........
  r380673 | qwell | 2013-01-31 13:03:03 -0600 (Thu, 31 Jan 2013) | 7 lines

  Add support for parallel builds of pjproject.

  Also adds proper dependency checking, and direct .a file targets.  We don't
  take advantage of this currently, but we will soon.

  (issue ASTERISK-20815)
........

Merged revisions 380671-380673 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380674 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/pjproject/aconfigure
res/pjproject/aconfigure.ac
res/pjproject/build/cc-auto.mak.in
res/pjproject/build/rules.mak
res/pjproject/pjlib-util/build/Makefile
res/pjproject/pjlib/build/Makefile
res/pjproject/pjmedia/build/Makefile
res/pjproject/pjnath/build/Makefile
res/pjproject/pjsip-apps/build/Makefile
res/pjproject/pjsip/build/Makefile

index 64cc6f0..babbff7 100755 (executable)
@@ -649,10 +649,12 @@ CC_INC
 CC_OUT
 LIBEXT2
 LIBEXT
-RANLIB
 LDOUT
 LD
+AR_FLAGS
+ac_ct_AR
 AR
+RANLIB
 ac_ct_CXX
 CXXFLAGS
 CXX
@@ -3468,18 +3470,205 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-if test -z "$CROSS_COMPILE"; then
-    CROSS_COMPILE=`echo ${CC} | sed 's/gcc//'`
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
 fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-if test "$AR" = ""; then AR="${CROSS_COMPILE}ar rv"; fi
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in ar gar
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$AR" && break
+  done
+fi
+if test -z "$AR"; then
+  ac_ct_AR=$AR
+  for ac_prog in ar gar
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_AR="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_AR" && break
+done
+
+  if test "x$ac_ct_AR" = x; then
+    AR=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
+fi
+
+
+if test "$AR_FLAGS" = ""; then AR_FLAGS="rv"; fi
 
 if test "$LD" = ""; then LD="$CC"; fi
 
 if test "$LDOUT" = ""; then LDOUT="-o "; fi
 
-if test "$RANLIB" = ""; then RANLIB="${CROSS_COMPILE}ranlib"; fi
-
 if test "$OBJEXT" = ""; then OBJEXT='o'; fi
 
 if test "$LIBEXT" = ""; then LIBEXT='a'; fi
@@ -3890,6 +4079,51 @@ _ACEOF
 
 fi
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5
+$as_echo_n "checking for sin in -lm... " >&6; }
+if test "${ac_cv_lib_m_sin+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lm  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char sin ();
+int
+main ()
+{
+return sin ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_m_sin=yes
+else
+  ac_cv_lib_m_sin=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5
+$as_echo "$ac_cv_lib_m_sin" >&6; }
+if test "x$ac_cv_lib_m_sin" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBM 1
+_ACEOF
+
+  LIBS="-lm $LIBS"
+
+fi
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate in -luuid" >&5
 $as_echo_n "checking for uuid_generate in -luuid... " >&6; }
 if test "${ac_cv_lib_uuid_uuid_generate+set}" = set; then :
@@ -4676,51 +4910,6 @@ else
 
                { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if floating point is disabled... no" >&5
 $as_echo "Checking if floating point is disabled... no" >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmod in -lm" >&5
-$as_echo_n "checking for fmod in -lm... " >&6; }
-if test "${ac_cv_lib_m_fmod+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char fmod ();
-int
-main ()
-{
-return fmod ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_m_fmod=yes
-else
-  ac_cv_lib_m_fmod=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_fmod" >&5
-$as_echo "$ac_cv_lib_m_fmod" >&6; }
-if test "x$ac_cv_lib_m_fmod" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBM 1
-_ACEOF
-
-  LIBS="-lm $LIBS"
-
-fi
-
 
 fi
 
index a19b84e..e0ec1f9 100644 (file)
@@ -40,21 +40,15 @@ AC_PROG_CC
 AC_PROG_CXX
 AC_LANG_C
 
-dnl #
-dnl # Setup CROSS_COMPILE variable
-dnl #
-if test -z "$CROSS_COMPILE"; then 
-    CROSS_COMPILE=`echo ${CC} | sed 's/gcc//'`
-fi
+AC_PROG_RANLIB
+AC_CHECK_TOOLS([AR], [ar gar], :)
 
-if test "$AR" = ""; then AR="${CROSS_COMPILE}ar rv"; fi
-AC_SUBST(AR)
+if test "$AR_FLAGS" = ""; then AR_FLAGS="rv"; fi
+AC_SUBST(AR_FLAGS)
 if test "$LD" = ""; then LD="$CC"; fi
 AC_SUBST(LD)
 if test "$LDOUT" = ""; then LDOUT="-o "; fi
 AC_SUBST(LDOUT)
-if test "$RANLIB" = ""; then RANLIB="${CROSS_COMPILE}ranlib"; fi
-AC_SUBST(RANLIB)
 if test "$OBJEXT" = ""; then OBJEXT='o'; fi
 AC_SUBST(OBJEXT)
 if test "$LIBEXT" = ""; then LIBEXT='a'; fi
@@ -112,6 +106,7 @@ AC_CHECK_LIB(winmm,puts)
 AC_CHECK_LIB(socket,puts)
 AC_CHECK_LIB(rt,puts)
 AC_CHECK_LIB(nsl,puts)
+AC_CHECK_LIB(m,sin)
 AC_CHECK_LIB(uuid,uuid_generate)
 AC_CHECK_LIB(uuid,uuid_generate,[ac_has_uuid_lib=1])
 
@@ -184,7 +179,6 @@ AC_ARG_ENABLE(floating-point,
              [
                AC_DEFINE(PJ_HAS_FLOATING_POINT,1)
                AC_MSG_RESULT([Checking if floating point is disabled... no]) 
-               AC_CHECK_LIB(m,fmod)
              ])
 
 
index bc56567..2530e21 100644 (file)
@@ -1,6 +1,7 @@
 export CC = @CC@ -c
 export CXX = @CXX@ -c
 export AR = @AR@
+export AR_FLAGS = @AR_FLAGS@
 export LD = @LD@
 export LDOUT = -o 
 export RANLIB = @RANLIB@
index 0d35c56..15ae667 100644 (file)
@@ -72,6 +72,7 @@ print_common:
        @echo DEPFLAGS=$(DEPFLAGS)
        @echo CC=$(CC)
        @echo AR=$(AR)
+       @echo AR_FLAGS=$(AR_FLAGS)
        @echo RANLIB=$(RANLIB)
 
 print_bin: print_common
@@ -84,7 +85,7 @@ print_lib: print_common
 
 $(LIB): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
        if test ! -d $(LIBDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR)); fi
-       $(AR) $(LIB) $(OBJS)
+       $(AR) $(AR_FLAGS) $(LIB) $(OBJS)
        $(RANLIB) $(LIB)
 
 $(SHLIB): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
index fba93bb..6c37979 100644 (file)
@@ -69,12 +69,16 @@ doc:
 dep: depend
 distclean: realclean
 
-.PHONY: dep depend pjlib pjlib-test clean realclean distclean
+.PHONY: dep depend clean realclean distclean
+.PHONY: $(TARGETS)
+.PHONY: $(PJLIB_UTIL_LIB) $(UTIL_TEST_EXE)
 
-pjlib-util:
+pjlib-util: $(PJLIB_UTIL_LIB)
+$(PJLIB_UTIL_LIB):
        $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $(PJLIB_UTIL_LIB)
 
-pjlib-util-test:
+pjlib-util-test: $(UTIL_TEST_EXE)
+$(UTIL_TEST_EXE): $(PJLIB_UTIL_LIB)
        $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $(UTIL_TEST_EXE)
 
 .PHONY: ../lib/pjlib-util.ko
index 9183644..272206d 100644 (file)
@@ -77,17 +77,21 @@ depend: ../include/pj/config_site.h
        echo '$(TEST_EXE): $(PJLIB_LIB)' >> .pjlib-test-$(TARGET_NAME).depend
 
 
-.PHONY: dep depend pjlib pjlib-test clean realclean distclean
+.PHONY: dep depend clean realclean distclean
+.PHONY: $(TARGETS)
+.PHONY: $(PJLIB_LIB) $(TEST_EXE)
 
 dep: depend
 
-pjlib: ../include/pj/config_site.h
+pjlib: $(PJLIB_LIB)
+$(PJLIB_LIB): ../include/pj/config_site.h
        $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $(PJLIB_LIB)
 
 ../include/pj/config_site.h:
        touch ../include/pj/config_site.h
-       
-pjlib-test: 
+
+pjlib-test: $(TEST_EXE)
+$(TEST_EXE): $(PJLIB_LIB)
        $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $(TEST_EXE)
 
 .PHONY: ../lib/pjlib.ko
index 2ef3988..267403d 100644 (file)
@@ -156,24 +156,32 @@ doc:
 dep: depend
 distclean: realclean
 
-.PHONY: dep depend pjmedia pjmedia-codec pjmedia-videodev pjmedia-audiodev pjmedia-test clean realclean distclean
+.PHONY: dep depend clean realclean distclean
+.PHONY: $(TARGETS)
+.PHONY: $(PJMEDIA_LIB) $(PJMEDIA_CODEC_LIB) $(PJMEDIA_VIDEODEV_LIB) $(PJMEDIA_AUDIODEV_LIB) $(PJSDP_LIB) $(PJMEDIA_TEST_EXE)
 
-pjmedia:
+pjmedia: $(PJMEDIA_LIB)
+$(PJMEDIA_LIB):
        $(MAKE) -f $(RULES_MAK) APP=PJMEDIA app=pjmedia $(PJMEDIA_LIB)
 
-pjmedia-codec:
+pjmedia-codec: $(PJMEDIA_CODEC_LIB)
+$(PJMEDIA_CODEC_LIB):
        $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_CODEC app=pjmedia-codec $(PJMEDIA_CODEC_LIB)
 
-pjmedia-videodev:
+pjmedia-videodev: $(PJMEDIA_VIDEODEV_LIB)
+$(PJMEDIA_VIDEODEV_LIB):
        $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_VIDEODEV app=pjmedia-videodev $(PJMEDIA_VIDEODEV_LIB)
 
-pjmedia-audiodev:
+pjmedia-audiodev: $(PJMEDIA_AUDIODEV_LIB)
+$(PJMEDIA_AUDIODEV_LIB):
        $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_AUDIODEV app=pjmedia-audiodev $(PJMEDIA_AUDIODEV_LIB)
 
-pjsdp:
+pjsdp: $(PJSDP_LIB)
+$(PJSDP_LIB):
        $(MAKE) -f $(RULES_MAK) APP=PJSDP app=pjsdp $(PJSDP_LIB)
 
-pjmedia-test: $(PJMEDIA_LIB)
+pjmedia-test: $(PJMEDIA_TEST_EXE)
+$(PJMEDIA_TEST_EXE): $(PJMEDIA_LIB) $(PJMEDIA_CODEC_LIB)
        $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $(PJMEDIA_TEST_EXE)
 
 .PHONY: ../lib/pjmedia.ko
index 573d957..40736e6 100644 (file)
@@ -92,18 +92,24 @@ doc:
 dep: depend
 distclean: realclean
 
-.PHONY: dep depend pjlib pjlib-test clean realclean distclean
+.PHONY: dep depend clean realclean distclean
+.PHONY: $(TARGETS)
+.PHONY: $(PJNATH_LIB) $(PJNATH_TEST_EXE) $(PJTURN_CLIENT_EXE) $(PJTURN_SRV_EXE)
 
-pjnath:
+pjnath: $(PJNATH_LIB)
+$(PJNATH_LIB):
        $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $(PJNATH_LIB)
 
-pjnath-test: $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB)
+pjnath-test: $(PJNATH_TEST_EXE)
+$(PJNATH_TEST_EXE): $(PJNATH_LIB)
        $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $(PJNATH_TEST_EXE)
 
-pjturn-client: $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB)
+pjturn-client: $(PJTURN_CLIENT_EXE)
+$(PJTURN_CLIENT_EXE): $(PJNATH_LIB)
        $(MAKE) -f $(RULES_MAK) APP=PJTURN_CLIENT app=pjturn-client $(PJTURN_CLIENT_EXE)
 
-pjturn-srv: $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB)
+pjturn-srv: $(PJTURN_SRV_EXE)
+$(PJTURN_SRV_EXE): $(PJNATH_LIB)
        $(MAKE) -f $(RULES_MAK) APP=PJTURN_SRV app=pjturn-srv $(PJTURN_SRV_EXE)
 
 .PHONY: ../lib/pjnath.ko
index 146e841..b5f4c8a 100644 (file)
@@ -57,8 +57,6 @@ export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
 #
 TARGETS := pjsua pjsystest samples
 
-.PHONY: $(TARGETS)
-
 all: $(TARGETS)
 
 doc:
@@ -66,12 +64,16 @@ doc:
 dep: depend
 distclean: realclean
 
-.PHONY: dep depend pjsua clean realclean distclean
+.PHONY: dep depend clean realclean distclean
+.PHONY: $(TARGETS)
+.PHONY: $(PJSUA_EXE) $(PJSYSTEST_EXE)
 
-pjsua:
+pjsua: $(PJSUA_EXE)
+$(PJSUA_EXE):
        $(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $(PJSUA_EXE)
 
-pjsystest:
+pjsystest: $(PJSYSTEST_EXE)
+$(PJSYSTEST_EXE):
        $(MAKE) -f $(RULES_MAK) APP=PJSYSTEST app=pjsystest $(PJSYSTEST_EXE)
 
 samples:
index 2605be0..41e91a1 100644 (file)
@@ -106,8 +106,6 @@ export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
 #
 TARGETS := pjsip pjsip-ua pjsip-simple pjsua-lib pjsip-test
 
-.PHONY: $(TARGETS)
-
 all: $(TARGETS)
 
 doc:
@@ -124,21 +122,28 @@ doc:
 dep: depend
 distclean: realclean
 
-.PHONY: dep depend pjsip pjsip-ua pjsua-lib clean realclean distclean
+.PHONY: dep depend clean realclean distclean
+.PHONY: $(TARGETS)
+.PHONY: $(PJSIP_LIB) $(PJSIP_UA_LIB) $(PJSIP_SIMPLE_LIB) $(PJSUA_LIB_LIB) $(TEST_EXE)
 
-pjsip:
+pjsip: $(PJSIP_LIB)
+$(PJSIP_LIB):
        $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $(PJSIP_LIB)
 
-pjsip-ua:
+pjsip-ua: $(PJSIP_UA_LIB)
+$(PJSIP_UA_LIB):
        $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $(PJSIP_UA_LIB)
 
-pjsip-simple:
+pjsip-simple: $(PJSIP_SIMPLE_LIB)
+$(PJSIP_SIMPLE_LIB):
        $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $(PJSIP_SIMPLE_LIB)
 
-pjsua-lib: 
+pjsua-lib: $(PJSUA_LIB_LIB)
+$(PJSUA_LIB_LIB): 
        $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $(PJSUA_LIB_LIB)
 
-pjsip-test:
+pjsip-test: $(TEST_EXE)
+$(TEST_EXE): $(PJSUA_LIB_LIB) $(PJSIP_SIMPLE_LIB) $(PJSIP_UA_LIB) $(PJSIP_LIB)
        $(MAKE) -f $(RULES_MAK) APP=TEST app=pjsip-test $(TEST_EXE)
 
 .PHONY: ../lib/pjsip.ko