Makefile - простейший:
LIB = libUtils.a
.PHONY: all
all: $(LIB)
OBJECTS = Logger.o \
Thread.o \
CFLAGS = -g -Wall -Wextra -pthread
INCLUDES := -I$(CURDIR)/../posix_include
$(LIB): $(OBJECTS) Makefile
ar rcs $(LIB) $(OBJECTS)
ranlib $(LIB)
%.o: %.cpp *.h Makefile
g++ $(CFLAGS) $(INCLUDES) -I. -o $@ -c $<
с временем модификации всех файлов все отлично, но все обьектиники пересоздаются на каждом запуске make