1NAME=sems_tests
2
3SIP_STACK_DIR=../sip
4SIP_STACK=$(SIP_STACK_DIR)/sip_stack.a
5RESAMPLE_DIR=../resample
6LIBRESAMPLE=$(RESAMPLE_DIR)/libresample.a
7CORE_SRCS=$(filter-out ../sems.cpp , $(wildcard ../*.cpp))
8CORE_HDRS=$(CORE_SRCS:.cpp=.h)
9CORE_OBJS=$(CORE_SRCS:.cpp=.o)
10CORE_DEPS=$(subst ../,,$(CORE_SRCS:.cpp=.d))
11
12SBC_DIR=../../apps/sbc/
13SBC_SRCS=$(wildcard $(SBC_DIR)*.cpp)
14SBC_HDRS=$(SBC_SRCS:.cpp=.h)
15SBC_OBJS=$(SBC_SRCS:.cpp=.o)
16SBC_DEPS=$(subst $(SBC_DIR),,$(SBC_SRCS:.cpp=.d))
17
18AUTH_DIR=../plug-in/uac_auth
19AUTH_OBJS=$(AUTH_DIR)/UACAuth.o
20
21SRCS=$(wildcard *.cpp)
22HDRS=$(SRCS:.cpp=.h)
23OBJS=$(SRCS:.cpp=.o)
24DEPS=$(SRCS:.cpp=.d)
25
26CPPFLAGS += -I.. -DNOMAIN
27
28EXTRA_LDFLAGS += -lresolv -levent -levent_pthreads
29
30.PHONY: all
31all: ../../Makefile.defs sip_stack libresample
32	@$(MAKE) core_deps   && $(MAKE) sbc_deps  && $(MAKE) deps    && \
33	  $(MAKE) $(NAME) && \
34	./$(NAME)
35
36.PHONY: sip_stack
37sip_stack:
38	@echo ""
39	@echo "making SIP stack"
40	@cd $(SIP_STACK_DIR); $(MAKE) all
41
42.PHONY: libresample
43libresample:
44	@echo ""
45	@echo "making libresample"
46	@cd $(RESAMPLE_DIR); $(MAKE) all
47
48SIP_STACK: sip_stack
49
50.PHONY: clean
51clean:
52	rm -f $(OBJS) $(DEPS) $(CORE_DEPS) $(CORE_OBJS) $(NAME)
53
54.PHONY: deps
55deps: $(DEPS)
56
57.PHONY: core_deps
58core_deps: $(CORE_DEPS)
59
60.PHONY: sbc_deps
61sbc_deps: $(SBC_DEPS)
62
63AUTH_OBJS: $(AUTH_DIR)/UACAuth.cpp $(AUTH_DIR)/UACAuth.h
64	cd $(AUTH_DIR) ; $(MAKE) AUTH_OBJS
65
66COREPATH=..
67include ../../Makefile.defs
68
69# implicit rules
70%.o : %.cpp %.d ../../Makefile.defs
71	$(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS)
72
73%.d : %.cpp %.h ../../Makefile.defs
74	$(CXX) -MM $< $(CPPFLAGS) $(CXXFLAGS) > $@
75
76%.d : $(SBC_DIR)%.cpp $(SBC_DIR)%.h ../../Makefile.defs
77	$(CXX) -MM $< $(CPPFLAGS) $(CXXFLAGS) > $@
78
79%.d : $(AUTH_DIR)%.cpp $(SBC_DIR)%.h ../../Makefile.defs
80	$(CXX) -MM $< $(CPPFLAGS) $(CXXFLAGS) > $@
81
82%.d : ../%.cpp ../%.h ../../Makefile.defs
83	$(CXX) -MM $< $(CPPFLAGS) $(CXXFLAGS) > $@
84
85$(NAME): $(OBJS) $(CORE_OBJS) $(SBC_OBJS) $(AUTH_OBJS) $(SIP_STACK) $(LIBRESAMPLE) ../../Makefile.defs
86	@echo ""
87	@echo "making $(NAME)"
88	$(LD) -o $(NAME) $(OBJS) $(CORE_OBJS) $(SBC_OBJS) $(SIP_STACK) $(LIBRESAMPLE) $(LDFLAGS) $(EXTRA_LDFLAGS) $(AUTH_OBJS)
89
90ifeq '$(NAME)' '$(MAKECMDGOALS)'
91include $(DEPS) $(CORE_DEPS) $(SBC_DEPS)
92endif
93
94
95