CC := gcc CFLAGS := -Wall BIN := bin/ LIBS := -lpthread SSOURCES := server.c SOBJECTS = $(addprefix $(BIN), $(SSOURCES:.c=.o)) SERVERNAME := otpserver SERVERNAME := $(addprefix $(BIN), $(SERVERNAME)) CSOURCES := client.c COBJECTS = $(addprefix $(BIN), $(CSOURCES:.c=.o)) CLIENTNAME := otpclient 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)