blob: ca57e7e435ea34773d70f9b466d9222f32847b0f [file] [log] [blame]
Tristan Matthews0a329cc2013-07-17 13:20:14 -04001# By default, the test application includes main.o.
2# OS make file may override this with os-specific files
3export UTIL_TEST_OBJS = main.o
4
5include ../../build.mak
6include ../../version.mak
7include $(PJDIR)/build/common.mak
8
9RULES_MAK := $(PJDIR)/build/rules.mak
10
11PJLIB_LIB:=$(PJDIR)/pjlib/lib/libpj-$(TARGET_NAME)$(LIBEXT)
12export PJLIB_UTIL_LIB:=../lib/libpjlib-util-$(TARGET_NAME)$(LIBEXT)
13
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
19export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \
20 $(HOST_CXXFLAGS) $(CXXFLAGS)
21export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJLIB_UTIL_LIB)) \
22 $(subst /,$(HOST_PSEP),$(PJLIB_LIB)) \
23 $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \
24 $(LDFLAGS)
25
26###############################################################################
27# Defines for building PJLIB-UTIL library
28#
29export PJLIB_UTIL_SRCDIR = ../src/pjlib-util
30export PJLIB_UTIL_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
31 base64.o cli.o cli_console.o cli_telnet.o crc32.o errno.o dns.o \
32 dns_dump.o dns_server.o getopt.o hmac_md5.o hmac_sha1.o \
33 http_client.o md5.o pcap.o resolver.o scanner.o sha1.o \
34 srv_resolver.o string.o stun_simple.o \
35 stun_simple_client.o xml.o
36export PJLIB_UTIL_CFLAGS += $(_CFLAGS)
37
38###############################################################################
39# Defines for building test application
40#
41export UTIL_TEST_SRCDIR = ../src/pjlib-util-test
42export UTIL_TEST_OBJS += xml.o encryption.o stun.o resolver_test.o test.o \
43 http_client.o
44export UTIL_TEST_CFLAGS += $(_CFLAGS)
45export UTIL_TEST_LDFLAGS += $(_LDFLAGS)
46export UTIL_TEST_EXE:=../bin/pjlib-util-test-$(TARGET_NAME)$(HOST_EXE)
47
48
49export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
50###############################################################################
51# Main entry
52#
53# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory.
54#
55TARGETS := pjlib-util pjlib-util-test
56
57all: $(TARGETS)
58
59doc:
60 cd .. && rm -rf docs/$(PJ_VERSION) && doxygen docs/doxygen.cfg
61 @if [ -n "$(WWWDIR)" ] && ! [ -d "$(WWWDIR)/docs/$(PJ_VERSION)/pjlib-util/docs/html" ] ; then \
62 echo "Creating docs/$(PJ_VERSION)/pjlib-util/docs/html" ; \
63 mkdir -p $(WWWDIR)/docs/$(PJ_VERSION)/pjlib-util/docs/html ; \
64 fi
65 @if [ -n "$(WWWDIR)" ] && [ -d "$(WWWDIR)/docs/$(PJ_VERSION)/pjlib-util/docs/html" ] ; then \
66 echo "Copying docs/$(PJ_VERSION) to $(WWWDIR)/docs/$(PJ_VERSION)/pjlib-util/docs/html.." ; \
67 cp -v -a ../docs/$(PJ_VERSION)/html/* $(WWWDIR)/docs/$(PJ_VERSION)/pjlib-util/docs/html/ ; \
68 fi
69
70dep: depend
71distclean: realclean
72
73.PHONY: dep depend pjlib pjlib-test clean realclean distclean
74
75pjlib-util:
76 $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $(PJLIB_UTIL_LIB)
77
78pjlib-util-test: pjlib-util
79 $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $(UTIL_TEST_EXE)
80
81.PHONY: ../lib/pjlib-util.ko
82../lib/pjlib-util.ko:
83 echo Making $@
84 $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $@
85
86.PHONY: ../lib/pjlib-util-test.ko
87../lib/pjlib-util-test.ko:
88 $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $@
89
90clean:
91 $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $@
92 $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $@
93
94realclean:
95 $(subst @@,$(subst /,$(HOST_PSEP),.pjlib-util-$(TARGET_NAME).depend),$(HOST_RMR))
96 $(subst @@,$(subst /,$(HOST_PSEP),.pjlib-util-test-$(TARGET_NAME).depend),$(HOST_RMR))
97 $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $@
98 $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $@
99
100depend:
101 $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $@
102 $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $@
103 echo '$(UTIL_TEST_EXE): $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjlib-util-test-$(TARGET_NAME).depend; \
104
105