37 lines
1.0 KiB
Makefile
37 lines
1.0 KiB
Makefile
CC ?= gcc
|
|
CFLAGS ?= -Wall -Wextra -g -Isrc
|
|
LDFLAGS ?= -ljack -lm -lsndfile -lpthread
|
|
|
|
SRC = src/main.c src/looper.c src/channel.c src/midi.c src/queue.c src/pipe.c src/ringbuffer.c src/wav.c
|
|
OBJ = $(SRC:.c=.o)
|
|
|
|
looper: $(OBJ)
|
|
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
|
|
|
|
src/%.o: src/%.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
integration: looper tests/integration.c
|
|
$(CC) $(CFLAGS) -o integration_test tests/integration.c -ljack -lm -lsndfile -lpthread
|
|
|
|
test_status_fifo: looper tests/test_status_fifo.c
|
|
$(CC) $(CFLAGS) -o test_status_fifo tests/test_status_fifo.c -ljack -lm -lsndfile -lpthread
|
|
|
|
test: integration test_status_fifo
|
|
./test_status_fifo
|
|
./integration_test
|
|
|
|
.PHONY: clean integration test_status_fifo test
|
|
clean:
|
|
rm -f looper integration_test test_status_fifo src/*.o
|
|
|
|
check:
|
|
cppcheck --enable=all --error-exitcode=1 --suppress=missingIncludeSystem --suppress=normalCheckLevelMaxBranches src/*.c --library=posix
|
|
|
|
# Optional: Format code using clang-format
|
|
format:
|
|
clang-format -i src/*.c
|
|
|
|
install-hooks:
|
|
git config core.hooksPath .githooks
|