Ticket #694: work on 'make install':
 - adhere to --prefix
 - header and lib files installation
 - pkgconfig creation
 - also added version.mak to fill in with the correct version


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3063 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/Makefile b/Makefile
index f8ed4b0..f163403 100644
--- a/Makefile
+++ b/Makefile
@@ -35,7 +35,7 @@
 	pjmedia/lib/libpjmedia-$(TARGET_NAME).a \
 	pjmedia/lib/libpjmedia-audiodev-$(TARGET_NAME).a \
 	pjmedia/lib/libpjmedia-codec-$(TARGET_NAME).a \
-       	pjsip/lib/libpjsip-$(TARGET_NAME).a \
+    	pjsip/lib/libpjsip-$(TARGET_NAME).a \
 	pjsip/lib/libpjsip-ua-$(TARGET_NAME).a \
 	pjsip/lib/libpjsip-simple-$(TARGET_NAME).a \
 	pjsip/lib/libpjsua-$(TARGET_NAME).a
@@ -90,14 +90,18 @@
 pjsua-test:
 	cd tests/pjsua && python runall.py
 
-prefix = /usr/local
+prefix = $(ac_prefix)
+include version.mak
+
 install:
 	mkdir -p $(DESTDIR)$(prefix)/lib
-	cp -L $$(find . -name '*.a') $(DESTDIR)$(prefix)/lib
+	cp -f $(APP_LIB_FILES) $(DESTDIR)$(prefix)/lib/
 	mkdir -p $(DESTDIR)$(prefix)/include
-	cp -RL $$(find  . -name include) $(DESTDIR)$(prefix)
-	cd $(DESTDIR)$(prefix)/lib && for i in $$(find . -name 'libpj*a'); do\
-		ln -s $$i $$(echo $$i | sed -e "s/-$(TARGET_NAME)//");\
+	for d in pjlib pjlib-util pjnath pjmedia pjsip; do \
+		cp -RLf $$d/include/* $(DESTDIR)$(prefix)/include/; \
 	done
 	mkdir -p $(DESTDIR)$(prefix)/lib/pkgconfig
-	sed -e "s!@PREFIX@!$(DESTDIR)$(prefix)!" libpj.pc.in > $(DESTDIR)/$(prefix)/lib/pkgconfig/libpj.pc
+	sed -e "s!@PREFIX@!$(DESTDIR)$(prefix)!" libpjproject.pc.in | \
+		sed -e "s/@PJ_VERSION@/$(PJ_VERSION)/" | \
+		sed -e "s!@PJ_LDLIBS@!$(PJ_LDLIBS)!" | \
+		sed -e "s!@PJ_INSTALL_CFLAGS@!$(PJ_INSTALL_CFLAGS)!" > $(DESTDIR)/$(prefix)/lib/pkgconfig/libpjproject.pc
diff --git a/build.mak.in b/build.mak.in
index c0c6080..bcba201 100644
--- a/build.mak.in
+++ b/build.mak.in
@@ -7,17 +7,19 @@
 export CROSS_COMPILE := @ac_cross_compile@
 export LINUX_POLL := @ac_linux_poll@ 
 
+export ac_prefix := @prefix@
+
 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_EXT :=
 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)
 ifeq (@ac_external_gsm@,1)
 # External GSM library
-APP_THIRD_PARTY_LIBS += -lgsm
-APP_THIRD_PARTY_LIB_FILES +=
+APP_THIRD_PARTY_EXT += -lgsm
 else
 APP_THIRD_PARTY_LIBS += -lgsmcodec-$(TARGET_NAME)
 APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec-$(LIB_SUFFIX)
@@ -26,8 +28,7 @@
 
 ifneq (@ac_no_speex_codec@,1)
 ifeq (@ac_external_speex@,1)
-APP_THIRD_PARTY_LIBS += -lspeex -lspeexdsp
-APP_THIRD_PARTY_LIB_FILES +=
+APP_THIRD_PARTY_EXT += -lspeex -lspeexdsp
 else
 APP_THIRD_PARTY_LIBS += -lspeex-$(TARGET_NAME)
 APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex-$(LIB_SUFFIX)
@@ -46,8 +47,8 @@
 
 ifneq ($(findstring pa,@ac_pjmedia_snd@),)
 ifeq (@ac_external_pa@,1)
-APP_THIRD_PARTY_LIBS += -lportaudio
-APP_THIRD_PARTY_LIB_FILES += 
+# External PA
+APP_THIRD_PARTY_EXT += -lportaudio
 else
 APP_THIRD_PARTY_LIBS += -lportaudio-$(TARGET_NAME)
 APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libportaudio-$(LIB_SUFFIX)
@@ -85,6 +86,7 @@
 	-lpjnath-$(TARGET_NAME)\
 	-lpjlib-util-$(TARGET_NAME)\
 	$(APP_THIRD_PARTY_LIBS)\
+	$(APP_THIRD_PARTY_EXT)\
 	-lpj-$(TARGET_NAME)\
 	@LIBS@
 export APP_LIB_FILES = $(PJ_DIR)/pjsip/lib/libpjsua-$(LIB_SUFFIX) \
@@ -99,6 +101,8 @@
 	$(APP_THIRD_PARTY_LIB_FILES) \
 	$(PJ_DIR)/pjlib/lib/libpj-$(LIB_SUFFIX)
 
+# Here are the variabels to use if application is using the library
+# from within the source distribution
 export PJ_DIR := $(PJDIR)
 export PJ_CC := $(APP_CC)
 export PJ_CFLAGS := $(APP_CFLAGS)
@@ -107,3 +111,11 @@
 export PJ_LDLIBS := $(APP_LDLIBS)
 export PJ_LIB_FILES := $(APP_LIB_FILES)
 
+# And here are the variables to use if application is using the
+# library from the install location (i.e. --prefix)
+export PJ_INSTALL_DIR := @prefix@
+export PJ_INSTALL_INC_DIR := $(PJ_INSTALL_DIR)/include
+export PJ_INSTALL_LIB_DIR := $(PJ_INSTALL_DIR)/lib
+export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1	@CFLAGS@
+export PJ_INSTALL_CXXFLAGS := $(PJ_INSTALL_CFLAGS)
+export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(APP_LDLIBS)
diff --git a/configure-legacy b/configure-legacy
index a84cc5e..fd0dd94 100755
--- a/configure-legacy
+++ b/configure-legacy
@@ -124,7 +124,7 @@
 
 export APP_LDFLAGS = -L\$(PJDIR)/pjlib/lib -L\$(PJDIR)/pjlib-util/lib -L\$(PJDIR)/pjnath/lib -L\$(PJDIR)/pjmedia/lib -L\$(PJDIR)/pjsip/lib -L\$(PJDIR)/third_party/lib 
 
-export APP_LDLIBS = -lpjsua-\$(TARGET_NAME) -lpjsip-ua-\$(TARGET_NAME) -lpjsip-simple-\$(TARGET_NAME) -lpjsip-\$(TARGET_NAME) -lpjmedia-codec-\$(TARGET_NAME) -lpjmedia-\$(TARGET_NAME) -lpjnath-\$(TARGET_NAME) -lpjlib-util-\$(TARGET_NAME) \$(APP_THIRD_PARTY_LIBS) -lpj-\$(TARGET_NAME) \$(CC_LDFLAGS) \$(OS_LDFLAGS) \$(M_LDFLAGS) \$(HOST_LDFLAGS) \$(LDFLAGS)
+export APP_LDLIBS = -lpjsua-\$(TARGET_NAME) -lpjsip-ua-\$(TARGET_NAME) -lpjsip-simple-\$(TARGET_NAME) -lpjsip-\$(TARGET_NAME) -lpjmedia-codec-\$(TARGET_NAME) -lpjmedia-\$(TARGET_NAME) -lpjnath-\$(TARGET_NAME) -lpjlib-util-\$(TARGET_NAME) \$(APP_THIRD_PARTY_LIBS) \$(APP_THIRD_PARTY_EXT) -lpj-\$(TARGET_NAME) \$(CC_LDFLAGS) \$(OS_LDFLAGS) \$(M_LDFLAGS) \$(HOST_LDFLAGS) \$(LDFLAGS)
 
 export PJ_DIR = \$(PJDIR)
 export PJ_CC = \$(APP_CC)
diff --git a/libpj.pc.in b/libpj.pc.in
deleted file mode 100644
index 848e31f..0000000
--- a/libpj.pc.in
+++ /dev/null
@@ -1,12 +0,0 @@
-# Package Information for pkg-config
-
-prefix=@PREFIX@
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-Name: libpj
-Description: Multimedia communication library
-Version: 0.5.10.3
-Libs: -L${libdir} -lpjsua -lpjsip -lpjmedia -lpjsip-ua -lpjsip-simple -lpjsip-ua -lpjmedia-codec -lpjlib-util -lpj
-Cflags: -I${includedir}
diff --git a/libpjproject.pc.in b/libpjproject.pc.in
new file mode 100644
index 0000000..7cd4313
--- /dev/null
+++ b/libpjproject.pc.in
@@ -0,0 +1,13 @@
+# Package Information for pkg-config
+
+prefix=@PREFIX@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: libpjproject
+Description: Multimedia communication library
+URL: http://www.pjsip.org
+Version: @PJ_VERSION@
+Libs: -L${libdir} @PJ_LDLIBS@
+Cflags: -I${includedir} @PJ_INSTALL_CFLAGS@
diff --git a/pjmedia/build/Makefile b/pjmedia/build/Makefile
index 49cd942..c542396 100644
--- a/pjmedia/build/Makefile
+++ b/pjmedia/build/Makefile
@@ -40,6 +40,7 @@
 		   $(subst /,$(HOST_PSEP),$(PJNATH_LIB)) \
 		   -L$(PJDIR)/third_party/lib \
 		   $(APP_THIRD_PARTY_LIBS) \
+		   $(APP_THIRD_PARTY_EXT) \
 		   $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \
 		   $(LDFLAGS) 
 
diff --git a/pjsip/include/pjsua.h b/pjsip/include/pjsua.h
new file mode 100644
index 0000000..9614367
--- /dev/null
+++ b/pjsip/include/pjsua.h
@@ -0,0 +1 @@
+#include <pjsua-lib/pjsua.h>
diff --git a/version.mak b/version.mak
new file mode 100644
index 0000000..b1e0198
--- /dev/null
+++ b/version.mak
@@ -0,0 +1 @@
+export PJ_VERSION := 1.5.5-trunk