Currently the Gambit makefiles support these targets (and more):
% 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.
This is often confusing for newcomers because in most open-source projects a "make clean" followed by "make" usually restarts the build process from the state of the distributed sources. Currently, the Gambit makefiles will remove all the C files generated by gsc (which are distributed in the tar file), so in fact the system won't build unless the user had successfully done a "make bootstrap".
To remove the confusion I'm going to rename the targets as follows:
new "clean" target = old "mostlyclean" target
new "realclean" target = old "clean" target + old "realclean" target
The mostlyclean target will be removed.
Moreover, a "make" will be equivalent to a "make bootstrap" unless the gsc-comp (Gambit compiler for bootstrapping) exists. This way, the user can get out of trouble if he does a "make realclean" after a "make".
Please let me know if you have suggestions.
Marc