Это задача из курса: "Многопоточное программирование на C/C++" (stepik.org)
Универсальный Makefile с разделением файлов проекта по подкаталогам