Fixed makefile

This commit is contained in:
elvis
2022-04-04 22:31:14 +02:00
parent a7b28994b6
commit 044b0f527a
7 changed files with 107 additions and 82 deletions

View File

@ -1,9 +1,9 @@
CC = gcc
AR = ar
CFLAGS += -std=c99 -Wall -Werror -pedantic -g
ARFLAGS = rvs
INCDIR = ./lib/utils -I ./lib/ini -I ./lib/threadpool -I ./src
INCLUDES = -I . -I $(INCDIR)
CC = gcc
AR = ar
CFLAGS += -std=c99 -Wall -Werror -pedantic -g
ARFLAGS = rvs
INCDIR = ./lib/utils ./lib/ini ./lib/threadpool ./src ./lib/log
INCLUDES := $(patsubst %,-I %,$(INCDIR))
LDFLAGS = -L .
OPTFLAGS = #-O3
LIBS = -lpthread
@ -11,39 +11,51 @@ SOCKET = ./cs_sock
BUILD_DIR = ./build
SRC_DIR = ./src
LIB_DIR = ./lib
OBJ_DIR = ./obj
OBJ_SERVER = obj/threadpool.o obj/ini.o obj/serverWorker.o obj/server.o
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)
.DEFAULT_GOAL = server
VPATH := $(SRC_DIR) $(wildcard $(LIB_DIR)/*)
.DEFAULT_GOAL := all
# aggiungere qui altri targets
TARGETS = server
.PHONY: all clean cleanall
.SUFFIXES: .c .h
obj/threadpool.o: lib/threadpool/threadpool.c
$(CC) $(CFLAGS) $(INCLUDES) -c lib/threadpool/threadpool.c
@mv threadpool.o $(OBJ_DIR)/threadpool.o
obj/ini.o: lib/ini/ini.c
$(CC) $(CFLAGS) $(INCLUDES) -c lib/ini/ini.c
@mv ini.o $(OBJ_DIR)/ini.o
all: $(BUILD_DIR)/server
@echo "done!"
obj/serverWorker.o: src/serverWorker.c
$(CC) $(CFLAGS) $(INCLUDES) -c src/serverWorker.c
@mv serverWorker.o $(OBJ_DIR)/serverWorker.o
obj/server.o: src/server.c
$(CC) $(CFLAGS) $(INCLUDES) -c src/server.c
@mv server.o $(OBJ_DIR)/server.o
server: $(OBJ_SERVER)
$(OBJ_DIR)/fileQueue.o: fileQueue.c
$(CC) $(CFLAGS) $(INCLUDES) -c $^ -o $@
$(OBJ_DIR)/apiFile.o: apiFile.c
$(CC) $(CFLAGS) $(INCLUDES) -c $^ -o $@
$(OBJ_DIR)/taglialegna.o: taglialegna.c
$(CC) $(CFLAGS) $(INCLUDES) -c $^ -o $@
$(OBJ_DIR)/threadpool.o: threadpool.c
$(CC) $(CFLAGS) $(INCLUDES) -c $^ -o $@
$(OBJ_DIR)/ini.o: ini.c
$(CC) $(CFLAGS) $(INCLUDES) -c $^ -o $@
$(OBJ_DIR)/serverWorker.o: serverWorker.c
$(CC) $(CFLAGS) $(INCLUDES) -c $^ -o $@
$(OBJ_DIR)/server.o: server.c
$(CC) $(CFLAGS) $(INCLUDES) -c $^ -o $@
$(BUILD_DIR)/server: $(OBJ_SERVER)
$(CC) $(CFLAGS) $(LIBS) $(OBJ_SERVER) -o $(BUILD_DIR)/server
clean :
@rm -rf $(BUILD_DIR)/* logs/*.log