# pq-ftp/client/Makefile
CXX=g++
CXXFLAGS=-std=c++17 -Wall
# You must have liboqs installed locally for this to work
# sudo ninja install from the liboqs build directory
LDFLAGS=-loqs -lz -lcrypto

SRC_DIR=src
BUILD_DIR=build
BIN_DIR=bin
TARGET=$(BIN_DIR)/client

SRCS=$(wildcard $(SRC_DIR)/*.cpp)
OBJS=$(patsubst $(SRC_DIR)/%.cpp, $(BUILD_DIR)/%.o, $(SRCS))

all: $(TARGET)

$(TARGET): $(OBJS)
	@mkdir -p $(BIN_DIR)
	$(CXX) $(OBJS) -o $(TARGET) $(LDFLAGS)
	@echo "Client compiled successfully!"

$(BUILD_DIR)/%.o: $(SRC_DIR)/%.cpp
	@mkdir -p $(BUILD_DIR)
	$(CXX) $(CXXFLAGS) -c $< -o $@

clean:
	rm -rf $(BUILD_DIR) $(BIN_DIR)
