From: Jason Parker Date: Thu, 31 Jan 2013 19:03:03 +0000 (+0000) Subject: Add support for parallel builds of pjproject. X-Git-Tag: 11.4.0-rc1~88 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d865240168d64e110b7996fc28ad331e58310ad3;p=thirdparty%2Fasterisk.git 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) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@380673 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/pjproject/pjlib-util/build/Makefile b/res/pjproject/pjlib-util/build/Makefile index fba93bb327..6c37979b78 100644 --- a/res/pjproject/pjlib-util/build/Makefile +++ b/res/pjproject/pjlib-util/build/Makefile @@ -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 diff --git a/res/pjproject/pjlib/build/Makefile b/res/pjproject/pjlib/build/Makefile index 9183644516..272206d7e4 100644 --- a/res/pjproject/pjlib/build/Makefile +++ b/res/pjproject/pjlib/build/Makefile @@ -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 diff --git a/res/pjproject/pjmedia/build/Makefile b/res/pjproject/pjmedia/build/Makefile index 2ef3988b39..267403de88 100644 --- a/res/pjproject/pjmedia/build/Makefile +++ b/res/pjproject/pjmedia/build/Makefile @@ -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 diff --git a/res/pjproject/pjnath/build/Makefile b/res/pjproject/pjnath/build/Makefile index 573d95790c..40736e6dab 100644 --- a/res/pjproject/pjnath/build/Makefile +++ b/res/pjproject/pjnath/build/Makefile @@ -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 diff --git a/res/pjproject/pjsip-apps/build/Makefile b/res/pjproject/pjsip-apps/build/Makefile index 146e841e85..b5f4c8a63b 100644 --- a/res/pjproject/pjsip-apps/build/Makefile +++ b/res/pjproject/pjsip-apps/build/Makefile @@ -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: diff --git a/res/pjproject/pjsip/build/Makefile b/res/pjproject/pjsip/build/Makefile index 2605be059e..41e91a1208 100644 --- a/res/pjproject/pjsip/build/Makefile +++ b/res/pjproject/pjsip/build/Makefile @@ -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