[gambit-list] make targets

Marc Feeley feeley at iro.umontreal.ca
Thu Oct 23 23:08:47 EDT 2008


The Gambit distribution comes with makefiles supporting many targets  
including the following:

   % make bootstrap           Builds the system and copies the gsc
                              executable to gsc-comp in the root  
directory.
                              The makefiles call up gsc-comp to
                              compile the Scheme source files
                              in the system if they are modified.

   % make mostlyclean         Removes all the files that can be
                              regenerated using standard tools
                              (C compiler, TeX, etc).  The C files
                              generated by gsc, and the gsi and
                              gsc executables are not removed.

   % make clean               Removes all the files that can be
                              regenerated by a "make" (object files,
                              C files generated by gsc, etc) **except**
                              gsi and gsc.  This is useful to
                              bootstrap from the Scheme sources
                              after gsc has been built with an
                              initial "make bootstrap".

   % make realclean           Like "make clean", but also removes
                              gsi and gsc, and all the makefiles
                              generated by the configure script.

Some users are surprised that "make clean" does not bring the  
directory to the state it was in after the tarball was untarred.  I  
guess it is a fairly universal convention that "make clean" should  
work that way. So I'm thinking of changing the targets as follows:

   % make bootstrap           No change.

   % make mostlyclean         Removes all the files that are generated
                              by a "make", except those that are
                              installed by a "make install", such
                              as the gsi and gsc executables, the
                              Gambit libraries and documentation.

   % make clean               Removes all the files that are generated
                              by a "make", including the gsi and gsc
                              executables.

   % make realclean           Removes all the files that can be
                              regenerated by the configure script
                              and a "make" after a "make bootstrap".
                              In particular all makefiles and C files
                              generated from Scheme files are removed.
                              This is useful for bootstrapping from
                              the Scheme sources.

So the procedure for building Gambit from the tarball will be:

   % tar zxf gambc-v4_3_0-devel.tgz
   % ./configure
   % make bootstrap

After that a

   % make realclean
   % ./configure
   % make

will build the system by regenerating the .c files from .scm files  
using the gsc-comp built by the "make bootstrap".

If you have strong opinions about this or a better idea, let me know!

Marc




More information about the Gambit-list mailing list