chore: add initial project scaffolding with CI, build system, and core source files
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
CC = gcc
|
||||
CFLAGS = -std=c11 -Wall -Wextra -O2
|
||||
LDFLAGS = -lpthread
|
||||
|
||||
TARGET = example
|
||||
LOADTEST = loadtest
|
||||
SOURCES = celerityapi.c example.c
|
||||
HEADERS = celerityapi.h
|
||||
|
||||
.PHONY: all clean run debug test
|
||||
|
||||
all: $(TARGET) $(LOADTEST)
|
||||
|
||||
$(TARGET): $(SOURCES) $(HEADERS)
|
||||
$(CC) $(CFLAGS) -o $(TARGET) $(SOURCES) $(LDFLAGS)
|
||||
|
||||
$(LOADTEST): loadtest.c
|
||||
$(CC) $(CFLAGS) -o $(LOADTEST) loadtest.c $(LDFLAGS) -lm
|
||||
|
||||
debug: CFLAGS += -g -DDEBUG
|
||||
debug: clean all
|
||||
|
||||
clean:
|
||||
rm -f $(TARGET) $(LOADTEST)
|
||||
|
||||
run: $(TARGET)
|
||||
./$(TARGET)
|
||||
|
||||
test: $(TARGET) $(LOADTEST)
|
||||
@echo "Starting server..."
|
||||
@./$(TARGET) --port 9000 &
|
||||
@sleep 2
|
||||
@echo "Running load test..."
|
||||
@./$(LOADTEST) -c 50 -d 5 http://127.0.0.1:9000/health
|
||||
@pkill -f "./$(TARGET) --port 9000" || true
|
||||
|
||||
valgrind: debug
|
||||
valgrind --leak-check=full --show-leak-kinds=all ./$(TARGET)
|
||||
Reference in New Issue
Block a user