Subject: Re: self bootstrap on Interix 3.5
To: OBATA Akio <obata@lins.jp>
From: Simon Gerraty <sjg@juniper.net>
List: pkgsrc-users
Date: 04/13/2006 09:59:00
>Very, Very strange, I can't understand this behaviour.
>By my modifyed bmake (remove hack, set ${MAKEFILE}),
>
>obata@POM[/usr/pkgsrc/pkgtools/digest] bmake build

With no makefile specified, you are likely to get MAKEFILE=makefile
for the reason I mentioned - assuming the fs/os treats makefile and
Makefile as equivalent.

It would be instructive, to hack make to print the value it assigns to
MAKEFILE.  Also use -dx so we can see the commands being executed.

>configure: creating ./config.status
>config.status: creating Makefile
>config.status: creating config.h
>===> Building for digest-20060302
>gcc -D_ALL_SOURCE -DHAVE_CONFIG_H -I. -I. -DHOST=\"i386-pc-interix3\" -DVERSIO

In this case it would appear to have found Makefile (even if looking for
makefile in the case that the fs doesn't distinguish).
Are running the original Makefile, or one in the (I assume) case
sensitive work dir?

>===> Checking for vulnerabilities in digest-20060302
>===> Installing for digest-20060302
>bmake: cannot open makefile.
>
>bmake: stopped in /var/tmp/obj/pkgsrc/pkgtools/digest/default/digest-20060302
>*** Error code 2

>Stop.
>bmake: stopped in /net/MIKI/usr/pkgsrc/pkgtools/digest
>*** Error code 1

>bmake: stopped in /usr/pkgsrc/pkgtools/digest
>obata@POM[/usr/pkgsrc/pkgtools/digest] bmake -f Makefile install
>===> Checking for vulnerabilities in digest-20060302
>===> Installing for digest-20060302
>bmake: cannot open makefile.

Again -dx would help to see if -f Makefile was used, at each step.
It only needs to be skipped once, for the above to happen.

>File system is case-sensitive, because "bmake -f makefile" is failed.
>Even though specify Makefile as "bmake -f Makefile", ${MAKEFILE} == makefile ?

Assuming that /net/* is case insensitive, then 

	cd ${.CURDIR} && ${.MAKE} something

will get MAKEFILE=makefile yet still work, but then if 'something' does

	cd ${WORKDIR} && ${.MAKE} -f ${MAKEFILE} whatever

you get the situation as above.

Using -dx and perhaps hacking make to print the value it is assigning to 
MAKEFILE, would be helpful.

--sjg