57 lines
1.2 KiB
Makefile
57 lines
1.2 KiB
Makefile
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)
|