Files
progettoso/Makefile

63 lines
1.8 KiB
Makefile
Raw Normal View History

2022-04-04 22:31:14 +02:00
CC = gcc
CFLAGS += -std=c99 -Wall -Werror -pedantic -g
INCDIR = ./lib/utils ./lib/ini ./lib/threadpool ./src ./lib/log
INCLUDES := $(patsubst %,-I %,$(INCDIR))
2022-03-11 12:03:59 +01:00
LDFLAGS = -L .
OPTFLAGS = #-O3
LIBS = -lpthread
SOCKET = ./cs_sock
BUILD_DIR = ./build
SRC_DIR = ./src
2022-04-04 22:31:14 +02:00
LIB_DIR = ./lib
2022-03-11 12:03:59 +01:00
OBJ_DIR = ./obj
2022-04-04 22:31:14 +02:00
OBJ_SRC := $(addprefix $(OBJ_DIR)/,$(patsubst %.c,%.o,$(notdir $(wildcard $(SRC_DIR)/*.c))))
OBJ_LIBS := $(addprefix $(OBJ_DIR)/,$(patsubst %.c,%.o,$(notdir $(wildcard $(LIB_DIR)/*/*.c))))
OBJ_SERVER := $(OBJ_SRC) $(OBJ_LIBS)
2022-03-11 12:03:59 +01:00
2022-04-04 22:31:14 +02:00
VPATH := $(SRC_DIR) $(wildcard $(LIB_DIR)/*)
.DEFAULT_GOAL := all
2022-03-11 12:03:59 +01:00
.PHONY: all clean cleanall
2022-04-04 22:31:14 +02:00
all: $(BUILD_DIR)/server
@echo "done!"
2022-03-11 12:03:59 +01:00
$(OBJ_DIR)/fileQueue.o: fileQueue.c fileQueue.h conn.h fileQueue.h util.h
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@
2022-04-04 22:31:14 +02:00
$(OBJ_DIR)/apiFile.o: apiFile.c apiFile.h fileQueue.h taglialegna.h conn.h
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@
2022-04-04 22:31:14 +02:00
$(OBJ_DIR)/taglialegna.o: taglialegna.c taglialegna.h fileQueue.h
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@
2022-04-04 22:31:14 +02:00
$(OBJ_DIR)/threadpool.o: threadpool.c util.h threadpool.h
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@
2022-03-11 12:03:59 +01:00
$(OBJ_DIR)/ini.o: ini.c ini.h
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@
2022-04-04 22:31:14 +02:00
$(OBJ_DIR)/serverWorker.o: serverWorker.c serverWorker.h apiFile.h fileQueue.h taglialegna.h threadpool.h conn.h message.h
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@
2022-04-04 22:31:14 +02:00
$(OBJ_DIR)/server.o: server.c threadpool.h conn.h util.h serverWorker.h ini.h serverUtil.h fileQueue.h taglialegna.h
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@
2022-04-04 22:31:14 +02:00
$(BUILD_DIR)/server: $(OBJ_SERVER)
$(CC) $(CFLAGS) $(LIBS) $(OBJ_SERVER) -o $(BUILD_DIR)/server
2022-03-11 12:03:59 +01:00
clean :
@rm -rf $(BUILD_DIR)/* logs/*.log
cleanall : clean
@rm -rf $(OBJ_DIR)/*
@rm -f $(SOCKET)