* #36737: switch back to svn repo, remove assert in sip_transaction.c
diff --git a/jni/pjproject-android/build/rules.mak b/jni/pjproject-android/build/rules.mak
index 0d35c56..a939db4 100644
--- a/jni/pjproject-android/build/rules.mak
+++ b/jni/pjproject-android/build/rules.mak
@@ -6,17 +6,22 @@
 endif
 
 #
-# The full path of output lib file (e.g. ../lib/libapp.a).
+# The name(s) of output lib file(s) (e.g. libapp.a).
 #
-LIB = $($(APP)_LIB)
-
-#
-# The full path of output lib file (e.g. ../lib/libapp.a).
-#
+LIB := $($(APP)_LIB)
 SHLIB = $($(APP)_SHLIB)
+SONAME = $($(APP)_SONAME)
+
+ifeq ($(SHLIB_SUFFIX),so)
+SHLIB_OPT := -shared -Wl,-soname,$(SHLIB)
+else ifeq ($(SHLIB_SUFFIX),dylib)
+SHLIB_OPT := -dynamiclib -undefined dynamic_lookup -flat_namespace
+else
+SHLIB_OPT := 
+endif
 
 #
-# The full path of output executable file (e.g. ../bin/app.exe).
+# The name of output executable file (e.g. app.exe).
 #
 EXE = $($(APP)_EXE)
 
@@ -72,30 +77,50 @@
 	@echo DEPFLAGS=$(DEPFLAGS)
 	@echo CC=$(CC)
 	@echo AR=$(AR)
+	@echo AR_FLAGS=$(AR_FLAGS)
 	@echo RANLIB=$(RANLIB)
 
 print_bin: print_common
-	@echo EXE=$(EXE)
+	@echo EXE=$(subst /,$(HOST_PSEP),$(BINDIR)/$(EXE))
 	@echo BINDIR=$(BINDIR)
-
+ 
 print_lib: print_common
-	@echo LIB=$(LIB)
+ifneq ($(LIB),)
+	@echo LIB=$(subst /,$(HOST_PSEP),$(LIBDIR)/$(LIB))
+endif
+ifneq ($(SHLIB),)
+	@echo SHLIB=$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SHLIB))
+endif
+ifneq ($(SONAME),)
+	@echo SONAME=$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SONAME))
+endif
 	@echo LIBDIR=$(LIBDIR)
 
-$(LIB): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
+ifneq ($(LIB),)
+$(subst /,$(HOST_PSEP),$(LIBDIR)/$(LIB)): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
 	if test ! -d $(LIBDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR)); fi
-	$(AR) $(LIB) $(OBJS)
-	$(RANLIB) $(LIB)
+	$(AR) $(AR_FLAGS) $@ $(OBJS)
+	$(RANLIB) $@
+endif
 
-$(SHLIB): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
+ifneq ($(SHLIB),)
+$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SHLIB)): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
 	if test ! -d $(LIBDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR)); fi
-	$(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$(SHLIB)) \
-	    $(subst /,$(HOST_PSEP),$(OBJS)) $($(APP)_LDFLAGS)
+	$(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$@) \
+	    $(subst /,$(HOST_PSEP),$(OBJS)) $($(APP)_LDFLAGS) $(SHLIB_OPT)
+endif
+ 
+ifneq ($(SONAME),)
+$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SONAME)): $(subst /,$(HOST_PSEP),$(LIBDIR)/$(SHLIB))
+	ln -sf $(SHLIB) $@
+endif
 
-$(EXE): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
+ifneq ($(EXE),)
+$(subst /,$(HOST_PSEP),$(BINDIR)/$(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)) \
+	$(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$(BINDIR)/$(EXE)) \
 	    $(subst /,$(HOST_PSEP),$(OBJS)) $($(APP)_LDFLAGS)
+endif
 
 $(OBJDIR)/$(app).o: $(OBJDIRS) $(OBJS)
 	$(CROSS_COMPILE)ld -r -o $@ $(OBJS)
@@ -141,18 +166,18 @@
 		$(subst /,$(HOST_PSEP),$<) 
 
 $(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.cpp
-	$(CC) $($(APP)_CXXFLAGS) \
+	$(CXX) $($(APP)_CXXFLAGS) \
 		$(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
 		$(subst /,$(HOST_PSEP),$<)
 
 $(OBJDIRS):
-	$(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR)) 
+	$(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR))
 
 $(LIBDIR):
-	$(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR))
+	$(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR))
 
 $(BINDIR):
-	$(subst @@,$(subst /,$(HOST_PSEP),$(BINDIR)),$(HOST_MKDIR))
+	$(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR))
 
 clean:
 	$(subst @@,$(subst /,$(HOST_PSEP),$(OBJDIR)/*),$(HOST_RMR))
@@ -167,7 +192,18 @@
 	done
 
 realclean: clean
-	$(subst @@,$(subst /,$(HOST_PSEP),$(LIB)) $(subst /,$(HOST_PSEP),$(EXE)),$(HOST_RM))
+ifneq ($(LIB),)
+	$(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)/$(LIB)),$(HOST_RM))
+endif
+ifneq ($(SHLIB),)
+	$(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SHLIB)),$(HOST_RM))
+endif
+ifneq ($(SONAME),)
+	$(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SONAME)),$(HOST_RM))
+endif
+ifneq ($(EXE),)
+	$(subst @@,$(subst /,$(HOST_PSEP),$(BINDIR)/$(EXE)),$(HOST_RM))
+endif
 	$(subst @@,$(DEP_FILE),$(HOST_RM))
 ifeq ($(OS_NAME),linux-kernel)
 	rm -f ../lib/$(app).ko