Makefile upgrade: target for x86_64

YONETANI Tomokazu qhwt+dfly at les.ath.cx
Fri Nov 6 08:13:31 PST 2009


On Fri, Nov 06, 2009 at 08:06:56PM +0530, Saifi Khan wrote:
> Running the Makefile in debug mode, shows that the following
> variables are still set to amd64
> 
> MACHINE_ARCH
> MACHINE
> 
> Please see the highlighted lines (line 751 and 752) at
> http://dragonflybsd.pastebin.com/m7e5b6eca
> 
> How do i set these variables to x86_64 in the Makefile ?

By setting environment variables with the same name, or specify them
on the command line.  Otherwise they're taken from sysctl variables
(look at InitVariables() function in make's source code).  If you're
performing the `approved method of upgrading your system', you're
still running old kernel, which should return amd64.  So corecode added
a hack in Makefile.inc1 to replace these variables, but it's only used
when sub-make processes are run as ${MAKE} because of the this line in
the top-level Makefile:

MAKE=	PATH=${PATH} make -m ${.CURDIR}/share/mk -f Makefile.inc1

so this applies to buildworld or installworld, but doesn't apply to
`make upgrade' target, as it's written as:

upgrade: upgrade_etc
upgrade_etc:
	@cd ${.CURDIR}/etc; make -m ${.CURDIR}/share/mk upgrade_etc

But the generic answer is of course, wait for the committer's comment :)

Cheers.





More information about the Users mailing list