public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* How does make determine which shells to invoke when executing external commands?
@ 2013-06-05 15:32 Hua Ai
  2013-06-05 16:42 ` Warren Young
  0 siblings, 1 reply; 5+ messages in thread
From: Hua Ai @ 2013-06-05 15:32 UTC (permalink / raw)
  To: cygwin

Hi all,

I have gone through FAQ and mailing lists but couldn't find an answer
to this. I would appreciate it if someone could shed some lights on
this:

Basically I have a makefile that works in some computers but not
others. Through troubleshooting I think I have located the problem to
the lines below:

$(PREFIX)/include/cyg/hal/basetype.h:
$(REPOSITORY)/$(PACKAGE)/include/basetype.h
   @mkdir -p $(dir $@)
   @cp $< $@
   @chmod u+w $@

Especially, this line:

   @mkdir -p $(dir $@)

It seems that, for the computers where it didn't work, the makefile
always invokes the mkdir from windows (Windows 7 64bit). I know this
because I replaced the line above with "@mkdir aboslute_path" in the
make file, and find that it works if the absolute_path uses \ instead
of /.  If I leave -p in there, it would create a directory named "-p".

If I type in "mkdir -p aboslute_path" in cygwin bash shell instead of
running it from the makefile, it would support -p switch and forward
slash / in the path.

So it sounds like when make executes mkdir from a makefile, it invokes
windows command shell(?) to run mkdir. But if I add "which mkdir" in
the makefile, it returns "/usr/bin/mkdir", which is the same as if I
types "which mkdir" in the bash shell.

My questions are:

1. From what I described, do you think the make program invoked
windows command shell to execute mkdir? How to confirm that (or is it
apparent already)?
2. How can I make sure the make program consistently invokes bash
shell for executing mkdir from the makefile? (some computer
environment does this already, and others doesn't)

Thanks in advance!

Regards,
Hua

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-06-06 16:25 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-05 15:32 How does make determine which shells to invoke when executing external commands? Hua Ai
2013-06-05 16:42 ` Warren Young
2013-06-06  2:43   ` Hua Ai
2013-06-06 10:35     ` Andrey Repin
2013-06-06 16:25     ` Warren Young

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).