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