summaryrefslogtreecommitdiff
path: root/third-party/pjproject/Makefile
diff options
context:
space:
mode:
authorGeorge Joseph <gjoseph@digium.com>2016-10-03 10:30:43 -0600
committerGeorge Joseph <gjoseph@digium.com>2016-10-09 17:36:34 -0600
commite6b0053d7561032b7adbf6f3afaecf30f5046605 (patch)
treeafb3e87885e5f5a51b9c37f49a37bda94c65fbfd /third-party/pjproject/Makefile
parent0dc0356e39e19b480db4549b892f775d105ae8e0 (diff)
bundled_pjproject: Add tests for programs used by the Makefile, et al.
Added tests for bzip2, tar, patch, sed and nm to configure.ac. Set DOWNLOAD_TO_STDOUT to a working command line regardless of whether the download program is wget, curl or fetch. Added a 'configure.m4' file to the third-party directory which takes care of calling any third-party project setup. Had to move some pjproject_bundled stuff up in configure.ac so it was called before the third-party configure macro. The pjproject tarball is now downloaded to the externals_cache_dir if it was specified on the ./configure command line Removed regeneration of the pjproject aconfigure file. It was only needed for an old patch that no longer applies. Converted the tests for symbols to explicit tests since we know that they're now available in the bundled version. Saves a little time during configure. ASTERISK-26416 #close Reported-by: Corey Farrell Change-Id: Id1d94251c0155f8dd41b7de7067f35cfbaafbb9b
Diffstat (limited to 'third-party/pjproject/Makefile')
-rw-r--r--third-party/pjproject/Makefile47
1 files changed, 22 insertions, 25 deletions
diff --git a/third-party/pjproject/Makefile b/third-party/pjproject/Makefile
index bb98a09e3..3fd3be735 100644
--- a/third-party/pjproject/Makefile
+++ b/third-party/pjproject/Makefile
@@ -7,8 +7,6 @@ SPECIAL_TARGETS :=
ifneq ($(findstring configure,$(MAKECMDGOALS))$(findstring echo_cflags,$(MAKECMDGOALS)),)
# Run from $(ASTTOPDIR)/configure
SPECIAL_TARGETS += configure
- include ../Makefile.rules
- include Makefile.rules
endif
ifeq ($(findstring echo_cflags,$(MAKECMDGOALS)),echo_cflags)
@@ -19,8 +17,10 @@ endif
ifeq ($(findstring clean,$(MAKECMDGOALS)),clean)
# clean or distclean
SPECIAL_TARGETS += clean
- include ../Makefile.rules
- include Makefile.rules
+endif
+
+ifneq ($(wildcard ../../makeopts),)
+ include ../../makeopts
endif
ifeq ($(SPECIAL_TARGETS),)
@@ -28,17 +28,17 @@ ifeq ($(SPECIAL_TARGETS),)
ifeq ($(wildcard ../../makeopts),)
$(error ASTTOPDIR/configure hasn't been run)
endif
- include ../../makeopts
ifeq ($(PJPROJECT_BUNDLED),yes)
- -include ../../menuselect.makeopts
- include ../Makefile.rules
+ ifneq ($(wildcard ../../menuselect.makeopts),)
+ include ../../menuselect.makeopts
+ else
+ $(warning ASTTOPDIR/menuselect hasn't been run yet. Can't find debug options.)
+ endif
all: _all
install: _install
- include ../../Makefile.rules
- include Makefile.rules
include source/user.mak
include source/build.mak
CF := $(filter-out -W%,$(CC_CFLAGS))
@@ -66,25 +66,25 @@ ifeq ($(SPECIAL_TARGETS),)
endif
endif
+include ../../Makefile.rules
+include ../Makefile.rules
+include Makefile.rules
+
ECHO_PREFIX := $(ECHO_PREFIX) echo '[pjproject] '
-ifndef $(TMPDIR)
- ifneq ($(wildcard /tmp),)
- TMPDIR=/tmp
- else
- TMPDIR=.
- endif
-endif
+_all: $(TARGETS)
+
+TMPDIR ?= $(or $(EXTERNALS_CACHE_DIR),$(wildcard /tmp),.)
$(TMPDIR)/pjproject-$(PJPROJECT_VERSION).tar.bz2 : ../versions.mak
- $(ECHO_PREFIX) Downloading $@ with $(DOWNLOAD)
- $(CMD_PREFIX) $(DOWNLOAD) $(PJPROJECT_URL)/$(@F) > $@
+ $(ECHO_PREFIX) Downloading $(PJPROJECT_URL)/$(@F) to $@
+ $(CMD_PREFIX) $(DOWNLOAD_TO_STDOUT) $(PJPROJECT_URL)/$(@F) > $@
source/.unpacked: $(TMPDIR)/pjproject-$(PJPROJECT_VERSION).tar.bz2
$(ECHO_PREFIX) Unpacking $<
-@rm -rf source >/dev/null 2>&1
-@mkdir source >/dev/null 2>&1
- $(CMD_PREFIX) tar --strip-components=1 -C source -xjf $<
+ $(CMD_PREFIX) $(TAR) --strip-components=1 -C source -xjf $<
$(ECHO_PREFIX) Applying patches
$(CMD_PREFIX) ./apply_patches $(QUIET_CONFIGURE) ./patches ./source
-@touch source/.unpacked
@@ -99,8 +99,8 @@ source/pjlib/include/pj/%.h : ./patches/%.h
build.mak: source/.unpacked $(addprefix source/pjlib/include/pj/,$(notdir $(wildcard ./patches/*.h))) source/user.mak Makefile.rules
$(ECHO_PREFIX) Configuring with $(PJPROJECT_CONFIG_OPTS)
- $(CMD_PREFIX) (cd source ; autoconf aconfigure.ac > aconfigure && ./aconfigure $(QUIET_CONFIGURE) $(PJPROJECT_CONFIG_OPTS))
- @sed -r -e "/prefix|export PJ_SHARED_LIBRARIES|MACHINE_NAME|OS_NAME|HOST_NAME|CC_NAME|CROSS_COMPILE|LINUX_POLL/d" source/build.mak > build.mak
+ $(CMD_PREFIX) (cd source ; ./aconfigure $(QUIET_CONFIGURE) $(PJPROJECT_CONFIG_OPTS))
+ $(SED) -r -e "/prefix|export PJ_SHARED_LIBRARIES|MACHINE_NAME|OS_NAME|HOST_NAME|CC_NAME|CROSS_COMPILE|LINUX_POLL/d" source/build.mak > build.mak
configure: build.mak
@@ -128,7 +128,7 @@ $(LIB_FILES): $(PJLIB_UTIL_LIB_FILES)
pjproject.symbols: $(ALL_LIB_FILES)
$(ECHO_PREFIX) Generating symbols
- $(CMD_PREFIX) nm -Pog $(ALL_LIB_FILES) | sed -n -r -e "s/.+: ([pP][jJ][^ ]+) .+/\1/gp" | sort -u > pjproject.symbols
+ $(CMD_PREFIX) $(NM) -Pog $(PJ_LIB_FILES) | $(SED) -n -r -e "s/.+: ([pP][jJ][^ ]+) .+/\1/gp" | sort -u > pjproject.symbols
source/pjsip-apps/src/asterisk_malloc_debug.c: patches/asterisk_malloc_debug.c
$(ECHO_PREFIX) Copying $< to $@
@@ -155,8 +155,6 @@ source/pjsip-apps/src/python/_pjsua.so: source/pjsip-apps/src/python/_pjsua.o
$(ECHO_PREFIX) Linking python bindings $(@F)
$(CMD_PREFIX) gcc -shared -pthread -o $@ $< $(LDFLAGS) $(PJ_LDFLAGS) $(APP_LDLIBS) $(PYTHONDEV_LIB) $(REALLY_QUIET)
-_all: $(TARGETS)
-
_install: _all
@if [ ! -d "$(DESTDIR)$(ASTDATADIR)/third-party/pjproject" ]; then \
$(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/third-party/pjproject"; \
@@ -188,4 +186,3 @@ clean:
distclean:
$(ECHO_PREFIX) Distcleaning
-$(CMD_PREFIX) rm -rf source pjproject.symbols pjproject-*.tar.bz2 build.mak .rebuild_needed
-