« Отговор #9 -: Dec 19, 2006, 16:55 »
Значи разбрах главната идея на make. Само че имам един проблем.
Хедърите на класовете се намират в /usr/local/project/includes, а самата имплементация на тези класове е в /usr/local/project/src. Броят на класовете е сравнително голям и освен това е изградена сложна йерархия на наследяване и затова ми е доста трудно да видя кои точно имплементации ми трябват и да компилирам само тях. Като тръгна да компилирам някоя програма, която използва класовете от /usr/local/project, добавям в makefile-a IPATHS=/usr/local/project/includes. Компилацията е успешна, но когато се пусне линкера и дава постоянно undefined reference към всяка функция, която е от тези класове. Та как мога да го накарам да види на кой хедър, коя имплементация съответства. Нещо подобно на qmake при Qt. qmake автоматично сканира указаните директории и намира на всеки хедър имплементацията и по този начин много лесно се разбива един клас на 2 файла - декларация и дефиниция.