diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..4b45de6 --- /dev/null +++ b/Makefile @@ -0,0 +1,39 @@ +CC = gcc-15 +CFLAGS = -Wall -Wextra + +SERVER_BUILD = build/server +SERVER_TARGET = bin/server +SERVER_SRC = $(shell find server -name "*.c") +SERVER_OBJ = $(SERVER_SRC:server/%.c=$(SERVER_BUILD)/%.o) + + +CLIENT_BUILD = build/client +CLIENT_TARGET = bin/client +CLIENT_SRC = $(shell find client -name "*.c") +CLIENT_OBJ = $(CLIENT_SRC:client/%.c=$(CLIENT_BUILD)/%.o) + +all: $(SERVER_TARGET) $(CLIENT_TARGET) + +.PHONY: all clean server client + +server: $(SERVER_TARGET) +client: $(CLIENT_TARGET) + +$(SERVER_TARGET): $(SERVER_OBJ) + mkdir -p bin + $(CC) $(CFLAGS) $(SERVER_OBJ) -o $(SERVER_TARGET) + +$(CLIENT_TARGET): $(CLIENT_OBJ) + mkdir -p bin + $(CC) $(CFLAGS) $(CLIENT_OBJ) -o $(CLIENT_TARGET) + +$(SERVER_BUILD)/%.o: server/%.c + mkdir -p $(dir $@) + $(CC) $(CFLAGS) -c $< -o $@ + +$(CLIENT_BUILD)/%.o: client/%.c + mkdir -p $(dir $@) + $(CC) $(CFLAGS) -c $< -o $@ + +clean: + rm -rf build bin |