blob: 51459931f60044e0304b5b444f1da402e2e4ebfa [file] [log] [blame]
Benny Prijono81dbd742006-02-08 11:16:34 +00001include build.mak
2include build/host-$(HOST_NAME).mak
Benny Prijonoad27ead2010-10-21 02:21:37 +00003-include user.mak
Benny Prijono81dbd742006-02-08 11:16:34 +00004
Benny Prijonoad27ead2010-10-21 02:21:37 +00005DIRS = pjlib/build pjlib-util/build pjnath/build third_party/build pjmedia/build pjsip/build pjsip-apps/build $(EXTRA_DIRS)
Benny Prijonodd859a62005-11-01 16:42:51 +00006
7ifdef MINSIZE
8MAKE_FLAGS := MINSIZE=1
9endif
10
Benny Prijono5b64b8d2008-06-20 21:39:02 +000011all clean dep depend distclean print realclean:
Benny Prijonodd859a62005-11-01 16:42:51 +000012 for dir in $(DIRS); do \
Benny Prijonoad27ead2010-10-21 02:21:37 +000013 if $(MAKE) $(MAKE_FLAGS) -C $$dir $@; then \
Benny Prijonodd859a62005-11-01 16:42:51 +000014 true; \
15 else \
16 exit 1; \
17 fi; \
Benny Prijonodd859a62005-11-01 16:42:51 +000018 done
19
Benny Prijono5b64b8d2008-06-20 21:39:02 +000020doc:
21 @if test \( ! "$(WWWDIR)" == "" \) -a \( ! -d $(WWWDIR)/pjlib/docs/html \) ; then \
22 echo 'Directory "$(WWWDIR)" does not look like a valid pjsip web directory'; \
23 exit 1; \
24 fi
25 for dir in $(DIRS); do \
26 if $(MAKE) $(MAKE_FLAGS) -C $$dir/build $@; then \
27 true; \
28 else \
29 exit 1; \
30 fi; \
31 done
32
Benny Prijono7a6e84f2006-05-04 08:57:45 +000033LIBS = pjlib/lib/libpj-$(TARGET_NAME).a \
34 pjlib-util/lib/libpjlib-util-$(TARGET_NAME).a \
Benny Prijonodbce2cf2007-03-28 16:24:00 +000035 pjnath/lib/libpjnath-$(TARGET_NAME).a \
Benny Prijono7a6e84f2006-05-04 08:57:45 +000036 pjmedia/lib/libpjmedia-$(TARGET_NAME).a \
Benny Prijonoccd90bb2009-03-10 15:14:11 +000037 pjmedia/lib/libpjmedia-audiodev-$(TARGET_NAME).a \
Benny Prijono7a6e84f2006-05-04 08:57:45 +000038 pjmedia/lib/libpjmedia-codec-$(TARGET_NAME).a \
Benny Prijonoddd47142010-01-15 15:06:20 +000039 pjsip/lib/libpjsip-$(TARGET_NAME).a \
Benny Prijono7a6e84f2006-05-04 08:57:45 +000040 pjsip/lib/libpjsip-ua-$(TARGET_NAME).a \
41 pjsip/lib/libpjsip-simple-$(TARGET_NAME).a \
42 pjsip/lib/libpjsua-$(TARGET_NAME).a
43BINS = pjsip-apps/bin/pjsua-$(TARGET_NAME)$(HOST_EXE)
Benny Prijonodd859a62005-11-01 16:42:51 +000044
45size:
46 @echo -n 'Date: '
47 @date
48 @echo
49 @for lib in $(LIBS); do \
50 echo "$$lib:"; \
Benny Prijono53c36772006-07-29 11:15:34 +000051 size -t $$lib | awk '{print $$1 "\t" $$2 "\t" $$3 "\t" $$6}'; \
Benny Prijonodd859a62005-11-01 16:42:51 +000052 echo; \
53 done
54 @echo
55 @for bin in $(BINS); do \
56 echo "size $$bin:"; \
57 size $$bin; \
58 done
59
Benny Prijono81dbd742006-02-08 11:16:34 +000060#dos2unix:
61# for f in `find . | egrep '(mak|h|c|S|s|Makefile)$$'`; do \
62# dos2unix "$$f" > dos2unix.tmp; \
63# cp dos2unix.tmp "$$f"; \
64# done
65# rm -f dos2unix.tmp
Benny Prijonodd859a62005-11-01 16:42:51 +000066
Benny Prijono4766ffe2005-11-01 17:56:59 +000067xhdrid:
68 for f in `find . | egrep '\.(h|c|S|s|cpp|hpp)$$'`; do \
69 echo Processing $$f...; \
70 cat $$f | sed 's/.*\$$Author\$$/ */' > /tmp/id; \
71 cp /tmp/id $$f; \
72 done
73
Benny Prijono6b0d9a02009-11-24 02:51:41 +000074selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test
75
76pjlib-test: pjlib/bin/pjlib-test-$(TARGET_NAME)
77 cd pjlib/build && ../bin/pjlib-test-$(TARGET_NAME)
78
79pjlib-util-test: pjlib-util/bin/pjlib-util-test-$(TARGET_NAME)
80 cd pjlib-util/build && ../bin/pjlib-util-test-$(TARGET_NAME)
81
82pjnath-test: pjnath/bin/pjnath-test-$(TARGET_NAME)
83 cd pjnath/build && ../bin/pjnath-test-$(TARGET_NAME)
84
85pjmedia-test: pjmedia/bin/pjmedia-test-$(TARGET_NAME)
86 cd pjmedia/build && ../bin/pjmedia-test-$(TARGET_NAME)
87
88pjsip-test: pjsip/bin/pjsip-test-$(TARGET_NAME)
89 cd pjsip/build && ../bin/pjsip-test-$(TARGET_NAME)
90
91pjsua-test:
92 cd tests/pjsua && python runall.py
93
Benny Prijonoddd47142010-01-15 15:06:20 +000094prefix = $(ac_prefix)
95include version.mak
96
Benny Prijonoaf09dc32007-04-22 12:48:30 +000097install:
98 mkdir -p $(DESTDIR)$(prefix)/lib
Benny Prijonoddd47142010-01-15 15:06:20 +000099 cp -f $(APP_LIB_FILES) $(DESTDIR)$(prefix)/lib/
Benny Prijonoaf09dc32007-04-22 12:48:30 +0000100 mkdir -p $(DESTDIR)$(prefix)/include
Benny Prijonoddd47142010-01-15 15:06:20 +0000101 for d in pjlib pjlib-util pjnath pjmedia pjsip; do \
102 cp -RLf $$d/include/* $(DESTDIR)$(prefix)/include/; \
Benny Prijonoaf09dc32007-04-22 12:48:30 +0000103 done
104 mkdir -p $(DESTDIR)$(prefix)/lib/pkgconfig
Benny Prijonoddd47142010-01-15 15:06:20 +0000105 sed -e "s!@PREFIX@!$(DESTDIR)$(prefix)!" libpjproject.pc.in | \
106 sed -e "s/@PJ_VERSION@/$(PJ_VERSION)/" | \
107 sed -e "s!@PJ_LDLIBS@!$(PJ_LDLIBS)!" | \
108 sed -e "s!@PJ_INSTALL_CFLAGS@!$(PJ_INSTALL_CFLAGS)!" > $(DESTDIR)/$(prefix)/lib/pkgconfig/libpjproject.pc