41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
| 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) --features ffi
 | |
| 
 | |
| clean:
 | |
| 	@$(RM) -rf client server http3-client http3-server build/ *.dSYM/
 |