linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@transmeta.com>
To: Rusty Russell <rusty@linuxcare.com.au>
Cc: Keith Owens <kaos@ocs.com.au>, linux-kernel@vger.kernel.org
Subject: Re: test10-pre7
Date: Mon, 30 Oct 2000 22:10:04 -0800 (PST)	[thread overview]
Message-ID: <Pine.LNX.4.10.10010302153040.6519-100000@penguin.transmeta.com> (raw)
In-Reply-To: <20001031045711.3886A81FA@halfway.linuxcare.com.au>



On Tue, 31 Oct 2000, Rusty Russell wrote:
> 
> Quiet suggestion:

If I understood the GNU make syntax correctly (which is possibly not the
case - GNU make is possibly the only example of "overkill" to rival GNU
emacs), this looks like a reasonable idea.

However, it also looks like much more of a change than to change the
fairly boiler-plate OX_OBJS etc stuff in new-style makefiles. And quite
frankly, I don't see how it would get the multi-part object file case
right, but that's probably because you left off some of the black magic
required to do that (and it's not as if the current Makefile magic doesn't
do black magic for that already).

Why do I really care? We actually have the same issue in the SCSI driver
directory, where the ordering restraints are much stricter than for USB.
Now that case has fewer export-objs, and that case isn't a part of a
multi-list, but I really want to have something that works for both these
cases with minimal (and reasonably straightforward) surgery.

In fact, I suspect the SCSI rules would work almost as-is. They break
ordering for the export-objs entry, but that looks fixable. This is how it
looks now:

	# Extract lists of the multi-part drivers.
	# The 'int-*' lists are the intermediate files used to build the multi's.
	multi-y         := $(filter $(list-multi), $(obj-y))
	multi-m         := $(filter $(list-multi), $(obj-m))
	int-y           := $(sort $(foreach m, $(multi-y), $($(basename $(m))-objs)))
	int-m           := $(sort $(foreach m, $(multi-m), $($(basename $(m))-objs)))

	# Files that are both resident and modular: remove from modular.
	obj-m           := $(filter-out $(obj-y), $(obj-m))
	int-m           := $(filter-out $(int-y), $(int-m))

	O_OBJS          := $(filter-out $(export-objs), $(obj-y))
	OX_OBJS         := $(filter     $(export-objs), $(obj-y))
	M_OBJS          := $(sort $(filter-out  $(export-objs), $(obj-m)))
	MX_OBJS         := $(sort $(filter      $(export-objs), $(obj-m)))
	MI_OBJS         := $(sort $(filter-out  $(export-objs), $(int-m)))
	MIX_OBJS        := $(sort $(filter      $(export-objs), $(int-m)))

In the above, the only problem is OX_OBJS and the breaking of ordering of
"export-objs" (which SCSI doesn't care about, unlike USB, partly because
SCSI uses the old-fashioned "every export in a special file" approach).
And it looks like even THAT could be fixed by changing it to

	O_OBJS		:= $(obj-y)
	OX_OBJS		:=
	MIX_OBJS	:= $(sort $(filter	$(export-objs), $(int-m) $(obj-y)))

(and the others are unchanged) which looks like it would handle it all
correctly. Basically, the changes would mean that the export-objs subset
of $(obj-y) would stay in O_OBJS instead of moving to OX_OBJS, but
additionally those objs would also be added to MIX_OBJS.

Would this satisfy everybody? It _is_ complex enough that I guess it
easily rates having it's own rule-file and be included by new-style
Makefiles instead of being copied over and over again..

Rusty's suggestion would mean having to actually change all the lists
themselves, which at this point sounds a bit dangerous.

		Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

  reply	other threads:[~2000-10-31  6:10 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-10-30 19:32 test10-pre7 Linus Torvalds
2000-10-30 20:34 ` [PATCH] test10-pre7 Alexander Viro
2000-10-30 21:02   ` Linus Torvalds
2000-10-30 21:23     ` Alexander Viro
2000-10-30 22:01       ` Alexander Viro
2000-10-30 23:05         ` Linus Torvalds
2000-10-30 23:14           ` Alexander Viro
2000-10-30 23:17             ` Linus Torvalds
2000-10-30 22:21       ` Linus Torvalds
2000-10-30 22:06   ` Rik van Riel
2000-10-31 10:05   ` John Kennedy
2000-10-30 21:37 ` test10-pre7 Keith Owens
2000-10-30 22:01   ` test10-pre7 Jeff Garzik
2000-10-30 22:06     ` test10-pre7 Keith Owens
2000-10-30 22:13       ` test10-pre7 Jeff Garzik
2000-10-30 22:24     ` test10-pre7 Linus Torvalds
2000-10-30 22:41       ` test10-pre7 Keith Owens
2000-10-30 22:51         ` test10-pre7 Linus Torvalds
2000-10-30 23:02           ` test10-pre7 Jeff Garzik
2000-10-30 23:04             ` test10-pre7 Keith Owens
2000-10-30 23:08             ` test10-pre7 Linus Torvalds
2000-10-30 23:03           ` test10-pre7 Keith Owens
2000-10-30 23:15             ` test10-pre7 Linus Torvalds
2000-10-30 23:32               ` test10-pre7 Christoph Hellwig
2000-10-30 23:40                 ` test10-pre7 Linus Torvalds
2000-10-30 23:45                   ` test10-pre7 Christoph Hellwig
2000-10-30 23:51                     ` test10-pre7 Linus Torvalds
2000-10-30 23:57                       ` test10-pre7 Christoph Hellwig
2000-10-31  0:47                         ` test10-pre7 Linus Torvalds
2000-10-31  1:01                           ` test10-pre7 Christoph Hellwig
2000-10-31  2:54                             ` test10-pre7 Linus Torvalds
2000-10-31  1:49                           ` test10-pre7 Keith Owens
2000-10-31  2:07                             ` test10-pre7 Keith Owens
2000-10-31  2:58                             ` test10-pre7 Linus Torvalds
2000-10-31 13:55                               ` test10-pre7 Peter Samuelson
2000-10-31 17:29                                 ` test10-pre7 Linus Torvalds
2000-10-31 17:38                                   ` test10-pre7 H. Peter Anvin
2000-10-31 19:51                                     ` test10-pre7 Horst von Brand
2000-11-01  2:32                                   ` test10-pre7 Peter Samuelson
2000-10-31  4:57                             ` test10-pre7 Rusty Russell
2000-10-31  6:10                               ` Linus Torvalds [this message]
2000-10-30 23:38               ` test10-pre7 Keith Owens
2000-10-30 23:47                 ` test10-pre7 Linus Torvalds
2000-10-31  0:03                   ` test10-pre7 Keith Owens
2000-10-31  9:37                 ` test10-pre7 Russell King
2000-10-31 14:02                   ` test10-pre7 Keith Owens
2000-10-31 14:16                     ` test10-pre7 Peter Samuelson
2000-10-31 17:31                     ` test10-pre7 Linus Torvalds
2000-10-31 19:28                       ` test10-pre7 Russell King
2000-10-31 20:59                         ` test10-pre7 Linus Torvalds
2000-11-01  0:16                           ` test10-pre7 (LINK ordering) Randy Dunlap
2000-11-01  0:52                             ` Jeff Garzik
2000-11-01  3:06                         ` test10-pre7 Peter Samuelson
2000-11-01  2:35                       ` test10-pre7 Keith Owens
2000-11-01 12:46                         ` test10-pre7 Alan Cox
2000-10-31 11:59               ` test10-pre7 Peter Samuelson
2000-10-31 21:01                 ` test10-pre7 John Alvord
2000-11-01  3:30                   ` test10-pre7 Peter Samuelson
2000-10-31  8:18       ` test10-pre7 Rogier Wolff
2000-10-31  0:52 test10-pre7 Michael Elizabeth Chastain
2000-10-31  1:05 ` test10-pre7 Christoph Hellwig
2000-10-31 16:15 test10-pre7 Vladislav Malyshkin
2000-10-31 16:45 ` test10-pre7 Peter Samuelson
2000-10-31 18:07   ` test10-pre7 Vladislav Malyshkin
2000-10-31 18:38     ` test10-pre7 Linus Torvalds
2000-10-31 19:16       ` test10-pre7 H. Peter Anvin
2000-11-01  3:15         ` test10-pre7 Peter Samuelson
2000-11-01  6:11           ` test10-pre7 H. Peter Anvin
2000-11-01  6:31             ` test10-pre7 Peter Samuelson
2000-11-01  7:42     ` test10-pre7 Peter Samuelson
2000-11-03 16:26       ` test10-pre7 Vladislav Malyshkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.10.10010302153040.6519-100000@penguin.transmeta.com \
    --to=torvalds@transmeta.com \
    --cc=kaos@ocs.com.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rusty@linuxcare.com.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 NNTP newsgroup(s).