mirror of
https://github.com/mii443/libdatachannel.git
synced 2025-08-22 15:15:28 +00:00
69 lines
1.5 KiB
Makefile
69 lines
1.5 KiB
Makefile
# 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=glib-2.0 gobject-2.0 nice
|
|
USRSCTP_DIR=usrsctp
|
|
|
|
USE_GNUTLS ?= 0
|
|
ifeq ($(USE_GNUTLS), 1)
|
|
CPPFLAGS+= -DUSE_GNUTLS=1
|
|
LIBS+= gnutls
|
|
else
|
|
CPPFLAGS+= -DUSE_GNUTLS=0
|
|
LIBS+= openssl
|
|
endif
|
|
|
|
LDLIBS= $(shell pkg-config --libs $(LIBS))
|
|
INCLUDES=-Iinclude/rtc -I$(USRSCTP_DIR)/usrsctplib $(shell pkg-config --cflags $(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) -Iinclude -MMD -MP -o $@ -c $<
|
|
|
|
-include $(subst .cpp,.d,$(SRCS))
|
|
|
|
$(NAME).a: $(OBJS)
|
|
$(AR) crf $@ $(OBJS)
|
|
|
|
$(NAME).so: libusrsctp.a $(OBJS)
|
|
$(CXX) $(LDFLAGS) -shared -o $@ $(OBJS) $(LDLIBS) libusrsctp.a
|
|
|
|
tests: $(NAME).a test/main.o
|
|
$(CXX) $(LDFLAGS) -o $@ test/main.o $(LDLIBS) $(NAME).a libusrsctp.a
|
|
|
|
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 .
|
|
|