mirror of
https://github.com/thearcanum/WIFSS
synced 2025-06-22 16:00:15 +02:00

--> WIFSS architecture was not fitting at all with what we expected from it, let's just improve the first chat solution
56 lines
1.2 KiB
Makefile
Executable File
56 lines
1.2 KiB
Makefile
Executable File
# Horloge's Makefile for: WIFSS
|
|
|
|
CC=gcc
|
|
CFLAGS=-D _XOPEN_SOURCE=200809L -std=c99 -O3 -pthread -Wall -Wextra -Wpedantic -Wshadow -Wno-missing-field-initializers -Wstrict-overflow
|
|
LDFLAGS=-pthread
|
|
EXEC=WClient WServer
|
|
|
|
|
|
# By default, build both Client and Server
|
|
all: $(EXEC)
|
|
|
|
|
|
# Client
|
|
WClient: ccommands.o ccore.o cclient.o
|
|
$(MAKE) str.o
|
|
$(CC) -o $@ $^ str.o $(LDFLAGS)
|
|
$(MAKE) clean
|
|
|
|
ccommands.o: client/commands/*
|
|
$(CC) -o $@ -c client/commands/commands.c $(CFLAGS)
|
|
ccore.o: client/core/*
|
|
$(CC) -o $@ -c client/core/core.c $(CFLAGS)
|
|
cclient.o: client/core/*
|
|
$(CC) -o $@ -c client/core/client.c $(CFLAGS)
|
|
|
|
|
|
# Server
|
|
WServer: scommands.o score.o sserver.o sprotocols.o
|
|
$(MAKE) str.o
|
|
$(CC) -o $@ $^ str.o $(LDFLAGS)
|
|
$(MAKE) clean
|
|
|
|
scommands.o: server/commands/*
|
|
$(CC) -o $@ -c server/commands/commands.c $(CFLAGS)
|
|
score.o: server/core/*
|
|
$(CC) -o $@ -c server/core/core.c $(CFLAGS)
|
|
sserver.o: server/core/*
|
|
$(CC) -o $@ -c server/core/server.c $(CFLAGS)
|
|
sprotocols.o: server/protocols/*
|
|
$(CC) -o $@ -c server/protocols/protocols.c $(CFLAGS)
|
|
|
|
|
|
# Common string functions
|
|
str.o: commons/str/*
|
|
$(CC) -o $@ -c commons/str/str.c $(CFLAGS)
|
|
|
|
|
|
.SILENT:
|
|
.PHONY: clean mrproper
|
|
|
|
clean:
|
|
@rm -f *.o
|
|
|
|
mrproper: clean
|
|
@rm -f $(EXEC)
|