Re: pyc files in source dir with O=

From: Jani Nikula
Date: Mon Sep 19 2016 - 02:34:28 EST


On Sun, 18 Sep 2016, Markus Heiser <markus.heiser@xxxxxxxxxxx> wrote:
> Am 07.09.2016 um 15:28 schrieb Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx>:
>
>> On Wed, 07 Sep 2016, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
>>> When running "make htmldocs O=/path/to/somewhere", *.pyc files end up
>>> in the source tree instead of in the build tree:
>>>
>>> $ git ls-files -o
>>> Documentation/sphinx/kernel-doc.pyc
>>> Documentation/sphinx/kernel_include.pyc
>>> Documentation/sphinx/rstFlatTable.pyc
>>> $
>>>
>>> This is with v4.8-rc5.
>>>
>>> With next-20160907, two more files appear:
>>>
>>> Documentation/sphinx/cdomain.pyc
>>> Documentation/sphinx/load_config.pyc
>>
>> This should help
>>
>> diff --git a/Documentation/Makefile.sphinx b/Documentation/Makefile.sphinx
>> index 92deea30b183..a4cba2d1aaf1 100644
>> --- a/Documentation/Makefile.sphinx
>> +++ b/Documentation/Makefile.sphinx
>> @@ -53,6 +53,7 @@ loop_cmd = $(echo-cmd) $(cmd_$(1))
>>
>> quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4);
>> cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media all;\
>> + PYTHONDONTWRITEBYTECODE=1 \
>> BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(srctree)/$(src)/$5/$(SPHINX_CONF)) \
>> $(SPHINXBUILD) \
>> -b $2 \
>>
>>
>> Side note, I'm really sad the Sphinx build has grown so ugly and
>> complicated now. :(
>
> Hi Jani, I feel guilty about this ...
>
> the "sub-folder" build functionality brought some complexity to
> the cmd_sphinx. In the hope, that it helps a bit, I added a small
> comment on top ...

No amount of documentation will bring back the ability to build the
documentation with pure Sphinx.

BR,
Jani.


>
> # $2 sphinx builder e.g. "html"
> # $3 name of the build subfolder / e.g. "media", used as:
> # * dest folder relative to $(BUILDDIR) and
> # * cache folder relative to $(BUILDDIR)/.doctrees
> # $4 dest subfolder e.g. "man" for man pages at media/man
> # $5 reST source folder relative to $(srctree)/$(src),
> # e.g. "media" for the linux-tv book-set at ./Documentation/media
>
> quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4);
> cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media all;\
> BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(srctree)/$(src)/$5/$(SPHINX_CONF)) \
> $(SPHINXBUILD) \
> -b $2 \
> -c $(abspath $(srctree)/$(src)) \
> -d $(abspath $(BUILDDIR)/.doctrees/$3) \
> -D version=$(KERNELVERSION) -D release=$(KERNELRELEASE) \
> $(ALLSPHINXOPTS) \
> $(abspath $(srctree)/$(src)/$5) \
> $(abspath $(BUILDDIR)/$3/$4);
>
> But you are right, it is very compact / complicated.
>
> --Markus--
>
>>
>> BR,
>> Jani.
>>
>>
>> --
>> Jani Nikula, Intel Open Source Technology Center
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-doc" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>

--
Jani Nikula, Intel Open Source Technology Center