Создаем порт для FreeBSD своими руками. Часть II :: Ачилов Рашид
Страница:
15 из 18
Обратите внимание, что все команды параметризированы, – всюду используется ${PROGRAM}, а не /bin/program!
post-patch:
.if defined(USE_INFRA_PATCHSET)
@${ECHO_MSG} "===> Patching OOo with Infra patches set"
@cd ${WRKDIR}/${INFRA_PATCHDIR}/${INFRA_PATCHEXT} && \
${SH} ${INFRA_PATCHER}
.endif
Дополняем мишень patch подмишенью post-patch, в которой собственно и запускаем скрипт, вносящий изменения. Обратите внимание – записать это в две строки нельзя! Если записать команды cd и запуск скрипта на разных строках, то запуск скрипта произойдет не из каталога, в который перешли командой cd, а из текущего, потому что make, выполнив запрошенное действие, возвращается в каталог, из которого она была запущена. Точно так же выполняются все другие действия, связанные со сменой каталога, – например распаковка файлов.
.if defined(PREBUILD_TRANSEX3)
@${ECHO_MSG} "===> Pre-build TRANSEX3"
@${ECHO} "source ${WRKSRC}/FreeBSDEnv.Set"
> ${GSI_PREBUILD}
@${ECHO} "cd transex3 && build --all && deliver"
>> ${GSI_PREBUILD}
@${CHMOD} +x ${GSI_PREBUILD}
@cd ${WRKSRC} && PATH="${PATH}:${LOCALBASE}/bin:${LOCALBASE}/sbin" && ${TCSH} ${GSI_PREBUILD}
.endif
.if defined(USE_RUSSIAN_GSI)
@${ECHO_MSG} "===> Build russian GSI"
@cd ${WRKSRC} && PATH="${PATH}:${LOCALBASE}/bin:${LOCALBASE}/sbin" && ${TCSH} -c 'source FreeBSDEnv.Set && localize -m -i ru-RU -l ${LANG_EXT} -f ${RUSSIAN_GSI}'
.endif
Первая часть задает предварительную сборку программы transex3, для чего формируется скрипт, затем осуществляется переход в каталог с распакованными исходниками и запуск сборки. Обратите внимание, как передается значение переменной PATH. Вторая часть задает обработку исходных текстов OpenOffice согласно новому файлу локализации интерфейса.
Полный текст Makefile из editors/openoffice-1.
|< Пред. 13 14 15 16 17 След. >|