1# For common OSes, test's main() is defined in main.c. 2# OS specific configuration may want to put it in different file. 3# For example, see os-rtems.mak in current directory. 4export TEST_OBJS = main.o 5 6include ../../build.mak 7include ../../version.mak 8include $(PJDIR)/build/common.mak 9 10export LIBDIR := ../lib 11export BINDIR := ../bin 12 13RULES_MAK := $(PJDIR)/build/rules.mak 14 15PJLIB_LIB:=../../pjlib/lib/libpj-$(TARGET_NAME)$(LIBEXT) 16PJLIB_UTIL_LIB:=../../pjlib-util/lib/libpjlib-util-$(TARGET_NAME)$(LIBEXT) 17PJNATH_LIB:=../../pjnath/lib/libpjnath-$(TARGET_NAME)$(LIBEXT) 18PJMEDIA_LIB:=../../pjmedia/lib/libpjmedia-$(TARGET_NAME)$(LIBEXT) 19 20export PJSIP_LIB:=libpjsip-$(TARGET_NAME)$(LIBEXT) 21export PJSIP_UA_LIB:=libpjsip-ua-$(TARGET_NAME)$(LIBEXT) 22export PJSIP_SIMPLE_LIB:=libpjsip-simple-$(TARGET_NAME)$(LIBEXT) 23export PJSUA_LIB_LIB:=libpjsua-$(TARGET_NAME)$(LIBEXT) 24export PJSUA2_LIB_LIB=libpjsua2-$(TARGET_NAME)$(LIBEXT) 25 26ifeq ($(PJ_SHARED_LIBRARIES),) 27else 28export PJSIP_SONAME := libpjsip.$(SHLIB_SUFFIX) 29export PJSIP_SHLIB := $(PJSIP_SONAME).$(PJ_VERSION_MAJOR) 30export PJSIP_UA_SONAME := libpjsip-ua.$(SHLIB_SUFFIX) 31export PJSIP_UA_SHLIB := $(PJSIP_UA_SONAME).$(PJ_VERSION_MAJOR) 32export PJSIP_SIMPLE_SONAME := libpjsip-simple.$(SHLIB_SUFFIX) 33export PJSIP_SIMPLE_SHLIB := $(PJSIP_SIMPLE_SONAME).$(PJ_VERSION_MAJOR) 34export PJSUA_LIB_SONAME := libpjsua.$(SHLIB_SUFFIX) 35export PJSUA_LIB_SHLIB := $(PJSUA_LIB_SONAME).$(PJ_VERSION_MAJOR) 36export PJSUA2_LIB_SONAME := libpjsua2.$(SHLIB_SUFFIX) 37export PJSUA2_LIB_SHLIB := $(PJSUA2_LIB_SONAME).$(PJ_VERSION_MAJOR) 38endif 39 40############################################################################### 41# Gather all flags. 42# 43export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ 44 $(CFLAGS) $(CC_INC)../include \ 45 $(CC_INC)../../pjlib/include \ 46 $(CC_INC)../../pjlib-util/include \ 47 $(CC_INC)../../pjnath/include \ 48 $(CC_INC)../../pjmedia/include 49export _CXXFLAGS:= $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ 50 $(HOST_CXXFLAGS) $(CXXFLAGS) $(_CFLAGS) 51export _LDFLAGS := $(APP_THIRD_PARTY_LIBS) \ 52 $(APP_THIRD_PARTY_EXT) \ 53 $(CC_LDFLAGS) $(APP_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ 54 $(LDFLAGS) 55 56############################################################################### 57# Defines for building PJSIP core library 58# 59export PJSIP_SRCDIR = ../src/pjsip 60export PJSIP_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ 61 sip_config.o sip_multipart.o \ 62 sip_errno.o sip_msg.o sip_parser.o sip_tel_uri.o sip_uri.o \ 63 sip_endpoint.o sip_util.o sip_util_proxy.o \ 64 sip_resolve.o sip_transport.o sip_transport_loop.o \ 65 sip_transport_udp.o sip_transport_tcp.o \ 66 sip_transport_tls.o sip_auth_aka.o sip_auth_client.o \ 67 sip_auth_msg.o sip_auth_parser.o \ 68 sip_auth_server.o \ 69 sip_transaction.o sip_util_statefull.o \ 70 sip_dialog.o sip_ua_layer.o 71export PJSIP_CFLAGS += $(_CFLAGS) 72export PJSIP_CXXFLAGS += $(_CXXFLAGS) 73export PJSIP_LDFLAGS += $(PJLIB_UTIL_LDLIB) \ 74 $(PJLIB_LDLIB) \ 75 $(_LDFLAGS) 76 77############################################################################### 78# Defines for building PJSIP UA library 79# 80export PJSIP_UA_SRCDIR = ../src/pjsip-ua 81export PJSIP_UA_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ 82 sip_inv.o sip_reg.o sip_replaces.o sip_xfer.o \ 83 sip_100rel.o sip_timer.o 84export PJSIP_UA_CFLAGS += $(_CFLAGS) 85export PJSIP_UA_CXXFLAGS += $(_CXXFLAGS) 86export PJSIP_UA_LDFLAGS += $(PJSIP_SIMPLE_LDLIB) \ 87 $(PJSIP_LDLIB) \ 88 $(PJMEDIA_LDLIB) \ 89 $(PJLIB_UTIL_LDLIB) \ 90 $(PJLIB_LDLIB) \ 91 $(_LDFLAGS) 92 93 94############################################################################### 95# Defines for building PJSIP SIMPLE library 96# 97export PJSIP_SIMPLE_SRCDIR = ../src/pjsip-simple 98export PJSIP_SIMPLE_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ 99 errno.o evsub.o evsub_msg.o iscomposing.o \ 100 mwi.o pidf.o presence.o presence_body.o publishc.o \ 101 rpid.o xpidf.o 102export PJSIP_SIMPLE_CFLAGS += $(_CFLAGS) 103export PJSIP_SIMPLE_CXXFLAGS += $(_CXXFLAGS) 104export PJSIP_SIMPLE_LDFLAGS += $(PJSIP_LDLIB) \ 105 $(PJLIB_UTIL_LDLIB) \ 106 $(PJLIB_LDLIB) \ 107 $(_LDFLAGS) 108 109 110############################################################################### 111# Defines for building PJSUA-LIB library 112# 113export PJSUA_LIB_SRCDIR = ../src/pjsua-lib 114export PJSUA_LIB_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ 115 pjsua_acc.o pjsua_call.o pjsua_core.o \ 116 pjsua_im.o pjsua_media.o pjsua_pres.o \ 117 pjsua_dump.o pjsua_aud.o pjsua_vid.o 118export PJSUA_LIB_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS) 119export PJSUA_LIB_CXXFLAGS += $(_CXXFLAGS) $(PJ_VIDEO_CFLAGS) 120export PJSUA_LIB_LDFLAGS += $(PJSIP_UA_LDLIB) \ 121 $(PJSIP_SIMPLE_LDLIB) \ 122 $(PJSIP_LDLIB) \ 123 $(PJMEDIA_AUDIODEV_LDLIB) \ 124 $(PJMEDIA_VIDEODEV_LDLIB) \ 125 $(PJMEDIA_CODEC_LDLIB) \ 126 $(PJMEDIA_LDLIB) \ 127 $(PJNATH_LDLIB) \ 128 $(PJLIB_UTIL_LDLIB) \ 129 $(PJLIB_LDLIB) \ 130 $(_LDFLAGS) 131 132 133export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT 134 135############################################################################### 136# Defines for building pjsua2 library 137# 138export PJSUA2_LIB_SRCDIR = ../src/pjsua2 139export PJSUA2_LIB_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ 140 account.o endpoint.o json.o persistent.o types.o \ 141 siptypes.o call.o presence.o media.o 142export PJSUA2_LIB_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS) 143export PJSUA2_LIB_CXXFLAGS = $(_CXXFLAGS) $(PJSUA2_LIB_CFLAGS) 144export PJSUA2_LIB_LDFLAGS += $(PJSUA_LIB_LDLIB) \ 145 $(PJSIP_UA_LDLIB) \ 146 $(PJSIP_SIMPLE_LDLIB) \ 147 $(PJSIP_LDLIB) \ 148 $(PJMEDIA_AUDIODEV_LDLIB) \ 149 $(PJMEDIA_VIDEODEV_LDLIB) \ 150 $(PJMEDIA_CODEC_LDLIB) \ 151 $(PJMEDIA_LDLIB) \ 152 $(PJNATH_LDLIB) \ 153 $(PJLIB_UTIL_LDLIB) \ 154 $(PJLIB_LDLIB) \ 155 $(_LDFLAGS) \ 156 -lstdc++ 157 158 159############################################################################### 160# Defines for building pjsua2-test application 161# 162export PJSUA2_TEST_SRCDIR = ../src/pjsua2-test 163export PJSUA2_TEST_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ 164 main.o 165export PJSUA2_TEST_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS) 166export PJSUA2_TEST_CXXFLAGS = $(_CXXFLAGS) $(PJSUA2_LIB_CFLAGS) $(PJ_VIDEO_CFLAGS) 167export PJSUA2_TEST_LDFLAGS += $(PJ_LDXXFLAGS) $(PJ_LDXXLIBS) $(LDFLAGS) 168ifeq ($(EXCLUDE_APP),0) 169export PJSUA2_TEST_EXE := pjsua2-test-$(TARGET_NAME)$(HOST_EXE) 170endif 171export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT 172 173 174############################################################################### 175# Defines for building test application 176# 177export TEST_SRCDIR = ../src/test 178export TEST_OBJS += dlg_core_test.o dns_test.o msg_err_test.o \ 179 msg_logger.o msg_test.o multipart_test.o regc_test.o \ 180 test.o transport_loop_test.o transport_tcp_test.o \ 181 transport_test.o transport_udp_test.o \ 182 tsx_basic_test.o tsx_bench.o tsx_uac_test.o \ 183 tsx_uas_test.o txdata_test.o uri_test.o \ 184 inv_offer_answer_test.o 185export TEST_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS) 186export TEST_CXXFLAGS += $(_CXXFLAGS) 187export TEST_LDFLAGS += $(PJSIP_LDLIB) \ 188 $(PJSIP_UA_LDLIB) \ 189 $(PJSIP_SIMPLE_LDLIB) \ 190 $(PJSUA_LDLIB) \ 191 $(PJMEDIA_CODEC_LDLIB) \ 192 $(PJMEDIA_VIDEODEV_LDLIB) \ 193 $(PJMEDIA_LDLIB) \ 194 $(PJMEDIA_AUDIODEV_LDLIB) \ 195 $(PJLIB_UTIL_LDLIB) \ 196 $(PJNATH_LDLIB) \ 197 $(PJLIB_LDLIB) \ 198 $(_LDFLAGS) 199ifeq ($(EXCLUDE_APP),0) 200export TEST_EXE := pjsip-test-$(TARGET_NAME)$(HOST_EXE) 201endif 202 203export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT 204############################################################################### 205# Main entry 206# 207# 208TARGETS := $(PJSIP_LIB) $(PJSIP_SONAME) \ 209 $(PJSIP_SIMPLE_LIB) $(PJSIP_SIMPLE_SONAME) \ 210 $(PJSIP_UA_LIB) $(PJSIP_UA_SONAME) \ 211 $(PJSUA_LIB_LIB) $(PJSUA_LIB_SONAME) 212TARGETS_EXE := $(TEST_EXE) 213 214ifeq ($(PJ_EXCLUDE_PJSUA2),) 215TARGETS += $(PJSUA2_LIB_LIB) $(PJSUA2_LIB_SONAME) 216TARGETS_EXE += $(PJSUA2_TEST_EXE) 217endif 218 219all: $(TARGETS) $(TARGETS_EXE) 220 221lib: $(TARGETS) 222 223doc: 224 cd .. && rm -rf docs/$(PJ_VERSION) && doxygen docs/doxygen.cfg 225 @if [ -n "$(WWWDIR)" ] && ! [ -d "$(WWWDIR)/docs/$(PJ_VERSION)/pjsip/docs/html" ] ; then \ 226 echo "Creating docs/$(PJ_VERSION)/pjsip/docs/html" ; \ 227 mkdir -p $(WWWDIR)/docs/$(PJ_VERSION)/pjsip/docs/html ; \ 228 fi 229 @if [ -n "$(WWWDIR)" ] && [ -d "$(WWWDIR)/docs/$(PJ_VERSION)/pjsip/docs/html" ] ; then \ 230 echo "Copying docs/$(PJ_VERSION) to $(WWWDIR)/docs/$(PJ_VERSION)/pjsip/docs/html.." ; \ 231 cp -v -a ../docs/$(PJ_VERSION)/html/* $(WWWDIR)/docs/$(PJ_VERSION)/pjsip/docs/html/ ; \ 232 fi 233 234dep: depend 235distclean: realclean 236 237.PHONY: all dep depend clean realclean distclean 238.PHONY: $(TARGETS) 239.PHONY: $(PJSIP_LIB) $(PJSIP_SONAME) 240.PHONY: $(PJSIP_UA_LIB) $(PJSIP_UA_SONAME) 241.PHONY: $(PJSIP_SIMPLE_LIB) $(PJSIP_SIMPLE_SONAME) 242.PHONY: $(PJSUA_LIB_LIB) $(PJSUA_LIB_SONAME) 243.PHONY: $(PJSUA2_LIB_LIB) $(PJSUA2_LIB_SONAME) 244.PHONY: $(TEST_EXE) 245.PHONY: $(PJSUA2_TEST_EXE) 246 247pjsip: $(PJSIP_LIB) 248$(PJSIP_SONAME): $(PJSIP_LIB) 249$(PJSIP_LIB) $(PJSIP_SONAME): 250 $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) 251 252pjsip-ua: $(PJSIP_UA_LIB) 253$(PJSIP_UA_SONAME): $(PJSIP_UA_LIB) 254$(PJSIP_UA_LIB) $(PJSIP_UA_SONAME): $(PJSIP_LIB) $(PJSIP_SONAME) $(PJSIP_SIMPLE_LIB) $(PJSIP_SIMPLE_SONAME) 255 $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) 256 257pjsip-simple: $(PJSIP_SIMPLE_LIB) 258$(PJSIP_SIMPLE_SONAME): $(PJSIP_SIMPLE_LIB) 259$(PJSIP_SIMPLE_LIB) $(PJSIP_SIMPLE_SONAME): $(PJSIP_LIB) $(PJSIP_SONAME) 260 $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) 261 262pjsua-lib: $(PJSUA_LIB_LIB) 263$(PJSUA_LIB_SONAME): $(PJSUA_LIB_LIB) 264$(PJSUA_LIB_LIB) $(PJSUA_LIB_SONAME): $(PJSIP_LIB) $(PJSIP_SONAME) $(PJSIP_SIMPLE_LIB) $(PJSIP_SIMPLE_SONAME) $(PJSIP_UA_LIB) $(PJSIP_UA_SONAME) 265 $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) 266 267pjsua2-lib: $(PJSUA2_LIB_LIB) 268$(PJSUA2_LIB_SONAME): $(PJSUA2_LIB_LIB) 269$(PJSUA2_LIB_LIB) $(PJSUA2_LIB_SONAME): $(PJSUA_LIB_LIB) $(PJSUA_LIB_SONAME) $(PJSIP_LIB) $(PJSIP_SONAME) $(PJSIP_SIMPLE_LIB) $(PJSIP_SIMPLE_SONAME) $(PJSIP_UA_LIB) $(PJSIP_UA_SONAME) 270 $(MAKE) -f $(RULES_MAK) APP=PJSUA2_LIB app=pjsua2-lib $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) 271 272pjsip-test: $(TEST_EXE) 273$(TEST_EXE): $(PJSIP_LIB) $(PJSIP_SONAME) 274$(TEST_EXE): $(PJSIP_UA_LIB) $(PJSIP_UA_SONAME) 275$(TEST_EXE): $(PJSIP_SIMPLE_LIB) $(PJSIP_SIMPLE_SONAME) 276$(TEST_EXE): $(PJSUA_LIB_LIB) $(PJSUA_LIB_SONAME) 277$(TEST_EXE): 278 $(MAKE) -f $(RULES_MAK) APP=TEST app=pjsip-test $(subst /,$(HOST_PSEP),$(BINDIR)/$@) 279 280pjsua2-test: $(PJSUA2_TEST_EXE) 281$(PJSUA2_TEST_EXE): $(PJSIP_LIB) $(PJSIP_SONAME) 282$(PJSUA2_TEST_EXE): $(PJSIP_UA_LIB) $(PJSIP_UA_SONAME) 283$(PJSUA2_TEST_EXE): $(PJSIP_SIMPLE_LIB) $(PJSIP_SIMPLE_SONAME) 284$(PJSUA2_TEST_EXE): $(PJSUA_LIB_LIB) $(PJSUA_LIB_SONAME) 285$(PJSUA2_TEST_EXE): $(PJSUA2_LIB_LIB) $(PJSUA2_LIB_SONAME) 286 $(MAKE) -f $(RULES_MAK) APP=PJSUA2_TEST app=pjsua2-test $(subst /,$(HOST_PSEP),$(BINDIR)/$@) 287 288.PHONY: pjsip.ko 289pjsip.ko: 290 echo Making $@ 291 $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) 292 293.PHONY: pjsip-ua.ko 294pjsip-ua.ko: 295 echo Making $@ 296 $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) 297 298.PHONY: pjsip-simple.ko 299pjsip-simple.ko: 300 echo Making $@ 301 $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) 302 303.PHONY: pjsua-lib.ko 304pjsua-lib.ko: 305 echo Making $@ 306 $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) 307 308.PHONY: pjsua2-lib.ko 309pjsua2-lib.ko: 310 echo Making $@ 311 $(MAKE) -f $(RULES_MAK) APP=PJSUA2_LIB app=pjsua2-lib $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) 312 313clean: 314 $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $@ 315 $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $@ 316 $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $@ 317 $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $@ 318 $(MAKE) -f $(RULES_MAK) APP=PJSUA2_LIB app=pjsua2-lib $@ 319 $(MAKE) -f $(RULES_MAK) APP=TEST app=pjsip-test $@ 320 $(MAKE) -f $(RULES_MAK) APP=PJSUA2_TEST app=pjsua2-test $@ 321 322depend: 323 $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $@ 324 $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $@ 325 $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $@ 326 $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $@ 327 $(MAKE) -f $(RULES_MAK) APP=PJSUA2_LIB app=pjsua2-lib $@ 328 $(MAKE) -f $(RULES_MAK) APP=TEST app=pjsip-test $@ 329 $(MAKE) -f $(RULES_MAK) APP=PJSUA2_TEST app=pjsua2-test $@ 330 echo '$(BINDIR)/$(TEST_EXE): $(PJMEDIA_LIB) $(LIBDIR)/$(PJSUA_LIB_LIB) $(LIBDIR)/$(PJSIP_SIMPLE_LIB) $(LIBDIR)/$(PJSIP_UA_LIB) $(LIBDIR)/$(PJSIP_LIB) $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjsip-test-$(TARGET_NAME).depend 331 echo '$(BINDIR)/$(PJSUA2_TEST_EXE): $(LIBDIR)/$(PJSUA2_LIB_LIB) $(PJMEDIA_LIB) $(LIBDIR)/$(PJSUA_LIB_LIB) $(LIBDIR)/$(PJSIP_SIMPLE_LIB) $(LIBDIR)/$(PJSIP_UA_LIB) $(LIBDIR)/$(PJSIP_LIB) $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjsua2-test-$(TARGET_NAME).depend 332 333realclean: 334 $(subst @@,$(subst /,$(HOST_PSEP),.pjsip-$(TARGET_NAME).depend),$(HOST_RMR)) 335 $(subst @@,$(subst /,$(HOST_PSEP),.pjsip-ua-$(TARGET_NAME).depend),$(HOST_RMR)) 336 $(subst @@,$(subst /,$(HOST_PSEP),.pjsip-simple-$(TARGET_NAME).depend),$(HOST_RMR)) 337 $(subst @@,$(subst /,$(HOST_PSEP),.pjsua-lib-$(TARGET_NAME).depend),$(HOST_RMR)) 338 $(subst @@,$(subst /,$(HOST_PSEP),.pjsua2-lib-$(TARGET_NAME).depend),$(HOST_RMR)) 339 $(subst @@,$(subst /,$(HOST_PSEP),.pjsua2-test-$(TARGET_NAME).depend),$(HOST_RMR)) 340 $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $@ 341 $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $@ 342 $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $@ 343 $(MAKE) -f $(RULES_MAK) APP=TEST app=pjsip-test $@ 344 $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $@ 345 $(MAKE) -f $(RULES_MAK) APP=PJSUA2_LIB app=pjsua2-lib $@ 346 $(MAKE) -f $(RULES_MAK) APP=PJSUA2_TEST app=pjsua2-test $@ 347 348 349 350