Re: superfluous GNUism in the makefile

Ivan Shmakov <[email protected]>
Newsgroups gmane.lisp.scheme.scheme48
Message-ID <[email protected]>
>>>>> Taylor R Campbell <[email protected]> writes:

 > (What bug in gnus causes your messages to be indented so far to the
 > right?)

	Huh?  Somehow, I've got the habit of indenting text by one TAB
	(= 8 spaces) whenever possible.  I had this habit as of at least
	January 2002 (just checked the mail archive), and probably for a
	couple years longer.

 >> It's fine to remove $< from the c/srfi-27.o rule, but doing so
 >> didn't add portability to the Makefile.in as a whole, while trying
 >> to achieve such portability will ruin the --srcdir= support.  Which
 >> is, in my opinion, to high price to pay.

 > Contrariwise, there are other makes (e.g., BSD make) that prefer
 > to distinguish the object directory, not the source directory.

	It's not the Make language implementation per se, just the
	scripts.  Since Autoconf was designed, in part, to enforce GNU
	Coding Standards, and since Scheme48 uses Autoconf, I see it
	like going against the flow to try to make it the other way
	around.  The result is the same either way, though.

 > But I guess the conclusion is that make is an incorrigible mess,

	It's a workhorse.  Workhorses are like that.

 > and I suppose it's not worth the trouble of trying to be portable.
 > Oh well.

 >> Anyway, are there any Scheme48 users with Makes for which this
 >> Makefile is going to fail?

 > It is more convenient for users of the BSDs to use BSD make.

	At the very least, the Makefile works with pmake(1).  I'm not
	quite fluent in the various Makes, but I've got the impression
	that $< will work for with any modern Make.

$ pwd 
scheme48-feb2dd47df29
$ mkdir +build-1 
$ ../configure --prefix=/nowhere 
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
...
checking Pthreads support... -pthread (compile) -pthread (link)
checking -munaligned-doubles... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating c/sysdep.h
config.status: creating c/scheme48arch.h
$ LC_ALL=C MAKE=pmake nohup /usr/bin/time \
      pmake \
          ../build/filenames.make i-know-what-i-am-doing \
          c/scheme48.h ../build/initial.image-{32,64} & 
nohup: appending output to `nohup.out'
$ chmod =r nohup.out && mv -i nohup.out{,-1} 
$ wait %1 
$ tail -n5 nohup.out-1 
`c/scheme48.h' is up to date.
`../build/initial.image-32' is up to date.
`../build/initial.image-64' is up to date.
107.59user 1.16system 1:49.57elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+4520outputs (0major+228645minor)pagefaults 0swaps
$ LC_ALL=C MAKE=pmake nohup /usr/bin/time pmake -j 2 & 
nohup: appending output to `nohup.out'
$ chmod =r nohup.out && mv -vi nohup.out{,-2} 
`nohup.out' -> `nohup.out-2'
$ wait %1 
$ tail -n5 nohup.out-2 
#{Unspecific}
#{Unspecific}
Writing scheme48.image
25.62user 1.52system 0:21.41elapsed 126%CPU (0avgtext+0avgdata 0maxresident)k
32inputs+34776outputs (0major+267753minor)pagefaults 0swaps
$ 

-- 
FSF associate member #7257
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.