[coyotos-dev] Build tree input wanted

Jonathan S. Shapiro shap at eros-os.com
Thu Feb 21 16:03:54 EST 2008


The current build process operates as follows:

1. Input sources live in .../coyotos/src

2. Intermediate files go in subdirectories named "BUILD/<target>/",
   with the exception of the web tree, where intermediate files
   typically go into the same directory as the source.

   The web tree is designed to build and install "in place", mainly
   because I could not figure out how to get relative links to
   function correctly if I did it any other way, and being able
   to browse the build locally in my tree is very useful.

3. Output files go into

     $(COYOTOS_ROOT)/host  -- stuff for the build host machine
     $(COYOTOS_ROOT)/usr   -- stuff for the target machine

At the moment, the default value of COYOTOS_ROOT is "the directory just
above COYOTOS_SRC".

I have been finding that I am making mistakes by pushing changes that
work in one build and not in another. There seem to be two possible ways
to fix that:

  1. Write a script to do a grand build, overriding COYOTOS_ROOT
     and COYOTOS_TARGET for each target.

  2. Change the default value of COYOTOS_ROOT to be the [normalized]
     value of either:

       $(COYOTOS_SRC)/../$(COYOTOS_TARGET)/coyotos

     This would allow multiple builds in the same tree, and it would
     allow me to easily add some sort of "grand build" target to
     the top level Makefile.

The second mechanism is clearly simpler, but it is potentially confusing
if you are already accustomed to the current build mechanism.



Two questions for everyone:

  1. Are there objections to changing the default output directory?
  2. Does anybody have a better proposal for how to organize this?

shap



More information about the coyotos-dev mailing list