< SpecTips(Различия между версиями)
|
|
Строка 1: |
Строка 1: |
- | [[Category:Devel]] | + | #REDIRECT [[Spec#.25install]] |
- | {{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/SpecTips/makeinstall}}
| + | |
- | | + | |
- | == %make_install и %makeinstall ==
| + | |
- | %make_install используется для установки пакета наиболее простым способом. Чаще всего используется запись
| + | |
- | <pre>%make_install DESTDIR=%buildroot install</pre>
| + | |
- | , обобщаемая до
| + | |
- | <pre>%make_install DESTDIR=%buildroot %_make_install_target</pre>
| + | |
- | Обратите внимание, что %make_install требует обязательного указания цели.
| + | |
- | | + | |
- | В отличие от %make_install, %makeinstall — это макрос типа «всё в одном», рассчитанный на применение без дополнительных параметров. Если вы используете %makeinstall, вы ''не должны'' переопределять DESTDIR, так как пути, соответствующие будущим %_{bin,lib,data}dir, задаются без него и если вы передадите ещё и DESTDIR=%buildroot, вы получите удвоенный %buildroot в готовых путях. Если вам нужно задать какие-то дополнительные пути, следует пользоваться формой
| + | |
- | <pre>%makeinstall somefancydir=%buildroot/fancy/dir</pre>
| + | |
- | , где /fancy/dir с большой вероятностью будет начинаться на %_{bin,lib,data,man,var,whatever}dir.
| + | |
- | | + | |
- | === также... ===
| + | |
- | <pre>Если DESTDIR работает, пользоваться %makeinstall нет нужды.
| + | |
- | Этот макрос был явно создан с расчетом на не-autotooled makefiles.
| + | |
- | Каждая неучтенная в нем переменная инсталляции должна быть явно
| + | |
- | добавлена в параметры.</pre>
| + | |
- | ''(mhz@ с поправкой raorn@)''
| + | |