1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-01-13 07:09:58 +00:00
Interlisp.maiko/bin/makeright
Nick Briggs aa4df518a1
Release 201 corrections (#510)
* Fix compilation for maiko version 201

Version 201 does not have BIGVM, so SWA_FNHEAD requires swapx
which is defined in byteswapdefs.h

* Fix compilation for maiko version 201

Version 201 did not have NEWCDRCODING, so the implementation of
N_OP_rplcons requires definitions from gcdata.h and address.h

* Set up makeright etc. to allow for easier compilation of alternate versions

The makeright script and the makefile-* slices it depends are modified
to allow easily specifying the RELEASE version number of the Maiko emulator
to be built.  The default version remains 351, but can be changed with e.g.

RELEASE=201 ./makeright x

The object directories and executables are NOT named with the version.

* Remove unnecessary include of gcdata.h from bbtsub.c

* Users of gcdata.h should include gchtfinddefs.h explicitly if they use gcdata.h macros

* Correct modify_big_reference_count entry parameter type to reflect dependence on GCENTRY size differences between releases

* Add MAIKO_RELEASE to CMake options for building
2024-09-01 16:26:30 -07:00

119 lines
3.2 KiB
Bash
Executable File

#!/bin/sh
# $Id: makeright,v 1.5 2002/01/01 23:00:13 sybalsky Exp $
#************************************************************************/
#* */
#* (C) Copyright 1989-2001 Venue. All Rights Reserved. */
#* Manufactured in the United States of America. */
#* */
#************************************************************************/
#
# Feb. 6 1990 osamu: Add display option
# release option does not support yet.
# Apr.23 1990 osamu: add release option.
#
# Jul 18 1990 JDS: Add 'init' option for making init-loading emulators
#
# Mar 7 1991 JDS: Add '3' option for making 3-byte emulators.
#
# Nov 20 2001 JDS: Convert to use BASH, not CSH, for open-source...
#
# usage: makeright [display-option] [other-option]
#
# example: makeright single ; make lde for mmaped displayFB
# makeright multi ; make lde for cg3,cg6
# makeright x ; make lde for X-windows
# makeright color ; make lde with color support in it.
# makeright init ; make lde for loading INIT.DLINIT b/w only
#
# makeright multi requires directory "maiko/${osversion}.${architecture}-multi"
# (ex. maiko/sunos4.sparc-multi)
# object files are stored there.
#
# makeright init requires directory "maiko/init.${architecture}
#
# Note: X11R4 environment link shared libraries.
# lde need X library. If lde links shared libraries,
# X shared libraries are needed at run time.
#
# Hide X shared libraries from link libraries search path.
LD_LIBRARY_PATH=/usr/local/lib
export PATH=".:$PATH"
if test "$1" = ""
then
display="single"
else
display="$1"
fi
if test $# -gt 0
then
shift
fi
: ${RELEASE=351}
architecture=`machinetype`
osversion=`osversion`
echo "making release ${RELEASE} for ${osversion} on ${architecture}."
case "$display" in
init) display=single
releasename=init-${osversion}.${architecture}
ldename=ldeinit
;;
single) releasename=${osversion}.${architecture}
ldename=ldesingle
;;
multi) releasename=${osversion}.${architecture}-${display}
ldename=ldemulti
;;
x) releasename=${osversion}.${architecture}-${display}
ldename=ldex
;;
sdl*) releasename=${osversion}.${architecture}-${display}
ldename=ldesdl
;;
wasm) osversion=emscripten
architecture=wasm
releasename=${osversion}.${architecture}-${display}
ldename=ldesdl.js
;;
wasm_nl) osversion=emscripten
architecture=wasm_nl
releasename=${osversion}.${architecture}-${display}
ldename=ldesdl.js
;;
*) echo "display-option: $display is not supported."
exit
;;
esac
echo making with display $display releasename $releasename ldename $ldename
#if($display == single ) then
# releasename = ${osversion}.${architecture}
#else
# releasename = ${osversion}.${architecture}-${display}
#endif
# ensure that the necessary directories exist
if [ ! -d ../${osversion}.${architecture} ]; then
mkdir ../${osversion}.${architecture}
fi
if [ ! -d ../${releasename} ]; then
mkdir ../${releasename}
fi
echo start making lde for ${releasename}
# then finally do the make, including the right stuff
# With makefile-tail merged, this should only take ONE make command....
make RELEASENAME=${releasename} RELEASE=${RELEASE} LDENAME=${ldename} \
OSARCHNAME=${osversion}.${architecture} \
-f makefile-header -f makefile-${releasename} \
-f makefile-tail $*