CC = gcc CFLAGS = -std=c99 -Werror -Wall -Wextra -Wvla -pedantic LDFLAGS = LDLIBS = CFLAGS_DBG = -g ASAN_DBG_FLAGS = -fsanitize=address UTILS_SRCS = src/utils/string/string.c \ src/utils/time/fmt_time.c \ src/utils/parsing/words.c \ src/utils/parsing/blanks.c \ src/utils/files/files.c MODULES_SRCS = src/config/config.c \ src/server/server.c \ src/http/http.c \ src/http/headers.c \ src/logger/logs.c \ src/logger/errors.c \ src/daemon/daemon.c SRCS = $(UTILS_SRCS) \ $(MODULES_SRCS) \ src/main.c UTILS_OBJS = ${UTILS_SRCS:.c=.o} MODULES_OBJS = ${MODULES_SRCS:.c=.o} OBJS = ${SRCS:.c=.o} TARGET=httpd $(TARGET): $(OBJS) $(CC) -o $@ $(OBJS) $(LDFLAGS) $(LDLIBS) check: $(TARGET) cp $(TARGET) tests/$(TARGET) cd tests python3 -m venv env env/bin/python -m pip install requests env/bin/python -m pip install pytest env/bin/python -m pip install pytest-timeout - env/bin/pytest debug: CFLAGS += $(CFLAGS_DBG) debug: $(OBJS) $(CC) -o $(TARGET) $(OBJS) $(LDFLAGS) $(LDLIBS) asan: CFLAGS += $(CFLAGS_DBG) asan: LDFLAGS += $(ASAN_DBG_FLAGS) asan: $(OBJS) $(CC) -o $(TARGET) $(OBJS) $(LDFLAGS) $(LDLIBS) clean: - pkill -9 $(TARGET) $(RM) tests/$(TARGET) tests/out.log $(RM) $(TARGET) $(RM) $(OBJS)