diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 21 |
1 files changed, 13 insertions, 8 deletions
@@ -1,5 +1,6 @@ CC = gcc-15 -CFLAGS = -Wall -Wextra +CFLAGS = -MMD -MP -Wall -Wextra -pthread +LDFLAGS = -pthread SERVER_BUILD = build/server SERVER_TARGET = bin/server @@ -11,22 +12,26 @@ CLIENT_TARGET = bin/client CLIENT_SRC = $(shell find client -name "*.c") CLIENT_OBJ = $(CLIENT_SRC:client/%.c=$(CLIENT_BUILD)/%.o) CLIENT_CFLAGS = $(CFLAGS) $(shell pkg-config --cflags raylib) -CLIENT_LDFLAGS = $(shell pkg-config --libs raylib) +CLIENT_LDFLAGS = $(LDFLAGS) $(shell pkg-config --libs raylib) -all: $(SERVER_TARGET) $(CLIENT_TARGET) +-include $(SERVER_OBJ:.o=.d) +-include $(CLIENT_OBJ:.o=.d) .PHONY: all clean server client +all: $(SERVER_TARGET) $(CLIENT_TARGET) + server: $(SERVER_TARGET) client: $(CLIENT_TARGET) -$(SERVER_TARGET): $(SERVER_OBJ) +bin: mkdir -p bin - $(CC) $(CFLAGS) $(SERVER_OBJ) -o $(SERVER_TARGET) -$(CLIENT_TARGET): $(CLIENT_OBJ) - mkdir -p bin - $(CC) $(CLIENT_CFLAGS) $(CLIENT_OBJ) $(CLIENT_LDFLAGS) -o $(CLIENT_TARGET) +$(SERVER_TARGET): $(SERVER_OBJ) | bin + $(CC) $(LDFLAGS) $(SERVER_OBJ) -o $(SERVER_TARGET) + +$(CLIENT_TARGET): $(CLIENT_OBJ) | bin + $(CC) $(CLIENT_LDFLAGS) $(CLIENT_OBJ) -o $(CLIENT_TARGET) $(SERVER_BUILD)/%.o: server/%.c mkdir -p $(dir $@) |