Страница 1 из 1

Проблема при создании порта

Добавлено: 2012-02-12 23:55:54
schmel
Есть исходники одной проги, которой нет в портах. Из сырцов устанавливается довольно тривиально:
./configure --enable-shared
./gmake opt
./gmake install

как мне эти три команды в Makefile отразить?

Код: Выделить всё

# New ports collection makefile for:    root
# Date created:         10 Feb 2012
# Whom:                 BLA BLA BLA <amdmi3@example.org>
#
# $FreeBSD$
#

PORTNAME=       h323plus
PORTVERSION=    12.02.09
CATEGORIES=     net
MASTER_SITES=   http://openmcu.ru/public/Freebsd_i386/port/
DISTNAME=       ${PORTNAME}-${PORTVERSION}

MAINTAINER=     amdmi3@example.org
COMMENT=        Empty comment

GNU_CONFIGURE=  yes
USE_GMAKE=      yes

CONFIGURE_ENV=  LDFLAGS="-L${LOCALBASE}/lib" CPPFLAGS="-I${LOCALBASE}/include"
CONFIGURE_ARGS=--enable-shared

WRKSRC=         ${WRKDIR}/${PORTNAME}

.include <bsd.port.mk>
Данная связка выдает такую ошибку:

Код: Выделить всё

Created dependencies.
gmake -C src optdepend
gmake[1]: Entering directory `/usr/ports/net/openh323/work/h323plus/src'
c++ -D_REENTRANT -fno-exceptions -Wall -DNDEBUG -DPTRACING -I/usr/local/include/openh323 -I/usr/local/share/ptlib/include -M h225_1.cxx >> /usr/local/lib/obj_FreeBSD_x86_r/h225_1.dep
h225_1.cxx:12:18: error: h225.h: No such file or directory
gmake[1]: *** [/usr/local/lib/obj_FreeBSD_x86_r/h225_1.dep] Error 1
gmake[1]: *** Deleting file `/usr/local/lib/obj_FreeBSD_x86_r/h225_1.dep'
gmake[1]: Leaving directory `/usr/ports/net/openh323/work/h323plus/src'
gmake: *** [optdepend] Error 2
*** Error code 1

Stop in /usr/ports/net/openh323.
Кстати - это сильно модифицированный openh323, который есть в портах, но тамошний makefile не подойдет, пришлось самому писать...

Re: Проблема при создании порта

Добавлено: 2012-02-13 19:57:15
Alex Keda
USE_GMAKE чтоли ...

Re: Проблема при создании порта

Добавлено: 2012-02-13 20:49:06
schmel
USE_GMAKE= yes
Да вроде прописывал. Кстати эта команда эквивалентна gmake opt, или просто gmake?
Если судить по ошибке

Код: Выделить всё

 error: h225.h: No such file or directory
Он почему-то не правильном месте ищет заголовочные файлы. Хотя вручную собирается нормально. И почуму-то создает obj в системных либах

Код: Выделить всё

/usr/local/lib/obj_FreeBSD_x86_r/h225_1.dep
Хотя, вручную все норм...

Re: Проблема при создании порта

Добавлено: 2012-02-14 8:26:19
schmel
Уже перечитал handbook по портам. Пошел анализировать Makefile из

Код: Выделить всё

Entering directory `/usr/ports/net/openh323/work/h323plus/src'
и выяснил, что если указать buildtime="YES", то будет собираться в lib с исходниками, если не указывать, то в системных либах. Ну и добавив команду ALL_TARGET=opt - собралось =)
Еще один момент - допустим в папке works/h323plus есть еще вложеная папка с плагинами (plugins) - собирается также:

Код: Выделить всё

./configure
./gmake opt
./gmake install
Как можно прописать в Makefile порта, чтоб он сначала собирался в основной папке, а потом переходил в другую папку и собирал там?