On Docs option and custom build target
Tijl Coosemans
tijl at FreeBSD.org
Thu Sep 25 10:07:39 UTC 2014
On Wed, 24 Sep 2014 23:54:19 +0200 Fernando Apesteguía <fernando.apesteguia at gmail.com> wrote:
> On Wed, Sep 24, 2014 at 8:52 PM, Tijl Coosemans <tijl at freebsd.org> wrote:
>> On Tue, 23 Sep 2014 23:23:31 +0200 Fernando Apesteguía <fernando.apesteguia at gmail.com> wrote:
>>> I have a Makefile for an application that provides both examples and
>>> documentation. I created the two options in the Makefile (both enabled
>>> by default).
>>> The package doesn't provide any flags stock like --with-docs or
>>> --with-examples, so I have a custom target like this:
>>>
>>> do-build:
>>> @cd ${BUILD_WRKSRC}/ && ${MAKE}
>>> .if ${PORT_OPTIONS:MDOCS}
>>> @cd ${BUILD_WRKSRC}/ && ${MAKE_CMD} doc
>>> .endif
>>
>> You don't have to override do-build like this. You can build the
>> documentation from a post-build target.
>
> Thanks. Changed.
>
>>> However, when I try to run this in poudriere, I get the following error:
>>>
>>> make[1]: don't know how to make doc. Stop
>>>
>>> make[1]: stopped in /wrkdirs/usr/ports/graphics/code-eli/work/.build
>>> *** Error code 2
>>
>> Does the makefile in BUILD_WRKSRC actually have a doc target? Is doc
>> a subdirectory maybe?
>
> Yes it does.
>
> In fact, with "port test" builds fine with the same code (change
> directory and ${MAKE} doc). There is a doc.dir subdirectory in
> BUILD_WRKSRC/CMakeFiles. The doc target basically gets a Doxygen
> configuration file and runs doxygen on the whole library code.
Poudriere tests the port in a clean environment so check the build log
to see if any dependencies (like doxygen) are missing.
More information about the freebsd-ports
mailing list