blob: 9887aee729a1b4c5923837065852972f5776370c [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 Prijono68854002008-03-20 19:21:27 +000034 stun_msg.o stun_msg_dump.o stun_session.o stun_transaction.o \
Benny Prijono879ad1a2008-04-09 09:38:12 +000035 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 Prijonoa5d214f2008-03-19 23:00:30 +000042export PJNATH_TEST_OBJS += ice_test.o stun.o sess_auth.o test.o
Benny Prijonoa6bd7582007-03-28 15:49:48 +000043export PJNATH_TEST_CFLAGS += $(_CFLAGS)
44export PJNATH_TEST_LDFLAGS += $(_LDFLAGS)
45export PJNATH_TEST_EXE:=../bin/pjnath-test-$(TARGET_NAME)$(HOST_EXE)
46
47
Benny Prijonoaf09dc32007-04-22 12:48:30 +000048###############################################################################
Benny Prijono68854002008-03-20 19:21:27 +000049# Defines for building TURN client application
Benny Prijonoaf09dc32007-04-22 12:48:30 +000050#
Benny Prijono68854002008-03-20 19:21:27 +000051export PJTURN_CLIENT_SRCDIR = ../src/pjturn-client
52export PJTURN_CLIENT_OBJS += client_main.o
53export PJTURN_CLIENT_CFLAGS += $(_CFLAGS)
54export PJTURN_CLIENT_LDFLAGS += $(_LDFLAGS)
55export PJTURN_CLIENT_EXE:=../bin/pjturn-client-$(TARGET_NAME)$(HOST_EXE)
Benny Prijonoaf09dc32007-04-22 12:48:30 +000056
57###############################################################################
Benny Prijono68854002008-03-20 19:21:27 +000058# Defines for building TURN server application
Benny Prijonoaf09dc32007-04-22 12:48:30 +000059#
Benny Prijono68854002008-03-20 19:21:27 +000060export PJTURN_SRV_SRCDIR = ../src/pjturn-srv
61export PJTURN_SRV_OBJS += allocation.o auth.o listener_udp.o server.o \
Benny Prijonoaf09dc32007-04-22 12:48:30 +000062 main.o
Benny Prijono68854002008-03-20 19:21:27 +000063export PJTURN_SRV_CFLAGS += $(_CFLAGS)
64export PJTURN_SRV_LDFLAGS += $(_LDFLAGS)
65export PJTURN_SRV_EXE:=../bin/pjturn-srv-$(TARGET_NAME)$(HOST_EXE)
Benny Prijonoaf09dc32007-04-22 12:48:30 +000066
67
68
Benny Prijonoa6bd7582007-03-28 15:49:48 +000069export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
70###############################################################################
71# Main entry
72#
73# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory.
74#
Benny Prijono68854002008-03-20 19:21:27 +000075TARGETS := pjnath pjnath-test pjturn-client pjturn-srv
Benny Prijonoa6bd7582007-03-28 15:49:48 +000076
77all: $(TARGETS)
78
79doc:
80 cd .. && doxygen docs/doxygen.cfg
81
82dep: depend
83distclean: realclean
84
85.PHONY: dep depend pjlib pjlib-test clean realclean distclean
86
87pjnath:
88 $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $(PJNATH_LIB)
89
Benny Prijono25dfd1d2007-04-17 16:16:01 +000090pjnath-test: $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB)
Benny Prijonoa6bd7582007-03-28 15:49:48 +000091 $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $(PJNATH_TEST_EXE)
92
Benny Prijono68854002008-03-20 19:21:27 +000093pjturn-client: $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB)
94 $(MAKE) -f $(RULES_MAK) APP=PJTURN_CLIENT app=pjturn-client $(PJTURN_CLIENT_EXE)
Benny Prijonoaf09dc32007-04-22 12:48:30 +000095
Benny Prijono68854002008-03-20 19:21:27 +000096pjturn-srv: $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB)
97 $(MAKE) -f $(RULES_MAK) APP=PJTURN_SRV app=pjturn-srv $(PJTURN_SRV_EXE)
Benny Prijonoaf09dc32007-04-22 12:48:30 +000098
Benny Prijonoa6bd7582007-03-28 15:49:48 +000099.PHONY: ../lib/pjnath.ko
100../lib/pjnath.ko:
101 echo Making $@
102 $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $@
103
104.PHONY: ../lib/pjnath-test.ko
105../lib/pjnath-test.ko:
106 $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $@
107
108clean:
109 $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $@
110 $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $@
Benny Prijono68854002008-03-20 19:21:27 +0000111 $(MAKE) -f $(RULES_MAK) APP=PJTURN_CLIENT app=pjturn-client $@
112 $(MAKE) -f $(RULES_MAK) APP=PJTURN_SRV app=pjturn-srv $@
Benny Prijonoa6bd7582007-03-28 15:49:48 +0000113
114realclean:
115 $(subst @@,$(subst /,$(HOST_PSEP),.pjnath-$(TARGET_NAME).depend),$(HOST_RMR))
116 $(subst @@,$(subst /,$(HOST_PSEP),.pjnath-test-$(TARGET_NAME).depend),$(HOST_RMR))
Benny Prijono68854002008-03-20 19:21:27 +0000117 $(subst @@,$(subst /,$(HOST_PSEP),.pjturn-client-$(TARGET_NAME).depend),$(HOST_RMR))
118 $(subst @@,$(subst /,$(HOST_PSEP),.pjturn-srv-$(TARGET_NAME).depend),$(HOST_RMR))
Benny Prijonoa6bd7582007-03-28 15:49:48 +0000119 $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $@
120 $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $@
Benny Prijono68854002008-03-20 19:21:27 +0000121 $(MAKE) -f $(RULES_MAK) APP=PJTURN_CLIENT app=pjturn-client $@
122 $(MAKE) -f $(RULES_MAK) APP=PJTURN_SRV app=pjturn-srv $@
Benny Prijonoa6bd7582007-03-28 15:49:48 +0000123
124depend:
125 $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $@
126 $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $@
Benny Prijono68854002008-03-20 19:21:27 +0000127 $(MAKE) -f $(RULES_MAK) APP=PJTURN_CLIENT app=pjturn-client $@
128 $(MAKE) -f $(RULES_MAK) APP=PJTURN_SRV app=pjturn-srv $@
Benny Prijonoa6bd7582007-03-28 15:49:48 +0000129 echo '$(TEST_EXE): $(PJNATH_LIB)' >> .pjnath-test-$(TARGET_NAME).depend; \
130
131