You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.2 KiB
41 lines
1.2 KiB
OS := $(shell uname)
|
|
|
|
SOURCE_DIR = ../src
|
|
BUILD_DIR = $(CURDIR)/build
|
|
LIB_DIR = $(BUILD_DIR)/debug
|
|
INCLUDE_DIR = ../include
|
|
|
|
INCS = -I$(INCLUDE_DIR)
|
|
CFLAGS = -I. -Wall -Werror -pedantic -fsanitize=address -g
|
|
|
|
ifeq ($(OS), Darwin)
|
|
CFLAGS += -framework Security
|
|
endif
|
|
|
|
LIBCRYPTO_DIR = $(dir $(shell find ${BUILD_DIR} -name libcrypto.a))
|
|
LIBSSL_DIR = $(dir $(shell find ${BUILD_DIR} -name libssl.a))
|
|
|
|
LDFLAGS = -L$(LIBCRYPTO_DIR) -L$(LIBSSL_DIR) -L$(LIB_DIR)
|
|
|
|
LIBS = $(LIB_DIR)/libquiche.a -lev -ldl -pthread
|
|
|
|
all: client server http3-client http3-server
|
|
|
|
client: client.c $(INCLUDE_DIR)/quiche.h $(LIB_DIR)/libquiche.a
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(INCS) $(LIBS)
|
|
|
|
server: server.c $(INCLUDE_DIR)/quiche.h $(LIB_DIR)/libquiche.a
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(INCS) $(LIBS)
|
|
|
|
http3-client: http3-client.c $(INCLUDE_DIR)/quiche.h $(LIB_DIR)/libquiche.a
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(INCS) $(LIBS)
|
|
|
|
http3-server: http3-server.c $(INCLUDE_DIR)/quiche.h $(LIB_DIR)/libquiche.a
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(INCS) $(LIBS)
|
|
|
|
$(LIB_DIR)/libquiche.a: $(shell find $(SOURCE_DIR) -type f -name '*.rs')
|
|
cd .. && cargo build --target-dir $(BUILD_DIR)
|
|
|
|
clean:
|
|
@$(RM) -rf client server http3-client http3-server build/
|