blob: 3012659f48b8c989c814c9a15c1265b9463f2e74 [file] [log] [blame]
Benny Prijonoa6bd7582007-03-28 15:49:48 +00001# By default, the test application includes main.o.
2# OS make file may override this with os-specific files
3export PJNATH_TEST_OBJS = main.o
4
Benny Prijono25dfd1d2007-04-17 16:16:01 +00005include ../../build.mak
6include $(PJDIR)/build/common.mak
Benny Prijonoa6bd7582007-03-28 15:49:48 +00007
Benny Prijono25dfd1d2007-04-17 16:16:01 +00008RULES_MAK := $(PJDIR)/build/rules.mak
Benny Prijonoa6bd7582007-03-28 15:49:48 +00009
10PJLIB_LIB:=../../pjlib/lib/libpj-$(TARGET_NAME)$(LIBEXT)
11PJLIB_UTIL_LIB:=../../pjlib-util/lib/libpjlib-util-$(TARGET_NAME)$(LIBEXT)
Benny Prijonoa10664c2007-04-23 16:22:52 +000012export PJNATH_LIB:=../lib/libpjnath-$(TARGET_NAME)$(LIBEXT)
Benny Prijonoa6bd7582007-03-28 15:49:48 +000013
14###############################################################################
15# Gather all flags.
16#
17export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \
18 $(CFLAGS) $(CC_INC)../include $(CC_INC)../../pjlib/include \
19 $(CC_INC)../../pjlib-util/include
20export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \
21 $(HOST_CXXFLAGS) $(CXXFLAGS)
22export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJNATH_LIB)) \
23 $(subst /,$(HOST_PSEP),$(PJLIB_UTIL_LIB)) \
24 $(subst /,$(HOST_PSEP),$(PJLIB_LIB)) \
25 $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \
26 $(LDFLAGS)
27
28###############################################################################
Benny Prijonoaf09dc32007-04-22 12:48:30 +000029# Defines for building PJNATH library
Benny Prijonoa6bd7582007-03-28 15:49:48 +000030#
31export PJNATH_SRCDIR = ../src/pjnath
32export PJNATH_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
Benny Prijono4ab9fbb2007-10-12 12:14:27 +000033 errno.o ice_session.o ice_strans.o nat_detect.o stun_auth.o \
Benny Prijonoff1df042008-06-06 14:47:10 +000034 stun_msg.o stun_msg_dump.o stun_session.o stun_sock.o \
35 stun_transaction.o turn_session.o turn_sock.o
Benny Prijonoa6bd7582007-03-28 15:49:48 +000036export PJNATH_CFLAGS += $(_CFLAGS)
37
38###############################################################################
39# Defines for building test application
40#
41export PJNATH_TEST_SRCDIR = ../src/pjnath-test
Benny Prijonoff1df042008-06-06 14:47:10 +000042export PJNATH_TEST_OBJS += ice_test.o stun.o sess_auth.o server.o \
43 stun_sock_test.o turn_sock_test.o test.o
Benny Prijonoa6bd7582007-03-28 15:49:48 +000044export PJNATH_TEST_CFLAGS += $(_CFLAGS)
45export PJNATH_TEST_LDFLAGS += $(_LDFLAGS)
46export PJNATH_TEST_EXE:=../bin/pjnath-test-$(TARGET_NAME)$(HOST_EXE)
47
48
Benny Prijonoaf09dc32007-04-22 12:48:30 +000049###############################################################################
Benny Prijono68854002008-03-20 19:21:27 +000050# Defines for building TURN client application
Benny Prijonoaf09dc32007-04-22 12:48:30 +000051#
Benny Prijono68854002008-03-20 19:21:27 +000052export PJTURN_CLIENT_SRCDIR = ../src/pjturn-client
53export PJTURN_CLIENT_OBJS += client_main.o
54export PJTURN_CLIENT_CFLAGS += $(_CFLAGS)
55export PJTURN_CLIENT_LDFLAGS += $(_LDFLAGS)
56export PJTURN_CLIENT_EXE:=../bin/pjturn-client-$(TARGET_NAME)$(HOST_EXE)
Benny Prijonoaf09dc32007-04-22 12:48:30 +000057
58###############################################################################
Benny Prijono68854002008-03-20 19:21:27 +000059# Defines for building TURN server application
Benny Prijonoaf09dc32007-04-22 12:48:30 +000060#
Benny Prijono68854002008-03-20 19:21:27 +000061export PJTURN_SRV_SRCDIR = ../src/pjturn-srv
Benny Prijono84fde9e2008-04-09 13:34:49 +000062export PJTURN_SRV_OBJS += allocation.o auth.o listener_udp.o \
63 listener_tcp.o server.o main.o
Benny Prijono68854002008-03-20 19:21:27 +000064export PJTURN_SRV_CFLAGS += $(_CFLAGS)
65export PJTURN_SRV_LDFLAGS += $(_LDFLAGS)
66export PJTURN_SRV_EXE:=../bin/pjturn-srv-$(TARGET_NAME)$(HOST_EXE)
Benny Prijonoaf09dc32007-04-22 12:48:30 +000067
68
69
Benny Prijonoa6bd7582007-03-28 15:49:48 +000070export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
71###############################################################################
72# Main entry
73#
74# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory.
75#
Benny Prijono68854002008-03-20 19:21:27 +000076TARGETS := pjnath pjnath-test pjturn-client pjturn-srv
Benny Prijonoa6bd7582007-03-28 15:49:48 +000077
78all: $(TARGETS)
79
80doc:
Benny Prijono5b64b8d2008-06-20 21:39:02 +000081 cd .. && rm -rf docs/html docs/latex && doxygen docs/doxygen.cfg
82 @if test ! "$(WWWDIR)" == ""; then \
83 echo "Copying to $(WWWDIR)/pjnath/docs/html.." ; \
84 cp -a ../docs/html/* $(WWWDIR)/pjnath/docs/html/ ; \
85 fi
Benny Prijonoa6bd7582007-03-28 15:49:48 +000086
87dep: depend
88distclean: realclean
89
90.PHONY: dep depend pjlib pjlib-test clean realclean distclean
91
92pjnath:
93 $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $(PJNATH_LIB)
94
Benny Prijono25dfd1d2007-04-17 16:16:01 +000095pjnath-test: $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB)
Benny Prijonoa6bd7582007-03-28 15:49:48 +000096 $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $(PJNATH_TEST_EXE)
97
Benny Prijono68854002008-03-20 19:21:27 +000098pjturn-client: $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB)
99 $(MAKE) -f $(RULES_MAK) APP=PJTURN_CLIENT app=pjturn-client $(PJTURN_CLIENT_EXE)
Benny Prijonoaf09dc32007-04-22 12:48:30 +0000100
Benny Prijono68854002008-03-20 19:21:27 +0000101pjturn-srv: $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB)
102 $(MAKE) -f $(RULES_MAK) APP=PJTURN_SRV app=pjturn-srv $(PJTURN_SRV_EXE)
Benny Prijonoaf09dc32007-04-22 12:48:30 +0000103
Benny Prijonoa6bd7582007-03-28 15:49:48 +0000104.PHONY: ../lib/pjnath.ko
105../lib/pjnath.ko:
106 echo Making $@
107 $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $@
108
109.PHONY: ../lib/pjnath-test.ko
110../lib/pjnath-test.ko:
111 $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $@
112
113clean:
114 $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $@
115 $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $@
Benny Prijono68854002008-03-20 19:21:27 +0000116 $(MAKE) -f $(RULES_MAK) APP=PJTURN_CLIENT app=pjturn-client $@
117 $(MAKE) -f $(RULES_MAK) APP=PJTURN_SRV app=pjturn-srv $@
Benny Prijonoa6bd7582007-03-28 15:49:48 +0000118
119realclean:
120 $(subst @@,$(subst /,$(HOST_PSEP),.pjnath-$(TARGET_NAME).depend),$(HOST_RMR))
121 $(subst @@,$(subst /,$(HOST_PSEP),.pjnath-test-$(TARGET_NAME).depend),$(HOST_RMR))
Benny Prijono68854002008-03-20 19:21:27 +0000122 $(subst @@,$(subst /,$(HOST_PSEP),.pjturn-client-$(TARGET_NAME).depend),$(HOST_RMR))
123 $(subst @@,$(subst /,$(HOST_PSEP),.pjturn-srv-$(TARGET_NAME).depend),$(HOST_RMR))
Benny Prijonoa6bd7582007-03-28 15:49:48 +0000124 $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $@
125 $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $@
Benny Prijono68854002008-03-20 19:21:27 +0000126 $(MAKE) -f $(RULES_MAK) APP=PJTURN_CLIENT app=pjturn-client $@
127 $(MAKE) -f $(RULES_MAK) APP=PJTURN_SRV app=pjturn-srv $@
Benny Prijonoa6bd7582007-03-28 15:49:48 +0000128
129depend:
130 $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $@
131 $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $@
Benny Prijono68854002008-03-20 19:21:27 +0000132 $(MAKE) -f $(RULES_MAK) APP=PJTURN_CLIENT app=pjturn-client $@
133 $(MAKE) -f $(RULES_MAK) APP=PJTURN_SRV app=pjturn-srv $@
Benny Prijonob1c62042008-07-29 11:42:20 +0000134 echo '$(PJNATH_TEST_EXE): $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjnath-test-$(TARGET_NAME).depend
135 echo '$(PJTURN_CLIENT_EXE): $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjturn-client-$(TARGET_NAME).depend
136 echo '$(PJTURN_SRV_EXE): $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjturn-srv-$(TARGET_NAME).depend
Benny Prijonoa6bd7582007-03-28 15:49:48 +0000137
138