Makefile 1.42 KB
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