Прежде всего, обратите внимание, что префикс по умолчанию, если он не указан явно, чаще всего /usr /local. Таким образом, перезапись установки в /usr может даже не быть проблемой в вашем случае, хотя это, безусловно, может привести к путанице в будущем, когда один GCC находится в /usr, а другой - в /usr /local.
Хотя я не уверен, работает ли он конкретно с gcc-4.9.1 (хотя я не вижу особой причины для этого), autoconf (который генерирует скрипт configure
) предоставляет средства для переопределения префикса во время установки.
Цитируем документацию по autoconf, раздел "имена установок":
Самый переносимый способ повлиять на места установки - передать правильные места для настройки; однако многие пакеты предоставляют один или оба из следующих ярлыков для передачи назначений переменных в командную строку «make install» для изменения мест установки без необходимости перенастраивать или перекомпилировать.
Первый метод предусматривает предоставление переменной переопределения для каждого затронутого каталога. Например, 'make install prefix =/path/to/alternate' выберет альтернативное расположение, а также повлияет на все остальные переменные конфигурации каталога, которые были выражены в терминах '$ {prefix}' (или, другими словами, все каталоги, указанные во время конфигурирования, но не в терминах общего префикса, должны быть переопределены во время установки для перемещения всей установки). Подход переопределений переменных makefile для каждой переменной каталога требуется стандартами кодирования GNU и в идеале не вызывает перекомпиляции. Однако некоторые платформы имеют известные ограничения в семантике разделяемых библиотек, которые требуют перекомпиляции при использовании этого метода, особенно это заметно в пакетах, использующих GNU Libtool.
Второй метод предусматривает предоставление переменной 'DESTDIR'. Например, 'make install DESTDIR =/path/to/alternate' будет предшествовать '/path/to/alternate' перед всеми путями установки. Подход переопределений «DESTDIR» не требуется стандартами кодирования GNU и не работает на платформах с буквами дисков. С другой стороны, он лучше избегает проблем с перекомпиляцией и работает хорошо, даже когда некоторые параметры каталога не были указаны в терминах «$ {prefix}» во время настройки. Для пакетов, которые поддерживают 'DESTDIR', переменная должна оставаться неопределенной во время конфигурации и 'make all' и указываться только во время 'make install'.
Так что make install DESTDIR=/opt/gcc-4.8.2
должна делать то, что вам нужно. Возможно, после этого вам может понадобиться немного переместить файлы в зависимости от желаемой структуры каталогов, но для начала этого должно быть достаточно.
Обратите внимание, что я не проверял это; Вы управляете этим на свой страх и риск.