# retoor <retoor@molodetz.nl>

CC = gcc
CFLAGS = -Wall -Wextra -O2
CFLAGS_DEBUG = -Wall -Wextra -g -O0
LDFLAGS = -lssl -lcrypto -lm

TARGET = abr
TEST_URL = https://example.com/
PYTHON = python3

all: $(TARGET)

$(TARGET): main.o
	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)

main.o: main.c
	$(CC) $(CFLAGS) -c main.c

debug: clean
	$(CC) $(CFLAGS_DEBUG) -o $(TARGET) main.c $(LDFLAGS)

valgrind: debug
	valgrind --leak-check=full --show-leak-kinds=definite,indirect,possible --errors-for-leak-kinds=definite,indirect,possible --error-exitcode=1 ./$(TARGET) -n 5 -c 2 -i $(TEST_URL)

clean:
	rm -f $(TARGET) main.o

py-install:
	$(PYTHON) -m pip install -r requirements.txt

py-run:
	$(PYTHON) abr.py -n 5 -c 2 -i $(TEST_URL)

py-test:
	$(PYTHON) abr.py -n 10 -c 5 -i $(TEST_URL)

.PHONY: all clean debug valgrind py-install py-run py-test
