c++autotoolsautoconfautomake

What are .Plo files and how are they used by the source code and GNU Autotools?


I am relatively new to C++ coding. I have a repository of C++ source code which along with the rest of the .h, .cpp, configure and Makefiles has many .Plo files. What are .Plo files and how are they used by the source code, the configure script and the Makefile?

P.S.: Reading the contents of a .Plo file gives me a list of scripts as follows:

libxcam_ocl_la-cl_blender.lo: cl_blender.cpp /usr/include/stdc-predef.h \
 cl_blender.h ../../xcore/xcam_std.h ../../config.h \
 ../../xcore/base/xcam_common.h /usr/include/string.h \
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
 /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
 /usr/include/x86_64-linux-gnu/bits/wordsize.h \
 /usr/include/x86_64-linux-gnu/bits/long-double.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
 /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h \
 /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
 /usr/include/strings.h \
 /usr/include/x86_64-linux-gnu/bits/strings_fortified.h \
 /usr/include/x86_64-linux-gnu/bits/string_fortified.h \
 /usr/include/stdio.h /usr/include/x86_64-linux-gnu/bits/types.h \
 /usr/include/x86_64-linux-gnu/bits/typesizes.h \
 /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
 /usr/include/x86_64-linux-gnu/bits/libio.h \
 /usr/include/x86_64-linux-gnu/bits/_G_config.h \
 /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
 /usr/lib/gcc/x86_64-linux-gnu/7/include/stdarg.h \
 /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
 /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
 /usr/include/x86_64-linux-gnu/bits/stdio.h \
 /usr/include/x86_64-linux-gnu/bits/stdio2.h \
 /usr/lib/gcc/x86_64-linux-gnu/7/include/stdint.h /usr/include/stdint.h \

I also have .po (portable object) files in this repo which have similar content. How do they differ from .Plo files?


Solution

  • I am relatively new to C++ coding. I have a repository of C++ source code which along with the rest of the .h, .cpp, configure and Makefiles has many .Plo files. What are .Plo files and how are they used by the source code, the configure script and the Makefile?

    .Plo files are generated outputs of an Automake- and libtool-based build system, which record information determined at compile time about dependencies of your various object files on header files. They are used on subsequent builds to help make recognize when previously-built object files have been obsoleted by header modifications. Dummy versions are generated by configure. Their content is (re)generated from the source and header files as a side effect of compilation, and referenced by the Autotools-generated makefiles.

    As compile-time generated files, these are not usually placed under source control or included in source distribution packages, so if that's what you mean by "repository" then your situation is a bit odd.