blob: 6192ca0a8d6812359ef003232b7507ebf924a8dd [file] [log] [blame]
Benny Prijono9a656212005-11-08 11:55:27 +00001include ../../build/common.mak
Benny Prijonodd859a62005-11-01 16:42:51 +00002
3RULES_MAK := ../../build/rules.mak
4
5
6export PJLIB_LIB := ../lib/libpj-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(LIBEXT)
7
8###############################################################################
9# Gather all flags.
10#
Benny Prijono3d327302006-02-08 11:14:03 +000011export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \
Benny Prijonodd859a62005-11-01 16:42:51 +000012 $(CFLAGS) $(CC_INC)../include
13export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \
14 $(HOST_CXXFLAGS) $(CXXFLAGS)
15export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJLIB_LIB)) \
16 $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \
17 $(LDFLAGS)
18
19###############################################################################
20# Defines for building PJLIB library
21#
22export PJLIB_SRCDIR = ../src/pj
23export PJLIB_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
Benny Prijono33723ce2005-11-22 01:05:59 +000024 array.o config.o ctype.o errno.o except.o fifobuf.o guid.o \
Benny Prijonoe67d99a2006-03-20 12:39:24 +000025 hash.o list.o lock.o log.o os_time_common.o \
Benny Prijono5accbd02006-03-30 16:32:18 +000026 pool.o pool_caching.o pool_dbg.o rand.o \
Benny Prijonoe91bf772005-11-08 11:31:55 +000027 rbtree.o string.o timer.o \
28 types.o symbols.o
Benny Prijonodd859a62005-11-01 16:42:51 +000029export PJLIB_CFLAGS += $(_CFLAGS)
30
31###############################################################################
32# Defines for building test application
33#
34export TEST_SRCDIR = ../src/pjlib-test
Benny Prijono40ce3fb2005-11-07 18:14:08 +000035export TEST_OBJS += atomic.o echo_clt.o errno.o exception.o \
36 fifobuf.o file.o \
Benny Prijono5accbd02006-03-30 16:32:18 +000037 ioq_perf.o ioq_udp.o ioq_unreg.o ioq_tcp.o \
Benny Prijonodd859a62005-11-01 16:42:51 +000038 list.o mutex.o os.o pool.o pool_perf.o rand.o rbtree.o \
39 select.o sleep.o sock.o sock_perf.o \
40 string.o test.o thread.o timer.o timestamp.o \
Benny Prijono40ce3fb2005-11-07 18:14:08 +000041 udp_echo_srv_sync.o udp_echo_srv_ioqueue.o \
Benny Prijonoe91bf772005-11-08 11:31:55 +000042 util.o
Benny Prijonodd859a62005-11-01 16:42:51 +000043export TEST_CFLAGS += $(_CFLAGS)
44export TEST_LDFLAGS += $(_LDFLAGS)
45export TEST_EXE := ../bin/pjlib-test-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(HOST_EXE)
46
47
48export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
Benny Prijonodd859a62005-11-01 16:42:51 +000049###############################################################################
50# Main entry
51#
52# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory.
53#
54
55all: $(TARGETS)
56
57doc:
58 cd .. && doxygen docs/doxygen.cfg
59
60print:
61 $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib print_lib
62 $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test print_bin
63
Benny Prijono40ce3fb2005-11-07 18:14:08 +000064depend: ../include/pj/config_site.h
Benny Prijonodd859a62005-11-01 16:42:51 +000065 $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib depend
66 $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test depend
67 echo '$(TEST_EXE): $(PJLIB_LIB)' >> .pjlib-test-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME).depend
68
69
70.PHONY: dep depend pjlib pjlib-test clean realclean distclean
71
72dep: depend
73
Benny Prijonobc986152005-11-06 16:50:38 +000074pjlib: ../include/pj/config_site.h
Benny Prijonodd859a62005-11-01 16:42:51 +000075 $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $(PJLIB_LIB)
76
Benny Prijonobc986152005-11-06 16:50:38 +000077../include/pj/config_site.h:
78 touch ../include/pj/config_site.h
79
Benny Prijonodd859a62005-11-01 16:42:51 +000080pjlib-test:
81 $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $(TEST_EXE)
82
83.PHONY: ../lib/pjlib.ko
84../lib/pjlib.ko:
85 echo Making $@
86 $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $@
87
88.PHONY: ../lib/pjlib-test.ko
89../lib/pjlib-test.ko:
90 $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $@
91
92clean:
93 $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib clean
94 $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test clean
95
96realclean:
97 $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib realclean
98 $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test realclean
99
100distclean: realclean
101
Benny Prijono7d433ec2006-02-03 15:23:28 +0000102gcov-report:
103 $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib gcov-report
104 $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test gcov-report
105