Richard Kenner wrote:
I haven't had to to do this with the new mechanism for a while, but now I
need to do the equivalent of the old "make unstage1" and can't find
any documentation on how to do that (I thought this would be discussed
inside Makefile.tpl).

No, Makefile.tpl only discusses a few technical issues. The documentation is in doc/makefile.texi.

I basically had something blow up in stage2, so I want to go back and
rebuild stage1 and start over.  What target do I use?

If you want exactly what make unstage1 did, "make stage1-start". There is also "make restrap" as in the old scheme. From the aforementioned docs:

  @item [EMAIL PROTECTED] (@var{N} = [EMAIL PROTECTED])
  For each package that is bootstrapped, rename directories so that,
  for example, @file{gcc} points to the [EMAIL PROTECTED] GCC, compiled
  with the [EMAIL PROTECTED] GCC.

  You will invoke this target if you need to test or debug the
  [EMAIL PROTECTED] GCC.  If you only need to execute GCC (but you need
  not run @samp{make} either to rebuild it or to run test suites),
  you should be able to work directly in the @[EMAIL PROTECTED]
  directory.  This makes it easier to debug multiple stages in
  parallel.


A side note: I've always been extremely confused by the "unstageN" and "stageN" targets in the gcc directory. The double usage of "stage" as noun and verb was complicating things, also because I'm not a native speaker and the meaning of "to stage" as "to set aside" is not in my dictionary. So I kept thinking that "stageN" brought back stage N, while instead its purpose was to "stage" stage N. So I chose to name the targets "stageN-start" (i.e. start working on stage N) and "stageN-end" (i.e. put stage N away, I don't need it anymore), using two verbs and removing the overloading of "stage". The choice was more or less arbitrary and can be easily changed if there are better options. Those better options could even be "unstageN" and "stageN", but I'd rather have two verbs instead.

Paolo

Reply via email to