но только если перейти в каталог, где лежит .с файл.
То есть директива -I../include работает относительно каталога, в котором запущен компилятор.
Прочитал в какой-то ссылке, что есть способ чтобы пути вычислялись относительно каталога исходного файла test.c - но не могу найти как это сделать. Есть такая возможность или нет?
В первом случае собирается независимо от того, где запускаешь эту строчку - потому что пути абсолютные. Во втором - только если запускать и каталога, где лежит исходник.
В первом сообщении это указано.
Сложно понять чего хотелось бы. Выделенное, разве не это? Запускаешь компилятор из папки с исходником и всё. Если хочется с любого места, тогда полные пути где то нужно указать.
Относительно чего? Если только относительно корня.)
Makefile тоже должен находиться с исходником (или где-то рядом),
Примеры покажи откуда планируешь запускать компиляцию.