[coyotos-dev] Build tree changes

Jonathan S. Shapiro shap at eros-os.com
Thu Feb 21 15:50:33 EST 2008


I have just made some fairly significant changes to the build process
and the configure script:

  1. Within the tree, output now goes into the BUILD/$(COYOTOS_TARGET)
     directory rather than the BUILD/ directory. This permits object
     files for multiple architectures to co-exist in the tree
     peacefully.

     While I was at it, I fixed some dependencies so that parallel make
     should now work.

  2. COYOTOS_SRC is no longer required to be a subdirectory of
     COYOTOS_ROOT. If you run the configure script, it will
     assume by default that COYOTOS_ROOT should be "the directory
     ..../coyotos, such that ..../coyotos/src is the directory
     containing the configure script"

     However, if you give configure the --prefix option, you can
     override this choice and place COYOTOS_ROOT at any directory
     you like.

     If COYOTOS_SRC is not contained within COYOTOS_ROOT, the result
     of "make targdir-clean" will be to whack the COYOTOS_ROOT directory
     tree completely. If COYOTOS_SRC *is* inside COYOTOS_ROOT, the
     generated directories will be deleted, but COYOTOS_ROOT itself
     will not be molested.

  3. configure remembers configurations for multiple targets. Unless you
     specify otherwise, running "make" will build the most recent target
     that you have configured. Switching back to a previously configured
     target will recover any settings that you had previously set unless
     you override them.

     Alternatively, if you specify "make TARGET=i386-unknown-coyotos",
     the build system will build that target using the last available
     configuration if one exists.

     Unless you want a totally scrambled tree, it is your responsibility
     to either

        a) set distinct prefixes for each build, or
        b) use make distclean to ensure that the prefix, if shared,
           is clobbered before building the next architecture, or
        c) override COYOTOS_ROOT for each build to ensure that builds
           for different target configurations will install to different
           output trees.


shap



More information about the coyotos-dev mailing list