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