CC = g++
CXXFLAGS = -std=c++17 -O2 -Wall -pthread
SRCDIR = src
BINDIR = bin
TARGETS = $(BINDIR)/device_backend $(BINDIR)/console_client
SRC_BACKEND = $(SRCDIR)/server.cpp
SRC_CLIENT = console_client.cpp

all: $(TARGETS)

$(BINDIR):
	mkdir -p $(BINDIR)

$(BINDIR)/device_backend: $(SRC_BACKEND) | $(BINDIR)
	$(CC) $(CXXFLAGS) -o $(BINDIR)/device_backend $(SRC_BACKEND)

$(BINDIR)/console_client: $(SRC_CLIENT) | $(BINDIR)
	$(CC) $(CXXFLAGS) -o $(BINDIR)/console_client $(SRC_CLIENT)

clean:
	rm -f $(TARGETS) backend.log

.PHONY: all clean
