CC := gcc
CFLAGS := -Wall
BIN := bin/
LIBS := -lpthread

SSOURCES := server.c
SOBJECTS = $(addprefix $(BIN), $(SSOURCES:.c=.o))

SERVERNAME := server
SERVERNAME := $(addprefix $(BIN), $(SERVERNAME))

CSOURCES := client.c
COBJECTS = $(addprefix $(BIN), $(CSOURCES:.c=.o))

CLIENTNAME := client
CLIENTNAME := $(addprefix $(BIN), $(CLIENTNAME))


.PHONY: all
all: $(SERVERNAME) $(CLIENTNAME)

$(SERVERNAME): $(SOBJECTS)
	$(CC) $(CFLAGS) $(SOBJECTS) -o $(SERVERNAME) $(LIBS)

$(CLIENTNAME): $(COBJECTS)
	$(CC) $(CFLAGS) $(COBJECTS) -o $(CLIENTNAME) $(LIBS)

$(BIN)%.o: %.c | $(BIN)
	$(CC) $(CFLAGS) -c $< -o $@

$(BIN):
	@mkdir -p $(BIN)

.PHONY: clean
clean:
	@rm -rf $(BIN)
