Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"pruning file" - is that my compiler or GNU Make?

A target in my makefile looks like this:

.moc/moc_plmviewsetup.cpp: C:/Users/User1/Desktop/A/PROJ/src/PasaHmiExtension/pasahmiextension_global.h \
        C:/Users/User1/Desktop/A/PROJ/qt5binaries/include/QtCore/qglobal.h \
        C:/Users/User1/Desktop/A/QNX_SDK/target/qnx6/usr/include/stddef.h \
        ...

And the output of GNU make is:

  Considering target file '.obj/moc_plmviewsetup.o'.
   File '.obj/moc_plmviewsetup.o' does not exist.
    Considering target file '.moc/moc_plmviewsetup.cpp'.
     File '.moc/moc_plmviewsetup.cpp' does not exist.
      Pruning file 'C:/Users/mureadr/Desktop/A/HMI_FORGF/src/PasaHmiExtension/pasahmiextension_global.h'.
      Pruning file 'C:/Users/mureadr/Desktop/A/HMI_FORGF/qt5binaries/include/QtCore/qglobal.h'.
      Pruning file 'C:/Users/mureadr/Desktop/A/QNX_SDK/target/qnx6/usr/include/stddef.h'.
      ...
  • What does pruning mean?
  • What is doing it: my compiler or GNU make?
  • Why does pruning occurr?
  • What is the relevance of pruning happening?
like image 509
Bob Avatar asked Oct 22 '25 03:10

Bob


1 Answers

Answer from GNU Make mailing lists, posted by @djthoms:

On Tue, 2007-05-01 at 08:41 -0700, Hiebert, Darren (MS) wrote:

What are the reasons that dependencies are pruned when evaluating whether to build a target?

Hi Darren;

Pruning happens when make thinks that it has already evaluated those targets and determined that they are not rebuildable, AND make has not run any rules so that their state could be changed since they were last examined. It's a way to short-circuit what can be a long, complex computation.

Without seeing your makefile it's hard to tell why your targets might be considered prunable when they shouldn't be.

like image 184
Bob Avatar answered Oct 23 '25 19:10

Bob



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!