summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile21
1 files changed, 13 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index a14dbf8..65ffe9d 100644
--- a/Makefile
+++ b/Makefile
@@ -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 $@)