summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-07-29 11:42:20 +0000
committerBenny Prijono <bennylp@teluu.com>2008-07-29 11:42:20 +0000
commit29531157bcbaf915153ad1179c538a5161ea5e2c (patch)
tree564b073cd6ff76964147b24d42a3ce1f7ee988b4
parentb2019f321854e3e9a3a810e2420a1979fce7de7c (diff)
Fixed ticket #581: Fixed build dependencies in the makefiles
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2183 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--build.mak.in18
-rw-r--r--build/rules.mak6
-rw-r--r--pjlib-util/build/Makefile4
-rw-r--r--pjmedia/build/Makefile4
-rw-r--r--pjnath/build/Makefile4
-rw-r--r--pjsip-apps/build/Makefile2
-rw-r--r--pjsip-apps/build/Samples.mak2
-rw-r--r--pjsip/build/Makefile10
-rw-r--r--third_party/build/gsm/Makefile1
-rw-r--r--third_party/build/ilbc/Makefile1
-rw-r--r--third_party/build/milenage/Makefile1
-rw-r--r--third_party/build/portaudio/Makefile1
-rw-r--r--third_party/build/resample/Makefile1
-rw-r--r--third_party/build/speex/Makefile1
-rw-r--r--third_party/build/srtp/Makefile1
15 files changed, 39 insertions, 18 deletions
diff --git a/build.mak.in b/build.mak.in
index 27f43919..57ee2c6f 100644
--- a/build.mak.in
+++ b/build.mak.in
@@ -7,23 +7,30 @@ export TARGET_NAME := @target@
export CROSS_COMPILE := @ac_cross_compile@
export LINUX_POLL := @ac_linux_poll@
+LIB_SUFFIX = $(TARGET_NAME).a
+
# Determine which party libraries to use
export APP_THIRD_PARTY_LIBS := -lresample-$(TARGET_NAME) -lmilenage-$(TARGET_NAME) -lsrtp-$(TARGET_NAME)
+export APP_THIRD_PARTY_LIB_FILES = $(PJ_DIR)/third_party/lib/libresample-$(LIB_SUFFIX) $(PJ_DIR)/third_party/lib/libmilenage-$(LIB_SUFFIX) $(PJ_DIR)/third_party/lib/libsrtp-$(LIB_SUFFIX)
ifneq (@ac_no_gsm_codec@,1)
APP_THIRD_PARTY_LIBS += -lgsmcodec-$(TARGET_NAME)
+APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec-$(LIB_SUFFIX)
endif
ifneq (@ac_no_speex_codec@,1)
APP_THIRD_PARTY_LIBS += -lspeex-$(TARGET_NAME)
+APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex-$(LIB_SUFFIX)
endif
ifneq (@ac_no_ilbc_codec@,1)
APP_THIRD_PARTY_LIBS += -lilbccodec-$(TARGET_NAME)
+APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec-$(LIB_SUFFIX)
endif
ifneq ($(findstring pa,@ac_pjmedia_snd@),)
APP_THIRD_PARTY_LIBS += -lportaudio-$(TARGET_NAME)
+APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libportaudio-$(LIB_SUFFIX)
endif
@@ -56,6 +63,16 @@ export APP_LDLIBS := -lpjsua-$(TARGET_NAME)\
$(APP_THIRD_PARTY_LIBS)\
-lpj-$(TARGET_NAME)\
@LIBS@
+export APP_LIB_FILES = $(PJ_DIR)/pjsip/lib/libpjsua-$(LIB_SUFFIX) \
+ $(PJ_DIR)/pjsip/lib/libpjsip-ua-$(LIB_SUFFIX) \
+ $(PJ_DIR)/pjsip/lib/libpjsip-simple-$(LIB_SUFFIX) \
+ $(PJ_DIR)/pjsip/lib/libpjsip-$(LIB_SUFFIX) \
+ $(PJ_DIR)/pjmedia/lib/libpjmedia-codec-$(LIB_SUFFIX) \
+ $(PJ_DIR)/pjmedia/lib/libpjmedia-$(LIB_SUFFIX) \
+ $(PJ_DIR)/pjnath/lib/libpjnath-$(LIB_SUFFIX) \
+ $(PJ_DIR)/pjlib-util/lib/libpjlib-util-$(LIB_SUFFIX) \
+ $(APP_THIRD_PARTY_LIB_FILES) \
+ $(PJ_DIR)/pjlib/lib/libpj-$(LIB_SUFFIX)
export PJ_DIR := $(PJDIR)
export PJ_CC := $(APP_CC)
@@ -63,4 +80,5 @@ export PJ_CFLAGS := $(APP_CFLAGS)
export PJ_CXXFLAGS := $(APP_CXXFLAGS)
export PJ_LDFLAGS := $(APP_LDFLAGS)
export PJ_LDLIBS := $(APP_LDLIBS)
+export PJ_LIB_FILES := $(APP_LIB_FILES)
diff --git a/build/rules.mak b/build/rules.mak
index 513ea6c2..bbe0ab19 100644
--- a/build/rules.mak
+++ b/build/rules.mak
@@ -74,11 +74,13 @@ print_lib: print_common
@echo LIB=$(LIB)
@echo LIBDIR=$(LIBDIR)
-$(LIB): $(LIBDIR) $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
+$(LIB): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
+ if test ! -d $(LIBDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR)); fi
$(AR) $(LIB) $(OBJS)
$(RANLIB) $(LIB)
-$(EXE): $(BINDIR) $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
+$(EXE): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
+ if test ! -d $(BINDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(BINDIR)),$(HOST_MKDIR)); fi
$(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$(EXE)) \
$(subst /,$(HOST_PSEP),$(OBJS)) $($(APP)_LDFLAGS)
diff --git a/pjlib-util/build/Makefile b/pjlib-util/build/Makefile
index df735d4a..ef0939af 100644
--- a/pjlib-util/build/Makefile
+++ b/pjlib-util/build/Makefile
@@ -68,7 +68,7 @@ distclean: realclean
pjlib-util:
$(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $(PJLIB_UTIL_LIB)
-pjlib-util-test: $(PJLIB_LIB)
+pjlib-util-test:
$(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $(UTIL_TEST_EXE)
.PHONY: ../lib/pjlib-util.ko
@@ -93,6 +93,6 @@ realclean:
depend:
$(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $@
$(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $@
- echo '$(TEST_EXE): $(PJLIB_UTIL_LIB)' >> .pjlib-util-test-$(TARGET_NAME).depend; \
+ echo '$(UTIL_TEST_EXE): $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjlib-util-test-$(TARGET_NAME).depend; \
diff --git a/pjmedia/build/Makefile b/pjmedia/build/Makefile
index 97c9054a..f6723773 100644
--- a/pjmedia/build/Makefile
+++ b/pjmedia/build/Makefile
@@ -171,8 +171,6 @@ depend:
$(MAKE) -f $(RULES_MAK) APP=PJMEDIA_CODEC app=pjmedia-codec $@
$(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $@
$(MAKE) -f $(RULES_MAK) APP=PJSDP app=pjsdp $@
- echo '$(PJMEDIA_LIB): .pjmedia-$(TARGET_NAME).depend' >> .pjmedia-$(TARGET_NAME).depend; \
- echo '$(PJMEDIA_CODEC_LIB): .pjmedia-codec-$(TARGET_NAME).depend' >> .pjmedia-codec-$(TARGET_NAME).depend; \
- echo '$(PJMEDIA_TEST_EXE): $(PJMEDIA_LIB) $(PJMEDIA_CODEC_LIB)' >> .pjmedia-test-$(TARGET_NAME).depend; \
+ echo '$(PJMEDIA_TEST_EXE): $(PJMEDIA_LIB) $(PJMEDIA_CODEC_LIB) $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjmedia-test-$(TARGET_NAME).depend
diff --git a/pjnath/build/Makefile b/pjnath/build/Makefile
index 3322d73b..3012659f 100644
--- a/pjnath/build/Makefile
+++ b/pjnath/build/Makefile
@@ -131,6 +131,8 @@ depend:
$(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $@
$(MAKE) -f $(RULES_MAK) APP=PJTURN_CLIENT app=pjturn-client $@
$(MAKE) -f $(RULES_MAK) APP=PJTURN_SRV app=pjturn-srv $@
- echo '$(TEST_EXE): $(PJNATH_LIB)' >> .pjnath-test-$(TARGET_NAME).depend; \
+ echo '$(PJNATH_TEST_EXE): $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjnath-test-$(TARGET_NAME).depend
+ echo '$(PJTURN_CLIENT_EXE): $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjturn-client-$(TARGET_NAME).depend
+ echo '$(PJTURN_SRV_EXE): $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjturn-srv-$(TARGET_NAME).depend
diff --git a/pjsip-apps/build/Makefile b/pjsip-apps/build/Makefile
index 206bddaa..ac004c58 100644
--- a/pjsip-apps/build/Makefile
+++ b/pjsip-apps/build/Makefile
@@ -70,7 +70,7 @@ clean depend realclean:
$(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $@
$(MAKE) -f Samples.mak $@
@if test "$@" = "depend"; then \
- echo '$(PJSUA_EXE): $(PJSIP_LIB) $(PJSIP_UA_LIB) $(PJSIP_SIMPLE) $(PJSUA_LIB_LIB) $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB) $(PJMEDIA_LIB) $(PJMEDIA_CODEC_LIB) Makefile' >> .pjsua-$(TARGET_NAME).depend; \
+ echo '$(PJSUA_EXE): $(APP_LIB_FILES)' >> .pjsua-$(TARGET_NAME).depend; \
fi
diff --git a/pjsip-apps/build/Samples.mak b/pjsip-apps/build/Samples.mak
index b20f4cd2..e70eb278 100644
--- a/pjsip-apps/build/Samples.mak
+++ b/pjsip-apps/build/Samples.mak
@@ -41,7 +41,7 @@ EXES := $(foreach file, $(SAMPLES), $(BINDIR)/$(file)-$(TARGET_NAME)$(HOST_EXE))
all: $(OBJDIR) $(EXES)
-$(BINDIR)/%-$(TARGET_NAME)$(HOST_EXE): $(OBJDIR)/%$(OBJEXT) $(LIBS)
+$(BINDIR)/%-$(TARGET_NAME)$(HOST_EXE): $(OBJDIR)/%$(OBJEXT) $(PJ_LIB_FILES)
$(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$@) \
$(subst /,$(HOST_PSEP),$<) \
$(_LDFLAGS)
diff --git a/pjsip/build/Makefile b/pjsip/build/Makefile
index ef78f420..9400f26a 100644
--- a/pjsip/build/Makefile
+++ b/pjsip/build/Makefile
@@ -155,13 +155,21 @@ pjsip-test:
echo Making $@
$(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $@
-clean depend:
+clean:
$(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $@
$(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $@
$(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $@
$(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $@
$(MAKE) -f $(RULES_MAK) APP=TEST app=pjsip-test $@
+depend:
+ $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $@
+ $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $@
+ $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $@
+ $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $@
+ $(MAKE) -f $(RULES_MAK) APP=TEST app=pjsip-test $@
+ echo '$(TEST_EXE): $(PJMEDIA_LIB) $(PJSUA_LIB_LIB) $(PJSIP_SIMPLE_LIB) $(PJSIP_UA_LIB) $(PJSIP_LIB) $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjsip-test-$(TARGET_NAME).depend
+
realclean:
$(subst @@,$(subst /,$(HOST_PSEP),.pjsip-$(TARGET_NAME).depend),$(HOST_RMR))
$(subst @@,$(subst /,$(HOST_PSEP),.pjsip-ua-$(TARGET_NAME).depend),$(HOST_RMR))
diff --git a/third_party/build/gsm/Makefile b/third_party/build/gsm/Makefile
index c469f57e..a265076e 100644
--- a/third_party/build/gsm/Makefile
+++ b/third_party/build/gsm/Makefile
@@ -60,6 +60,5 @@ realclean:
depend:
$(MAKE) -f $(RULES_MAK) APP=GSM_CODEC app=libgsmcodec $@
- echo '$(GSM_CODEC_LIB): .libgsmcodec-$(TARGET_NAME).depend' >> .libgsmcodec-$(TARGET_NAME).depend; \
diff --git a/third_party/build/ilbc/Makefile b/third_party/build/ilbc/Makefile
index f85ce629..50b4ab7e 100644
--- a/third_party/build/ilbc/Makefile
+++ b/third_party/build/ilbc/Makefile
@@ -61,6 +61,5 @@ realclean:
depend:
$(MAKE) -f $(RULES_MAK) APP=ILBC app=libilbccodec $@
- echo '$(ILBC_LIB): .libilbccodec-$(TARGET_NAME).depend' >> .libilbccodec-$(TARGET_NAME).depend; \
diff --git a/third_party/build/milenage/Makefile b/third_party/build/milenage/Makefile
index 068f2da4..094ddeaa 100644
--- a/third_party/build/milenage/Makefile
+++ b/third_party/build/milenage/Makefile
@@ -54,6 +54,5 @@ realclean:
depend:
$(MAKE) -f $(RULES_MAK) APP=MILENAGE app=libmilenage $@
- echo '$(MILENAGE_LIB): .libmilenage-$(TARGET_NAME).depend' >> .libmilenage-$(TARGET_NAME).depend; \
diff --git a/third_party/build/portaudio/Makefile b/third_party/build/portaudio/Makefile
index e1cfa654..ad81571a 100644
--- a/third_party/build/portaudio/Makefile
+++ b/third_party/build/portaudio/Makefile
@@ -65,5 +65,4 @@ realclean:
depend:
$(MAKE) -f $(RULES_MAK) APP=PORTAUDIO app=libportaudio $@
- echo '$(PORTAUDIO_LIB): .libportaudio-$(TARGET_NAME).depend' >> .libportaudio-$(TARGET_NAME).depend; \
diff --git a/third_party/build/resample/Makefile b/third_party/build/resample/Makefile
index 6d444053..32f46ef2 100644
--- a/third_party/build/resample/Makefile
+++ b/third_party/build/resample/Makefile
@@ -54,6 +54,5 @@ realclean:
depend:
$(MAKE) -f $(RULES_MAK) APP=RESAMPLE app=libresample $@
- echo '$(RESAMPLE_LIB): .libresample-$(TARGET_NAME).depend' >> .libresample-$(TARGET_NAME).depend; \
diff --git a/third_party/build/speex/Makefile b/third_party/build/speex/Makefile
index 860f1ebf..d31166ea 100644
--- a/third_party/build/speex/Makefile
+++ b/third_party/build/speex/Makefile
@@ -69,6 +69,5 @@ realclean:
depend:
$(MAKE) -f $(RULES_MAK) APP=SPEEX app=libspeex $@
- echo '$(SPEEX_LIB): .libspeex-$(TARGET_NAME).depend' >> .libspeex-$(TARGET_NAME).depend; \
diff --git a/third_party/build/srtp/Makefile b/third_party/build/srtp/Makefile
index 7be343de..17cb4217 100644
--- a/third_party/build/srtp/Makefile
+++ b/third_party/build/srtp/Makefile
@@ -82,7 +82,6 @@ realclean:
depend:
$(MAKE) -f $(RULES_MAK) APP=SRTP app=libsrtp $@
- echo '$(SRTP_LIB): .libsrtp-$(TARGET_NAME).depend' >> .libsrtp-$(TARGET_NAME).depend; \