ARCH ?= x86_64-pc-linux-gnu-
#CXX := $(ARCH)g++
CXX := zig c++ -target x86_64-linux-gnu.2.35

CXXFLAGS += -std=c++23 -Wall -O0 -Isrc -isystem /usr/include
LDFLAGS :=
LDLIBS += -L /usr/lib -lsodium -lpthread
#LDLIBS += -lsodium -lpthread
 
SRCS := src/main.cpp src/core/Configuration.cpp src/core/cryptography.cpp src/core/serverState.cpp src/network/listener.cpp src/network/client/client.cpp src/network/federation/federation.cpp
OBJS := $(SRCS:.cpp=.o)
TARGET := myappfuck

all: $(TARGET)

$(TARGET): $(OBJS)
	$(CXX) $(LDFLAGS) -o $@ $^ $(LDLIBS)

%.o: %.cpp
	$(CXX) $(CXXFLAGS) -c $< -o $@

clean:
	rm -f $(OBJS) $(TARGET)
