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
>

Reply via email to