blob: 42c8e12ad2eebace62cbe962e346acb421df1bfe [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 Prijonoa6bd7582007-03-28 15:49:48 +000034 stun_msg.o stun_msg_dump.o stun_session.o stun_transaction.o
35export PJNATH_CFLAGS += $(_CFLAGS)
36
37###############################################################################
38# Defines for building test application
39#
40export PJNATH_TEST_SRCDIR = ../src/pjnath-test
41export PJNATH_TEST_OBJS += ice_test.o stun.o test.o
42export PJNATH_TEST_CFLAGS += $(_CFLAGS)
43export PJNATH_TEST_LDFLAGS += $(_LDFLAGS)
44export PJNATH_TEST_EXE:=../bin/pjnath-test-$(TARGET_NAME)$(HOST_EXE)
45
46
Benny Prijonoaf09dc32007-04-22 12:48:30 +000047###############################################################################
48# Defines for building test client application
49#
50export PJSTUN_CLIENT_SRCDIR = ../src/pjstun-client
51export PJSTUN_CLIENT_OBJS += client_main.o
52export PJSTUN_CLIENT_CFLAGS += $(_CFLAGS)
53export PJSTUN_CLIENT_LDFLAGS += $(_LDFLAGS)
54export PJSTUN_CLIENT_EXE:=../bin/pjstun-client-$(TARGET_NAME)$(HOST_EXE)
55
56###############################################################################
57# Defines for building test server application
58#
59export PJSTUN_SRV_TEST_SRCDIR = ../src/pjstun-srv-test
60export PJSTUN_SRV_TEST_OBJS += bind_usage.o server.o turn_usage.o usage.o \
61 main.o
62export PJSTUN_SRV_TEST_CFLAGS += $(_CFLAGS)
63export PJSTUN_SRV_TEST_LDFLAGS += $(_LDFLAGS)
64export PJSTUN_SRV_TEST_EXE:=../bin/pjstun-srv-test-$(TARGET_NAME)$(HOST_EXE)
65
66
67
Benny Prijonoa6bd7582007-03-28 15:49:48 +000068export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
69###############################################################################
70# Main entry
71#
72# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory.
73#
Benny Prijonoaf09dc32007-04-22 12:48:30 +000074TARGETS := pjnath pjnath-test pjstun-client pjstun-srv-test
Benny Prijonoa6bd7582007-03-28 15:49:48 +000075
76all: $(TARGETS)
77
78doc:
79 cd .. && doxygen docs/doxygen.cfg
80
81dep: depend
82distclean: realclean
83
84.PHONY: dep depend pjlib pjlib-test clean realclean distclean
85
86pjnath:
87 $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $(PJNATH_LIB)
88
Benny Prijono25dfd1d2007-04-17 16:16:01 +000089pjnath-test: $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB)
Benny Prijonoa6bd7582007-03-28 15:49:48 +000090 $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $(PJNATH_TEST_EXE)
91
Benny Prijonoaf09dc32007-04-22 12:48:30 +000092pjstun-client: $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB)
93 $(MAKE) -f $(RULES_MAK) APP=PJSTUN_CLIENT app=pjstun-client $(PJSTUN_CLIENT_EXE)
94
95pjstun-srv-test: $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB)
96 $(MAKE) -f $(RULES_MAK) APP=PJSTUN_SRV_TEST app=pjstun-srv-test $(PJSTUN_SRV_TEST_EXE)
97
Benny Prijonoa6bd7582007-03-28 15:49:48 +000098.PHONY: ../lib/pjnath.ko
99../lib/pjnath.ko:
100 echo Making $@
101 $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $@
102
103.PHONY: ../lib/pjnath-test.ko
104../lib/pjnath-test.ko:
105 $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $@
106
107clean:
108 $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $@
109 $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $@
Benny Prijono2fedc732007-05-11 19:02:46 +0000110 $(MAKE) -f $(RULES_MAK) APP=PJSTUN_CLIENT app=pjstun-client $@
111 $(MAKE) -f $(RULES_MAK) APP=PJSTUN_SRV_TEST app=pjstun-srv-test $@
Benny Prijonoa6bd7582007-03-28 15:49:48 +0000112
113realclean:
114 $(subst @@,$(subst /,$(HOST_PSEP),.pjnath-$(TARGET_NAME).depend),$(HOST_RMR))
115 $(subst @@,$(subst /,$(HOST_PSEP),.pjnath-test-$(TARGET_NAME).depend),$(HOST_RMR))
Benny Prijono2fedc732007-05-11 19:02:46 +0000116 $(subst @@,$(subst /,$(HOST_PSEP),.pjstun-client-$(TARGET_NAME).depend),$(HOST_RMR))
117 $(subst @@,$(subst /,$(HOST_PSEP),.pjstun-srv-test-$(TARGET_NAME).depend),$(HOST_RMR))
Benny Prijonoa6bd7582007-03-28 15:49:48 +0000118 $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $@
119 $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $@
Benny Prijono2fedc732007-05-11 19:02:46 +0000120 $(MAKE) -f $(RULES_MAK) APP=PJSTUN_CLIENT app=pjstun-client $@
121 $(MAKE) -f $(RULES_MAK) APP=PJSTUN_SRV_TEST app=pjstun-srv-test $@
Benny Prijonoa6bd7582007-03-28 15:49:48 +0000122
123depend:
124 $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $@
125 $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $@
Benny Prijono2fedc732007-05-11 19:02:46 +0000126 $(MAKE) -f $(RULES_MAK) APP=PJSTUN_CLIENT app=pjstun-client $@
127 $(MAKE) -f $(RULES_MAK) APP=PJSTUN_SRV_TEST app=pjstun-srv-test $@
Benny Prijonoa6bd7582007-03-28 15:49:48 +0000128 echo '$(TEST_EXE): $(PJNATH_LIB)' >> .pjnath-test-$(TARGET_NAME).depend; \
129
130