нет, если писать COMPILE = /usr/bin/gcc то прокатывает.
Если в начале задается PATH, а потом COMPILE=/usr/bin/gcc , то прокатывает только вызов gcc.
Сам gcc пытается запустить as, но не находит его и объектного файла не создает.
Про PATH понял, это такой же PATH как и в винде.
1. Отличие в том, что в Linuxе в пути не может быть точки (текущей директории).
Точнее, ее можно туда руками добавить, но это неправильно, у меня bash в ответ на каждую команду ругался, мол, у вас там точка в пути.
Если пути не указано, исполняемые файлы ищутся только в директориях, перечисленных в PATH. Чтобы запустить файл из текущей надо писать ./a.out
2. PATH - это только для исполняемых файлов.
Динамические библиотеки, в отличие от винды, ищутся в путях, указанных в /etc/ld.so.conf и в переменной LD_LIBRARY_PATH
Подробности в man ld.so