История изменений
Исправление Shushundr, (текущая версия) :
Как configure передаёт $(prefix) в Makefile?
Хорошо было бы, чтобы где-нибудь в интернете просто лежал пример с ответом на вопрос именно с таким текстом. А сейчас есть только общие слова, что configure берёт файл Makefile.in и заменяет там все вхождения имён переменных вида @VARIABLE@
на значения этих переменных.
Т.е. в Makefile.in хочется вписать что-то вроде
prefix=@prefix@
А пример не ищется.
То, как запускается ./configure командой
./configure --prefix=/usr
написано на каждому углу
но это и понятно, читателей больше, чем писателей.
«А искал ли ты на самом деле, или только написал о необходимости этого действия, а искать не стал?» - спросите вы меня.
Ну вот, что я нашел:
https://stackoverflow.com/questions/909151/how-do-i-pass-through-program-prefix-prefix-from-configure-to-one-of-the-child
Похоже? Похоже. Но примера в таком виде, как я хочу, там нет.
А ты возьми и просто попробуй, скажете вы.
Это, блин, долго. И психологически сложно. Одно дело - взять и сделать по учебнику, а другое сидеть и пробовать варианты из-за того, что документация - говно, а туториалов нет.
Вот в документации написано:
prefix
A prefix used in constructing the default values of the variables listed below. The default value of prefix should be /usr/local. When building the complete GNU system, the prefix will be empty and /usr will be a symbolic link to /. (If you are using Autoconf, write it as ‘@prefix@
’.)
Running ‘make install’ with a different value of prefix from the one used to build the program should not recompile the program.
В генте последняя строчка очевидно нарушается. Потому что в ней EPREFIX засовывается в src_configure, и просто так выполнить src_install через emerge, а не ebuild нельзя.
Как задаётся значение по-умолчанию тоже непонятно (где-то в configure.ac?). Почему-то писать понятным образом авторы документации не умеют.
Исходная версия Shushundr, :
Как configure передаёт $(prefix) в Makefile?
Хорошо было бы, чтобы где-нибудь в интернете просто лежал пример с ответом на вопрос именно с таким текстом. А сейчас есть только общие слова, что configure берёт файл Makefile.in и заменяет там все вхождения имён переменных вида @VARIABLE@
на значения этих переменных.
Т.е. в Makefile.in хочется вписать что-то вроде
prefix=@prefix@
А пример не ищется.
То, как запускается ./configure командой
./configure --prefix=/usr
написано на каждому углу
но это и понятно, читателей больше, чем писателей.
«А искал ли ты на самом деле, или только написал о необходимости этого действия, а искать не стал?» - спросите вы меня.
Ну вот, что я нашел:
https://stackoverflow.com/questions/909151/how-do-i-pass-through-program-prefix-prefix-from-configure-to-one-of-the-child
Похоже? Похоже. Но примера в таком виде, как я хочу, там нет.
А ты возьми и просто попробуй, скажете вы.
Это, блин, долго. И психологически сложно. Одно дело - взять и сделать по учебнику, а другое сидеть и пробовать варианты из-за того, что документация - говно, а туториалов нет.
Вот в документации написано:
prefix
A prefix used in constructing the default values of the variables listed below. The default value of prefix should be /usr/local. When building the complete GNU system, the prefix will be empty and /usr will be a symbolic link to /. (If you are using Autoconf, write it as ‘@prefix@
’.)
Running ‘make install’ with a different value of prefix from the one used to build the program should not recompile the program.
В генте последняя строчка очевидно нарушается. Потому что в ней EPREFIX засовывается в src_configure, и просто так выполнить src_install через emerge, а не ebuild нельзя.
Как задаётся значение по-умолчанию тоже непонятно (где-то в configure.ac?). Почему-то писать понятным образом авторы документации не умеют.