Yes, you're right that clearing the build phase doesn't prove anything, but I'm not sure I'm following your other point. Are you saying that "make install" will compile the source code? I was under the impression that you need to manually run "make" in order to actually compile the source code, hence the traditional magic formula of './configure ; make ; make install'. Without the first make, the "make install" shouldn't have anything to install. Or am I wrong about that?
-- Jason Liu On Tue, Aug 15, 2023 at 2:54 PM Joshua Root <j...@macports.org> wrote: > On 16/8/2023 04:29, Jason Liu wrote: > > Hi everyone, > > > > I'm working on a Portfile that uses the xcode PortGroup, and I've > > noticed something that surprised me: It seems that the MacPorts build is > > compiling the source code during the build phase, and then compiling the > > source code AGAIN during the destroot phase? Is this correct, or am I > > starting to hallucinate? Because when I add a 'build {}' to my Portfile, > > which in theory should cause nothing to be compiled, all of the compiled > > products are still somehow coming into existence and getting placed into > > ${destroot}. > > I don't know if your project is in fact building things twice, but > clearing the build phase doesn't prove anything one way or the other, > because the install target depends on the targets that build the program > and will thus run them first. You will usually see a similar thing > happen if you just run 'make install' with a makefile based project. > > - Josh >