XX = g++ PROJECT_ROOT= /home/cmhu/sip_server TARGET= $(PROJECT_ROOT)/bin/sip_server DEFS = -DLinux THIRDPARTY_ROOT = $(PROJECT_ROOT)/3rdparty SPDLOG_ROOT = $(THIRDPARTY_ROOT)/spdlog-1.9.2/release BOOST_ROOT = $(THIRDPARTY_ROOT)/boost_1_81_0/release WEBSOCKETPP_ROOT = $(THIRDPARTY_ROOT)/websocketpp-0.8.2/release/include \ SIP_SDK = $(THIRDPARTY_ROOT)/release SIP_ROOT = $(PROJECT_ROOT)/sip INCLUDE=-I $(SPDLOG_ROOT)/include \ -I $(SIP_SDK)/include \ -I $(SIP_ROOT) \ -I $(WEBSOCKETPP_ROOT) \ -I $(BOOST_ROOT)/include \ LIBS= -L $(SPDLOG_ROOT)/lib -l:libspdlog.a \ -L $(SIP_SDK)/lib -l:libeXosip2.a -l:libosipparser2.a -l:libosip2.a -lcares\ -L $(BOOST_ROOT)/lib -lboost_system \ CXXFLAGS= -g -O0 -fPIC $(INCLUDE) $(LIBS) $(DEFS) -lpthread -lrt -lz -fexceptions -std=c++11 -fvisibility=hidden -Wall -Wno-deprecated -Wdeprecated-declarations -Wl,-Bsymbolic -ldl SRCS:=$(wildcard $(SIP_ROOT)/Utils/*.cpp) \ $(wildcard $(SIP_ROOT)/Message/*.cpp) \ $(wildcard $(SIP_ROOT)/tinyxml2/*.cpp) \ $(wildcard $(SIP_ROOT)/*.cpp) \ OBJS = $(patsubst %.cpp, %.o, $(notdir $(SRCS))) $(TARGET):$(OBJS) rm -f $(TARGET) $(XX) -o $@ $^ $(CXXFLAGS) # rm -f *.o %.o:$(SIP_ROOT)/Utils/%.cpp $(XX) $(CXXFLAGS) -c $< %.o:$(SIP_ROOT)/Message/%.cpp $(XX) $(CXXFLAGS) -c $< %.o:$(SIP_ROOT)/tinyxml2/%.cpp $(XX) $(CXXFLAGS) -c $< %.o:$(SIP_ROOT)/%.cpp $(XX) $(CXXFLAGS) -c $< clean: rm -f *.o $(TARGET) cleano: rm -f *.o