CC = gcc CFLAGS = -Wall -Wextra -O2 -g `pkg-config --cflags jack` LDFLAGS = `pkg-config --libs jack` TARGET = jack-looper SRCS = main.c engine.c OBJS = $(SRCS:.c=.o) TEST_SRCS = test_engine.c TEST_OBJS = $(TEST_SRCS:.c=.o) TEST_TARGET = test_engine .PHONY: all clean test all: $(TARGET) $(TARGET): $(OBJS) $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) %.o: %.c $(CC) $(CFLAGS) -c -o $@ $< test: $(TEST_TARGET) ./$(TEST_TARGET) $(TEST_TARGET): $(TEST_OBJS) engine.o $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) clean: rm -f $(OBJS) $(TEST_OBJS) $(TARGET) $(TEST_TARGET)