changing a ports final destination via make knobs question...

Paul Schmehl pschmehl_lists at tx.rr.com
Tue Aug 26 23:04:38 UTC 2008


--On August 26, 2008 3:05:25 PM -0700 chris#@1command.com wrote:
>
> Hello, and thank you very much for your reply.
>
> Yes. After looking closely at the variable, I discovered that also.
> So I used the PREFIX=/usr/local/php5. But as I build it (via
> php5-extensions)
> I am not seeing the PREFIX variable reflected. Shouldn't I be using:
> make -DPREFIX=/usr/local/php5? Or simply hack the Makefile?
>

If you're trying to force the install of php5 by installing 
php5-extensions, that's not going to work.  Php5 will be built with the 
default ${LOCALBASE} instead.

There are several ways to work around the problem.  You can build php5 
first, with the altered PREFIX, then build php5-extensions with the 
altered PREFIX.  You can set the PREFIX for php5 and php5-extensions in 
/usr/local/etc/pkgtools.conf (see the extensive notes in the file or read 
man (5) pkgtools.conf).

You can edit the Makefiles for the affected ports, but changing PREFIX in 
a Makefile is tricky, so testing carefully is required.  Furthermore, the 
Makefiles will be overwritten every time the port is updated, so it's 
really not the best way to do things.

You can even edit /etc/make.conf, but that changes the parameters for all 
ports.

If you plan on doing this often, pkgtools.conf is your best bet.  If you 
plan on doing it once, commandline is probably the easiest and quickest.

If you choose to use pkgtools.conf, you'd probably want something like 
this:

MAKE_ARGS = {
  'lang/php5*' => 'PREFIX=/usr/local/php5',
  }

Paul Schmehl, If it isn't already
obvious, my opinions are my own
and not those of my employer.
******************************************
WARNING: Check the headers before replying


More information about the freebsd-stable mailing list