diff --git a/BUILDING b/BUILDING index 2ee6d1edda..dbfe891d62 100644 --- a/BUILDING +++ b/BUILDING @@ -43,6 +43,10 @@ Prerequisites: * Header files and libraries for ncurses * Header files and libraries for X windows +Uninstalling on Unix-like systems is as simple as running: + +sudo make uninstall + BUILDING VERSION 9.5 AND EARLIER If the environment variable CHEZSCHEMELIBDIRS is set, please unset @@ -129,9 +133,12 @@ The make file supports several targets: is overridden via an argument to ./configure, $W is the same as $M.) 'sudo make install' - runs the build plus installs the resulting executable, boot files, + runs the build plus installs the resulting executables, boot files, example files, and manual pages. +'sudo make uninstall' + uninstalls the executables, boot files, example files, and manual pages. + 'make test' runs the build plus runs a set of test programs in various different ways, e.g., with different compiler options. It can take 30 minutes @@ -185,10 +192,10 @@ The make file supports several targets: WINDOWS Building Chez Scheme under 64-bit Windows with Cygwin or Bash/WSL -follows the instructions above, except that 'make install' is not -supported, and the 'OS' environment variable must be set to -'Windows_NT' on Bash/WSL (to indicate a build for Windows, as opposed -to a build for Linux on Windows): +follows the instructions above, except that 'make install' and 'make +uninstall' are not supported, and the 'OS' environment variable must +be set to 'Windows_NT' on Bash/WSL (to indicate a build for Windows, +as opposed to a build for Linux on Windows): env OS=Windows_NT ./configure env OS=Windows_NT make @@ -223,7 +230,7 @@ make This will create workareas and compile binaries for the a6nt, i3nt, ta6nt, and ti3nt configurations and then include them in a single -Windows installer package Chez Scheme.msi. The package also includes +Windows installer package Chez Scheme.exe. The package also includes example files and the redistributable Microsoft Visual C++ run-time libraries. diff --git a/LOG b/LOG index b783beadb2..1d394897d3 100644 --- a/LOG +++ b/LOG @@ -1002,4 +1002,6 @@ - clarify "unknown module" error message in determine-module-imports syntax.ss - restore the import code on reset to provide consistent error message - syntax.ss, 8.ms \ No newline at end of file + syntax.ss, 8.ms +- add uninstall target + Makefile.in, Makefile-workarea.in, Mf-install.in diff --git a/makefiles/Makefile-workarea.in b/makefiles/Makefile-workarea.in index 4bf89fc2ef..504da9df2b 100644 --- a/makefiles/Makefile-workarea.in +++ b/makefiles/Makefile-workarea.in @@ -23,6 +23,9 @@ build: install: build $(MAKE) -f Mf-install +uninstall: + $(MAKE) -f Mf-install uninstall + test: build (cd mats ; $(MAKE) allx) @echo "test run complete. check $(PREFIX)mats/summary for errors." diff --git a/makefiles/Makefile.in b/makefiles/Makefile.in index 24a6caff47..3e9428999d 100644 --- a/makefiles/Makefile.in +++ b/makefiles/Makefile.in @@ -21,6 +21,9 @@ build: install: (cd $(workarea) && $(MAKE) install) +uninstall: + (cd $(workarea) && $(MAKE) uninstall) + test: (cd $(workarea) && $(MAKE) test PREFIX=$(workarea)/) diff --git a/makefiles/Mf-install.in b/makefiles/Mf-install.in index e0977ef5f2..243060a508 100644 --- a/makefiles/Mf-install.in +++ b/makefiles/Mf-install.in @@ -79,17 +79,12 @@ SchemeScriptPath=${Bin}/${InstallScriptName} install: bininstall libbininstall maninstall liblibinstall uninstall: - @echo To uninstall all machine types: - @echo rm -rf ${Lib} - @echo rm -f ${PetitePath} - @echo rm -f ${SchemePath} - @echo rm -f ${Man}/${InstallPetiteName}.1'{,.gz}' - @echo rm -f ${Man}/${InstallSchemeName}.1'{,.gz}' - @echo "" - @echo To uninstall just machine-type $m - @echo rm -rf ${Lib}/$m - @echo rm -f ${PetitePath} - @echo rm -f ${SchemePath} + rm -rf ${Lib} + rm -f ${PetitePath} + rm -f ${SchemePath} + rm -f ${SchemeScriptPath} + rm -f ${Man}/${InstallPetiteName}.1{,.gz} + rm -f ${Man}/${InstallSchemeName}.1{,.gz} scheme.1 petite.1: scheme.1.in sed -e "s;{InstallBin};${InstallBin};g" \