QUOTE (MaxiMuz @ Feb 14 2012, 19:05)

в ASRC путь к файлу не указывается и тем неменее сборка работает !..
Почему ?
Это потому, что Makefile находится в одном каталоге с указанными файлами. Переместите один из них в другой катало, и все, работать не будет.
Брать по умолчанию файлы из "известных" каталогов - это свойство операционной системы. Под "известными" каталогами я понимаю прежде всего
текущий, и те, которые заданы в переменной Path (см. свойства ОС). Не знаю, как Makefile работает с переменной Path, не экспеременритровал, но чтобы указать где находится файл, используется
путь к нему. Путь может задаватьсь разными способами. Например, представим такую структуру каталогов проекта
CODE
c:\proj
c:\proj\drv
c:\proj\drv\lcd
c:\proj\drv\keyb
c:\proj\lib
Пусть файл main.c находится в c:\proj. Пусть файл keyb.c (для обслуживания клавиатуры) находится соответственно в c:\proj\drv\lcd. Вы можете указать полное имя фала следующими образами относительно каталога c:\proj
CODE
c:\proj\drv\keyb\keyb.c
или
keyb\keyb.c
или
..\proj\drv\keyb\keyb.c
Последний вариант учебный, т.к. заставляет нас "выйти" из текущего каталога на уровень выше (диск C в данном случае), а затем снова в него "зайти". На самом деле никаких входов и выходов не будет.
Это так сказать база. Я пока выбрал для себя такой вариант указания пути к файлам проекта. Уважаемый
ReAl показал, как это автоматизировать. Предлагаю Вам сделать выбор. Ну и поэксперементировать с обращением к файлам. Не обязательно исходникам, можно потренироваться в консоле в ручную вызвать программу из какого-нибудь созданного каталога....
Успехов!
Выбор.