On Docs option and custom build target

Fernando Apesteguía fernando.apesteguia at gmail.com
Thu Sep 25 20:58:47 UTC 2014


On Thu, Sep 25, 2014 at 12:06 PM, Tijl Coosemans <tijl at freebsd.org> wrote:
> 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.

That's it!

Thanks!


More information about the freebsd-ports mailing list