added uninstall target for Unix-like systems

original commit: 4e5831fc0220ceede934f1d300b588129f770783
This commit is contained in:
Bob Burger 2018-08-31 13:22:47 -04:00
parent e57a2a73e3
commit d468c35f29
5 changed files with 28 additions and 18 deletions

View File

@ -43,6 +43,10 @@ Prerequisites:
* Header files and libraries for ncurses * Header files and libraries for ncurses
* Header files and libraries for X windows * 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 BUILDING VERSION 9.5 AND EARLIER
If the environment variable CHEZSCHEMELIBDIRS is set, please unset 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.) is overridden via an argument to ./configure, $W is the same as $M.)
'sudo make install' '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. example files, and manual pages.
'sudo make uninstall'
uninstalls the executables, boot files, example files, and manual pages.
'make test' 'make test'
runs the build plus runs a set of test programs in various different 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 ways, e.g., with different compiler options. It can take 30 minutes
@ -185,10 +192,10 @@ The make file supports several targets:
WINDOWS WINDOWS
Building Chez Scheme under 64-bit Windows with Cygwin or Bash/WSL Building Chez Scheme under 64-bit Windows with Cygwin or Bash/WSL
follows the instructions above, except that 'make install' is not follows the instructions above, except that 'make install' and 'make
supported, and the 'OS' environment variable must be set to uninstall' are not supported, and the 'OS' environment variable must
'Windows_NT' on Bash/WSL (to indicate a build for Windows, as opposed be set to 'Windows_NT' on Bash/WSL (to indicate a build for Windows,
to a build for Linux on Windows): as opposed to a build for Linux on Windows):
env OS=Windows_NT ./configure env OS=Windows_NT ./configure
env OS=Windows_NT make env OS=Windows_NT make
@ -223,7 +230,7 @@ make
This will create workareas and compile binaries for the a6nt, i3nt, This will create workareas and compile binaries for the a6nt, i3nt,
ta6nt, and ti3nt configurations and then include them in a single 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 example files and the redistributable Microsoft Visual C++ run-time
libraries. libraries.

4
LOG
View File

@ -1002,4 +1002,6 @@
- clarify "unknown module" error message in determine-module-imports - clarify "unknown module" error message in determine-module-imports
syntax.ss syntax.ss
- restore the import code on reset to provide consistent error message - restore the import code on reset to provide consistent error message
syntax.ss, 8.ms syntax.ss, 8.ms
- add uninstall target
Makefile.in, Makefile-workarea.in, Mf-install.in

View File

@ -23,6 +23,9 @@ build:
install: build install: build
$(MAKE) -f Mf-install $(MAKE) -f Mf-install
uninstall:
$(MAKE) -f Mf-install uninstall
test: build test: build
(cd mats ; $(MAKE) allx) (cd mats ; $(MAKE) allx)
@echo "test run complete. check $(PREFIX)mats/summary for errors." @echo "test run complete. check $(PREFIX)mats/summary for errors."

View File

@ -21,6 +21,9 @@ build:
install: install:
(cd $(workarea) && $(MAKE) install) (cd $(workarea) && $(MAKE) install)
uninstall:
(cd $(workarea) && $(MAKE) uninstall)
test: test:
(cd $(workarea) && $(MAKE) test PREFIX=$(workarea)/) (cd $(workarea) && $(MAKE) test PREFIX=$(workarea)/)

View File

@ -79,17 +79,12 @@ SchemeScriptPath=${Bin}/${InstallScriptName}
install: bininstall libbininstall maninstall liblibinstall install: bininstall libbininstall maninstall liblibinstall
uninstall: uninstall:
@echo To uninstall all machine types: rm -rf ${Lib}
@echo rm -rf ${Lib} rm -f ${PetitePath}
@echo rm -f ${PetitePath} rm -f ${SchemePath}
@echo rm -f ${SchemePath} rm -f ${SchemeScriptPath}
@echo rm -f ${Man}/${InstallPetiteName}.1'{,.gz}' rm -f ${Man}/${InstallPetiteName}.1{,.gz}
@echo rm -f ${Man}/${InstallSchemeName}.1'{,.gz}' 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}
scheme.1 petite.1: scheme.1.in scheme.1 petite.1: scheme.1.in
sed -e "s;{InstallBin};${InstallBin};g" \ sed -e "s;{InstallBin};${InstallBin};g" \