Groups | Search | Server Info | Login | Register


Groups > comp.unix.programmer > #236

Re: Makefile portability

From Nobody <nobody@nowhere.com>
Subject Re: Makefile portability
Date 2011-04-27 14:08 +0100
Message-Id <pan.2011.04.27.13.08.34.985000@nowhere.com>
Newsgroups comp.unix.programmer, comp.os.ms-windows.programmer.win32
References <dd51ecd2-2a42-4338-bc3b-eb2adefe1924@r6g2000vbz.googlegroups.com> <1de5e7b8-42a1-47c6-9fd6-ad2620c412de@r33g2000prh.googlegroups.com> <pan.2011.04.26.20.41.13.641000@nowhere.com> <7f9f7fea-911b-4a18-845f-c5b4a143ac67@r20g2000yqd.googlegroups.com>
Organization Zen Internet

Cross-posted to 2 groups.

Show all headers | View raw


On Tue, 26 Apr 2011 23:17:23 -0700, tm wrote:

>> GNU make (or any Unix make for that matter) relies upon the existence of a
>> Bourne shell to execute the commands, and the individual makefiles
>> probably assume the existence of cp, rm, mkdir, etc.
> 
> IMHO this is the reason why MinGW does NOT have gmake. Instead it
> has mingw32-make, which uses cmd.exe to execute commands.

MSys provides a Windows version of GNU make which uses MSys' bash port.

Using cmd.exe fails if you need to use the same makefiles on both
Unix and Windows and the makefiles aren't trivial.

>> Also, Windows filenames often contain spaces, and GNU make treats spaces
>> as word separators. And there is no escaping or quoting syntax within make
>> itself; any function which operates on a "list" will treat every space as
>> a separator.
> 
> I have to admit that the makefiles I tested with make7 did not
> contain spaces in filenames. Therefore I did not consider this
> problem. But native Windows make utilities have to deal with this
> too. So I guess their solution shuld be used. Probably a filename
> with spaces is quoted.

Yes; nmake "understands" quoting.

With a Unix make, quoting only works insofar as the quotes are treated
verbatim, so they will still be present when the variable is expanded in
the context of a shell command. The quotes don't have any significance to
make itself, so you can't have a list of quoted filenames. E.g. if you
have:

	FILE1 = "hello foo"
	FILE2 = "goodbye bar"

	default: $(FILE1) $(FILE2)

"make default" will attempt to build the targets:

	"hello
	foo"
	"goodbye
	bar"

So you can use quoted strings in commands, but not as prerequisites or
targets. And e.g. $(wildcard ...) won't add any quoting to the results.

Back to comp.unix.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Makefile portability tm <thomas.mertes@gmx.at> - 2011-04-25 04:54 -0700
  Re: Makefile portability Leclerc <gordan.sikic.remove@this.inet.hr> - 2011-04-26 08:51 +0200
    Re: Makefile portability tm <thomas.mertes@gmx.at> - 2011-04-26 04:25 -0700
    Re: Makefile portability Nobody <nobody@nowhere.com> - 2011-04-26 16:18 +0100
      Re: Makefile portability William Ahern <william@wilbur.25thandClement.com> - 2011-04-26 11:19 -0700
        Re: Makefile portability Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM> - 2011-04-27 18:53 +0100
          Re: Makefile portability "Charlie Gibbs" <cgibbs@kltpzyxm.invalid> - 2011-04-27 14:14 -0800
            Re: Makefile portability tm <thomas.mertes@gmx.at> - 2011-04-30 01:07 -0700
              Re: Makefile portability Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM> - 2011-04-30 13:45 +0100
            Re: Makefile portability Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM> - 2011-04-30 13:14 +0100
            Re: Makefile portability tm <thomas.mertes@gmx.at> - 2011-04-28 00:02 -0700
              Re: Makefile portability Rui Maciel <rui.maciel@gmail.com> - 2011-04-28 20:43 +0100
                Re: Makefile portability tm <thomas.mertes@gmx.at> - 2011-04-28 13:57 -0700
                Re: Makefile portability Rui Maciel <rui.maciel@gmail.com> - 2011-04-29 11:18 +0100
                Re: Makefile portability Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM> - 2011-04-29 20:43 +0100
                Re: Makefile portability Rui Maciel <rui.maciel@gmail.com> - 2011-04-30 11:38 +0100
              Re: Makefile portability and file utility programs Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM> - 2011-04-29 20:27 +0100
                Re: Makefile portability tm <thomas.mertes@gmx.at> - 2011-04-29 15:26 -0700
                Re: Makefile portability Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-04-29 23:45 +0100
                Re: Makefile portability Rui Maciel <rui.maciel@gmail.com> - 2011-04-30 11:26 +0100
      Re: Makefile portability Leclerc <gordan.sikic.remove@this.inet.hr> - 2011-04-27 09:28 +0200
  Re: Makefile portability Joshua Maurice <joshuamaurice@gmail.com> - 2011-04-26 11:28 -0700
    Re: Makefile portability Nobody <nobody@nowhere.com> - 2011-04-26 21:41 +0100
      Re: Makefile portability tm <thomas.mertes@gmx.at> - 2011-04-26 23:17 -0700
        Re: Makefile portability Nobody <nobody@nowhere.com> - 2011-04-27 14:08 +0100
      Re: Makefile portability Leo Havmøller <rtxleh@nospam.nospam> - 2011-04-27 13:15 +0200
        Re: Makefile portability tm <thomas.mertes@gmx.at> - 2011-04-27 05:50 -0700
          Re: Makefile portability Rui Maciel <rui.maciel@gmail.com> - 2011-04-28 20:36 +0100
            Re: Makefile portability tm <thomas.mertes@gmx.at> - 2011-04-28 14:12 -0700
              Re: Makefile portability Rui Maciel <rui.maciel@gmail.com> - 2011-04-29 11:03 +0100
                Re: Makefile portability tm <thomas.mertes@gmx.at> - 2011-04-29 09:30 -0700
      Re: Makefile portability Joshua Maurice <joshuamaurice@gmail.com> - 2011-04-27 15:08 -0700
        Re: Makefile portability Joshua Maurice <joshuamaurice@gmail.com> - 2011-04-27 15:17 -0700
          Re: Makefile dependency graphs gordonb.d36yw@burditt.org (Gordon Burditt) - 2011-04-30 02:02 -0500
            Re: Makefile dependency graphs Joshua Maurice <joshuamaurice@gmail.com> - 2011-04-30 00:36 -0700
          Re: Makefile dependency graphs Michael Press <rubrum@pacbell.net> - 2011-04-30 01:13 -0700
            Re: Makefile dependency graphs William Ahern <william@wilbur.25thandClement.com> - 2011-04-30 11:30 -0700
              Re: Makefile dependency graphs Joshua Maurice <joshuamaurice@gmail.com> - 2011-04-30 15:44 -0700
              Re: Makefile dependency graphs Michael Press <rubrum@pacbell.net> - 2011-05-03 11:48 -0700
          Re: Makefile dependency graphs Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM> - 2011-04-30 12:59 +0100
          Re: Makefile dependency graphs Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM> - 2011-04-29 02:55 +0100
            Re: Makefile dependency graphs William Ahern <william@wilbur.25thandClement.com> - 2011-04-28 19:52 -0700
              Re: Makefile dependency graphs Joshua Maurice <joshuamaurice@gmail.com> - 2011-04-29 02:10 -0700
                Re: Makefile dependency graphs Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-04-29 20:59 +0100
                Re: Makefile dependency graphs Joshua Maurice <joshuamaurice@gmail.com> - 2011-04-29 15:21 -0700
                Re: Makefile dependency graphs Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM> - 2011-04-29 20:08 +0100
                Re: Makefile dependency graphs Joshua Maurice <joshuamaurice@gmail.com> - 2011-04-29 15:08 -0700
                Re: Makefile dependency graphs Joshua Maurice <joshuamaurice@gmail.com> - 2011-04-29 16:11 -0700
              Re: Makefile dependency graphs William Ahern <william@wilbur.25thandClement.com> - 2011-04-29 16:03 -0700
                Re: Makefile dependency graphs Joshua Maurice <joshuamaurice@gmail.com> - 2011-04-29 16:48 -0700
                Re: Makefile dependency graphs Joshua Maurice <joshuamaurice@gmail.com> - 2011-04-29 16:54 -0700
  Re: Makefile portability Rui Maciel <rui.maciel@gmail.com> - 2011-04-28 20:33 +0100
    Re: Makefile portability tm <thomas.mertes@gmx.at> - 2011-04-28 14:20 -0700
    Re: Makefile portability Nobody <nobody@nowhere.com> - 2011-04-30 18:03 +0100
      Re: Makefile portability William Ahern <william@wilbur.25thandClement.com> - 2011-04-30 12:01 -0700
      Re: Makefile portability Rui Maciel <rui.maciel@gmail.com> - 2011-05-01 12:33 +0100
        Re: Makefile portability Nobody <nobody@nowhere.com> - 2011-05-02 03:44 +0100
          Re: Makefile portability William Ahern <william@wilbur.25thandClement.com> - 2011-05-01 21:27 -0700
          Re: Makefile portability tm <thomas.mertes@gmx.at> - 2011-05-02 00:11 -0700
      Re: Makefile portability Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-05-02 13:41 +0100
        Re: Makefile portability Freedom on the Oceans <alex.buell@munted.org.uk> - 2011-05-02 14:36 +0100
          Re: Makefile portability tm <thomas.mertes@gmx.at> - 2011-05-02 08:09 -0700
        Re: Makefile portability Nobody <nobody@nowhere.com> - 2011-05-02 23:49 +0100
          Re: Makefile portability Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-05-03 10:41 +0100
            Re: Makefile portability Nobody <nobody@nowhere.com> - 2011-05-05 08:30 +0100

csiph-web