| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- # libdatachannel
- NAME=libdatachannel
- CXX=$(CROSS)g++
- AR=$(CROSS)ar
- RM=rm -f
- CPPFLAGS=-O2 -pthread -fPIC -Wall -Wno-address-of-packed-member
- CXXFLAGS=-std=c++17
- LDFLAGS=-pthread
- LIBS=
- LOCALLIBS=libusrsctp.a
- USRSCTP_DIR=deps/usrsctp
- JUICE_DIR=deps/libjuice
- PLOG_DIR=deps/plog
- INCLUDES=-Iinclude/rtc -I$(PLOG_DIR)/include -I$(USRSCTP_DIR)/usrsctplib
- LDLIBS=
- USE_GNUTLS ?= 0
- ifneq ($(USE_GNUTLS), 0)
- CPPFLAGS+=-DUSE_GNUTLS=1
- LIBS+=gnutls
- else
- CPPFLAGS+=-DUSE_GNUTLS=0
- LIBS+=openssl
- endif
- USE_JUICE ?= 0
- ifneq ($(USE_JUICE), 0)
- CPPFLAGS+=-DUSE_JUICE=1
- INCLUDES+=-I$(JUICE_DIR)/include
- LOCALLIBS+=libjuice.a
- LIBS+=nettle
- else
- CPPFLAGS+=-DUSE_JUICE=0
- LIBS+=glib-2.0 gobject-2.0 nice
- endif
- INCLUDES+=$(shell pkg-config --cflags $(LIBS))
- LDLIBS+=$(LOCALLIBS) $(shell pkg-config --libs $(LIBS))
- SRCS=$(shell printf "%s " src/*.cpp)
- OBJS=$(subst .cpp,.o,$(SRCS))
- all: $(NAME).a $(NAME).so tests
- src/%.o: src/%.cpp
- $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(INCLUDES) -MMD -MP -o $@ -c $<
- test/%.o: test/%.cpp
- $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(INCLUDES) -MMD -MP -o $@ -c $<
- -include $(subst .cpp,.d,$(SRCS))
- $(NAME).a: $(OBJS)
- $(AR) crf $@ $(OBJS)
- $(NAME).so: $(LOCALLIBS) $(OBJS)
- $(CXX) $(LDFLAGS) -shared -o $@ $(OBJS) $(LDLIBS)
- tests: $(NAME).a test/main.o
- $(CXX) $(LDFLAGS) -o $@ test/main.o $(NAME).a $(LDLIBS)
- clean:
- -$(RM) include/rtc/*.d *.d
- -$(RM) src/*.o src/*.d
- -$(RM) test/*.o test/*.d
- dist-clean: clean
- -$(RM) $(NAME).a
- -$(RM) $(NAME).so
- -$(RM) libusrsctp.a
- -$(RM) tests
- -$(RM) include/*~
- -$(RM) src/*~
- -$(RM) test/*~
- -cd $(USRSCTP_DIR) && make clean
- libusrsctp.a:
- cd $(USRSCTP_DIR) && \
- ./bootstrap && \
- ./configure --enable-static --disable-debug CFLAGS="$(CPPFLAGS)" && \
- make
- cp $(USRSCTP_DIR)/usrsctplib/.libs/libusrsctp.a .
- libjuice.a:
- cd $(JUICE_DIR) && make
- cp $(JUICE_DIR)/libjuice.a .
|