# Mf-install.in # Copyright 1984-2017 Cisco Systems, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. ############################################################################### # the following variables are set up by configure # ############################################################################### m=none # The following variables determine where the executables, boot files, # example programs, and manual pages are installed. # executable directory InstallBin=/usr/bin # library directory InstallLib=/usr/lib # man page directory InstallMan=/usr/man/man1 # installation owner InstallOwner= # installation group InstallGroup= # Files are actually installed at ${TempRoot}${InstallBin}, # ${TempRoot}${InstallLib}, and ${TempRoot}${InstallMan}. # This useful for testing the install process and for building # installation scripts TempRoot= # compress man pages? GzipManPages=yes # executable names InstallSchemeName=scheme InstallPetiteName=petite InstallScriptName=scheme-script # Whether to install "kernel.o" or "libkernel.a" InstallKernelTarget=installkernellib # Maybe install libz.a and liblz4.a by setting to "installzlib" and "installliz4" InstallZlibTarget= InstallLZ4Target= ############################################################################### # no changes should be needed below this point # ############################################################################### Version=csv9.5.9 Include=boot/$m PetiteBoot=boot/$m/petite.boot SchemeBoot=boot/$m/scheme.boot Revision=boot/$m/revision Scheme=bin/$m/scheme Petite=bin/$m/petite InstallLibExamples=${InstallLib}/${Version}/examples InstallLibBin=${InstallLib}/${Version}/$m Bin=${TempRoot}${InstallBin} Lib=${TempRoot}${InstallLib}/${Version} LibExamples=${TempRoot}${InstallLibExamples} LibBin=${TempRoot}${InstallLibBin} Man=${TempRoot}${InstallMan} PetitePath=${Bin}/${InstallPetiteName} SchemePath=${Bin}/${InstallSchemeName} SchemeScriptPath=${Bin}/${InstallScriptName} install: bininstall libbininstall maninstall liblibinstall ${InstallKernelTarget} uninstall: 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" \ -e "s;{InstallLibExamples};${InstallLibExamples};g" \ -e "s;{InstallLibBin};${InstallLibBin};g" \ -e "s;{InstallPetiteName};${InstallPetiteName};g" \ -e "s;{InstallSchemeName};${InstallSchemeName};g" \ -e "s;{InstallScriptName};${InstallScriptName};g" \ scheme.1.in > $@ ############################################################################### # no useful external targets below this line # ############################################################################### I=./installsh -o "${InstallOwner}" -g "${InstallGroup}" bininstall: ${Bin} $I -m 555 ${Scheme} ${SchemePath} ln -f ${SchemePath} ${PetitePath} ln -f ${SchemePath} ${SchemeScriptPath} libbininstall: ${LibBin} $I -m 444 ${PetiteBoot} ${LibBin}/petite.boot if [ "${InstallPetiteName}" != "petite" ]; then\ rm -f ${LibBin}/${InstallPetiteName}.boot;\ ln -f ${LibBin}/petite.boot ${LibBin}/${InstallPetiteName}.boot;\ fi $I -m 444 ${SchemeBoot} ${LibBin}/scheme.boot;\ if [ "${InstallSchemeName}" != "scheme" ]; then\ rm -f ${LibBin}/${InstallSchemeName}.boot;\ ln -f ${LibBin}/scheme.boot ${LibBin}/${InstallSchemeName}.boot;\ fi ln -f ${LibBin}/scheme.boot ${LibBin}/${InstallScriptName}.boot; $I -m 444 ${Include}/main.o ${LibBin} $I -m 444 ${Include}/scheme.h ${LibBin} $I -m 444 ${Revision} ${LibBin}/revision installkernelobj: ${LibBin} $I -m 444 ${Include}/kernel.o ${LibBin} installkernellib: ${LibBin} ${InstallZlibTarget} ${InstallLZ4Target} $I -m 444 ${Include}/libkernel.a ${LibBin} installzlib: ${LibBin} $I -m 444 zlib/libz.a ${LibBin} installlz4: ${LibBin} $I -m 444 lz4/lib/liblz4.a ${LibBin} maninstall: scheme.1 petite.1 ${Man} $I -m 444 scheme.1 ${Man}/${InstallSchemeName}.1 if [ ${GzipManPages} = yes ] ; then gzip -f ${Man}/${InstallSchemeName}.1 ; fi $I -m 444 petite.1 ${Man}/${InstallPetiteName}.1 if [ ${GzipManPages} = yes ] ; then gzip -f ${Man}/${InstallPetiteName}.1 ; fi liblibinstall: ${LibExamples} $I -m 444 examples/* ${LibExamples} ${Lib}: $I -d -m 755 ${Lib} ${LibBin}: ${Lib} $I -d -m 755 ${LibBin} ${LibExamples}: ${Lib} $I -d -m 755 ${LibExamples} ${Bin}: $I -d -m 755 ${Bin} ${Man}: $I -d -m 755 ${Man}