1
0
mirror of https://github.com/PDP-10/klh10.git synced 2026-01-11 23:52:54 +00:00

Remove some old build stuff.

This commit is contained in:
Olaf Seibert 2021-07-20 18:28:58 +02:00 committed by Rhialto The M
parent ea4eb1adf6
commit 41a850677a
38 changed files with 42 additions and 888 deletions

View File

@ -23,12 +23,12 @@ immediately run DFKFB without spending any time on installation or
configuration, and get an idea of how it compares with a real KL.
[1] Build a KN10-KL for your native platform.
$ cd <distrib>/bld/<platform>
$ make base-kl
$ cd <distrib>/tmp/bld-kl
$ make
[2] Go to the DFKFB directory, if present, and run it.
$ cd ../../run/dfkfb
$ ../../bld/<platform>/kn10-kl dfkfb.ini
$ ../../tmp/bld-kl/kn10-kl dfkfb.ini
[3] Compare output with other configurations, platforms, etc.
Strut or sulk as appropriate.

View File

@ -53,6 +53,8 @@ for other ports such as MacOS or Windows have not yet been written.
$ mkdir tmp; cd tmp
$ ../configure --bindir=$KLH10_HOME
Or, if the configure script has not been created yet:
$ ../autogen.sh --bindir=$KLH10_HOME
$ make -C bld-kl
$ make -C bld-ks
$ make -C bld-ks-its
@ -226,28 +228,32 @@ BUILDING FROM SOURCES
characteristics. Normally no manual settings are needed.
$ mkdir <some fresh directory>; cd <that same directory>
Usually the directory <distrib>/tmp is chosen for this.
$ <distrib>/configure
or, to create the configure script first,
$ <distrib>/autogen.sh
This will generate 3 subdirectories with a Makefile in each.
They differ only in their default target, so that the different
They differ only in their model, so that the different
models can easily be built independently.
Directory Target Builds this emulator
--------- ------ --------------------
bld-kl base-kl kn10-kl (KL10B - runs TOPS-10/20)
bld-ks base-ks kn10-ks (KS10 - runs TOPS-10/20)
bld-ks-its base-ks-its kn10-ks-its (KS10 - runs ITS)
bld-kl all kn10-kl (KL10B - runs TOPS-10/20)
bld-ks all kn10-ks (KS10 - runs TOPS-10/20)
bld-ks-its all kn10-ks-its (KS10 - runs ITS)
The pre-configure build directories are also still there, but they
are no longer maintained, and do not cover all possible host
OS and CPU options. These are in <distrib>/bld/<os><cpu>.
PORTING
=======
If you are trying to build things on a platform with no
readily applicable Makefile or "bld" subdirectory, you are essentially
doing a new port. Here are some guides.
If you are trying to build things on a platform where the
configure script does not run successfully, you are essentially doing a
new port. This should be rare, but here are some ancient guides.
[1] Unix systems are the easiest. Mac has been done for the KS.
A couple of people are eyeing a NT/W2K/XP port but it's not there yet.
@ -265,11 +271,11 @@ doing a new port. Here are some guides.
appropriate CENV_SYS_xxx and CENV_CPU_xxx flags, and build the
target "port-ks".
[5] Once that works, move up to the target "base-ks". This is more
[5] Once that works, move up to the target "all" in bld-ks. This is more
complex but still avoids trying to build the networking code, which
is the most unportable part.
[6] Finally, try "base-kl" or "base-ks-its", either of which will try to
[6] Finally, try "all" in bld-kl or bld-ks-its, either of which will try to
build network code. It's OK if the code doesn't actually work at
first as long as it compiles, since you can still run the KN10
whether the network device is up or down.
@ -286,7 +292,9 @@ If you do need to fix or modify any of the sources, read this file:
And please let me know about them! You can send bug fixes or ideas,
including suggestions for improving the current build & install
process, to me at <klh@alum.mit.edu>.
process, to me at <klh@alum.mit.edu>. For the current distribution,
going to https://github.com/PDP-10/klh10 would be more useful.
INSTALLING BINARIES
===================
@ -338,9 +346,9 @@ As distributed, there are three base machines:
Target CPU uCode Runs
------ --- ----- ----
base-kl KL10B v.442 TOPS-10, TOPS-20
base-ks KS10 v.130 TOPS-10, TOPS-20
base-ks-its KS10 v.262 ITS
kn10-kl KL10B v.442 TOPS-10, TOPS-20
kn10-ks KS10 v.130 TOPS-10, TOPS-20
kn10-ks-its KS10 v.262 ITS
The KL10B version provides emulation for the following:

View File

@ -19,7 +19,7 @@ CONFFLAGS = -DKLH10_CPU_KLX=1 \
-DKLH10_APRID_SERIALNO=3600 \
-DKLH10_CLIENT=\"MyKL\"
all: kn10-kl DPROCS_KL ALL_UTILS
all base-kl: kn10-kl DPROCS_KL ALL_UTILS
####################################################################
##
@ -42,41 +42,6 @@ OFILES_KL = klh10.o prmstr.o fecmd.o feload.o wfio.o osdsup.o \
kn10-kl: $(OFILES_KL)
$(LINKER) $(LDFLAGS) $(LDOUTF) kn10-kl $(OFILES_KL) $(LIBS) $(CPULIBS)
####################################################################
## Specific KLH10 configurations
##
## Provided as a convenience, not intended to satisfy all
## possible platforms or configurations.
# Standard setup for KL (TOPS-10 and TOPS-20)
#
base-kl:
$(MAKER) kn10-kl $(DPROCS_KL) $(BASE_UTILS) uexbconv \
"SRC = $(SRC)" \
"CC = $(CC)" \
"CFLAGS = $(CFLAGS) $(CFLAGS_AUX)" \
"CPPFLAGS = $(CPPFLAGS)" \
"LDFLAGS = $(LDFLAGS)" \
"LIBS = $(LIBS)" \
"CPULIBS = $(CPULIBS)" \
"NETLIBS = $(NETLIBS)" \
"CENVFLAGS = $(CENVFLAGS)" \
"CONFFLAGS = \
-DKLH10_CPU_KLX=1 \
-DKLH10_SYS_T20=1 \
-DKLH10_EVHS_INT=1 \
-DKLH10_DEV_DPNI20=1 \
-DKLH10_DEV_DPTM03=1 \
-DKLH10_DEV_DPRPXX=1 \
-DKLH10_MEM_SHARED=1 \
-DKLH10_RTIME_OSGET=1 \
-DKLH10_ITIME_INTRP=1 \
-DKLH10_CTYIO_INT=1 \
-DKLH10_APRID_SERIALNO=3600 \
-DKLH10_CLIENT=\\\"MyKL\\\" \
$(CONFFLAGS_AUX) \
$(CONFFLAGS_USR) "
base-ks:
@echo "base-ks is not built in this directory."

View File

@ -20,7 +20,7 @@ CONFFLAGS = -DKLH10_CPU_KS=1 \
-DKLH10_CLIENT=\"MyITS\" \
-DVMTAPE_ITSDUMP=1
all: kn10-ks-its DPROCS_KSITS ALL_UTILS
all base-ks-its: kn10-ks-its DPROCS_KSITS ALL_UTILS
####################################################################
##
@ -44,43 +44,6 @@ OFILES_KS = klh10.o prmstr.o fecmd.o feload.o wfio.o osdsup.o \
kn10-ks-its: $(OFILES_KS)
$(LINKER) $(LDFLAGS) $(LDOUTF) kn10-ks-its $(OFILES_KS) $(LIBS) $(CPULIBS)
####################################################################
## Specific KLH10 configurations
##
## Provided as a convenience, not intended to satisfy all
## possible platforms or configurations.
# Standard setup for KS ITS
#
base-ks-its:
$(MAKER) kn10-ks-its $(DPROCS_KSITS) $(BASE_UTILS) udlconv \
"SRC = $(SRC)" \
"CC = $(CC)" \
"CFLAGS = $(CFLAGS) $(CFLAGS_AUX)" \
"CPPFLAGS = $(CPPFLAGS)" \
"LDFLAGS = $(LDFLAGS)" \
"LIBS = $(LIBS)" \
"CPULIBS = $(CPULIBS)" \
"NETLIBS = $(NETLIBS)" \
"CENVFLAGS = $(CENVFLAGS)" \
"CONFFLAGS = \
-DKLH10_CPU_KS=1 \
-DKLH10_SYS_ITS=1 \
-DKLH10_EVHS_INT=1 \
-DKLH10_DEV_DPTM03=1 \
-DKLH10_DEV_DPRPXX=1 \
-DKLH10_DEV_DPIMP=1 \
-DKLH10_SIMP=0 \
-DKLH10_MEM_SHARED=1 \
$(TINTFLAGS) \
$(DINTFLAGS) \
-DKLH10_APRID_SERIALNO=4097 \
-DKLH10_CLIENT=\\\"MyITS\\\" \
$(CONFFLAGS_AUX) \
$(CONFFLAGS_USR) \
-DVMTAPE_ITSDUMP=1 "
base-ks:
@echo "base-ks is not built in this directory."

View File

@ -17,7 +17,7 @@ CONFFLAGS = -DKLH10_CPU_KS=1 \
-DKLH10_APRID_SERIALNO=4097 \
-DKLH10_CLIENT=\"MyKS\"
all: kn10-ks DPROCS_KS ALL_UTILS
all base-ks: kn10-ks DPROCS_KS ALL_UTILS
####################################################################
##
@ -41,39 +41,6 @@ OFILES_KS = klh10.o prmstr.o fecmd.o feload.o wfio.o osdsup.o \
kn10-ks: $(OFILES_KS)
$(LINKER) $(LDFLAGS) $(LDOUTF) kn10-ks $(OFILES_KS) $(LIBS) $(CPULIBS)
####################################################################
## Specific KLH10 configurations
##
## Provided as a convenience, not intended to satisfy all
## possible platforms or configurations.
# Standard setup for KS (TOPS-20, maybe TOPS-10)
#
base-ks:
$(MAKER) kn10-ks $(DPROCS_KS) $(BASE_UTILS) \
"SRC = $(SRC)" \
"CC = $(CC)" \
"CFLAGS = $(CFLAGS) $(CFLAGS_AUX)" \
"CPPFLAGS = $(CPPFLAGS)" \
"LDFLAGS = $(LDFLAGS)" \
"LIBS = $(LIBS)" \
"CPULIBS = $(CPULIBS)" \
"NETLIBS = $(NETLIBS)" \
"CENVFLAGS = $(CENVFLAGS)" \
"CONFFLAGS = \
-DKLH10_CPU_KS=1 \
-DKLH10_SYS_T20=1 \
-DKLH10_EVHS_INT=1 \
-DKLH10_DEV_DPTM03=1 \
-DKLH10_DEV_DPRPXX=1 \
-DKLH10_MEM_SHARED=1 \
$(TINTFLAGS) \
$(DINTFLAGS) \
-DKLH10_APRID_SERIALNO=4097 \
-DKLH10_CLIENT=\\\"MyKS\\\" \
$(CONFFLAGS_AUX) \
$(CONFFLAGS_USR) "
base-ks-its:
@echo "base-ks-its is not built in this directory."

View File

@ -1,68 +0,0 @@
#!/bin/sh
#
# Simple build script to build all 3 cpu models in one go.
#
# Usage: MAKE-ALL buildtarget
#
# where buildtarget is for example nbaxp (NetBSD for Alpha AXP, or
# any other little-endian 64-bit CPU).
DEFBUILD=nbaxp
# TOP=/some/where/klh10
# Remove "/bld" or "/bld/nbaxp" from current directory, if it's there.
# In the latter case, assume that as the build type by default.
# If none of these current directories apply, this script must be run
# from the $TOP directory, and the build will be for the host as
# indicated on the command line, or nbaxp by default.
case "${PWD}" in
*/bld)
TOP="${PWD%/bld}"
;;
*/bld/*)
DEFBUILD="${PWD##*/}"
TOP="${PWD%/bld/*}"
;;
*)
TOP="$PWD"
;;
esac
BUILD=${1-$DEFBUILD}
cd $TOP || exit 1
echo "This script builds all PDP-10 variants for host $BUILD."
buildone() {
(
model="$1"
export KLH10_HOME=$TOP/new/${BUILD}-${model}
mkdir -p ${KLH10_HOME}
cd bld/$BUILD
make clean
make base-${model} CONFFLAGS_AUX=-DKLH10_I_CIRC=1 || exit $?
make tapedd vdkfmt wxtest enaddr || exit $?
make install
)
}
if [ "x$MODEL" != "x" ]
then
echo "Building $MODEL"
buildone "$MODEL"
else
echo "Building KL"
buildone kl || exit $?
echo "Building KS"
buildone ks || exit $?
echo "Building KS-ITS"
buildone ks-its || exit $?
fi
cd bld/$BUILD; make clean

View File

@ -1,2 +0,0 @@
#!/bin/sh
make base-kl CONFFLAGS_AUX=-DKLH10_I_CIRC=1

View File

@ -1 +0,0 @@
../../src/Mk-fbppc.mk

View File

@ -1,2 +0,0 @@
#!/bin/sh
make base-kl CONFFLAGS_AUX=-DKLH10_I_CIRC=1

View File

@ -1 +0,0 @@
../../src/Mk-fbx86.mk

View File

@ -1 +0,0 @@
../../src/Mk-lnaxp.mk

View File

@ -1,2 +0,0 @@
#!/bin/sh
make -k base-kl CONFFLAGS_AUX="-DKLH10_I_CIRC=1"

View File

@ -1 +0,0 @@
../../src/Mk-lnx86.mk

View File

@ -1,2 +0,0 @@
#!/bin/sh
make base-kl CONFFLAGS_AUX=-DKLH10_I_CIRC=1

View File

@ -1 +0,0 @@
../../src/Mk-lnxarm.mk

View File

@ -1,2 +0,0 @@
#!/bin/sh
make base-kl CONFFLAGS_AUX=-DKLH10_I_CIRC=1

View File

@ -1 +0,0 @@
../../src/Mk-lnxppc.mk

View File

@ -1,5 +0,0 @@
#!/bin/sh
make base-kl CONFFLAGS_AUX=-DKLH10_I_CIRC=1
# or
# make base-ks CONFFLAGS_AUX=-DKLH10_I_CIRC=1
# make base-ks-its CONFFLAGS_AUX=-DKLH10_I_CIRC=1

View File

@ -1 +0,0 @@
../../src/Mk-nbaxp.mk

View File

@ -1,4 +0,0 @@
#!/bin/sh
export KL10HOME=/scratch/tops20/emulators/panda-dist/i386
make base-kl CONFFLAGS_AUX=-DKLH10_I_CIRC=1
#make base-ks-its CONFFLAGS_AUX=-DKLH10_I_CIRC=1

View File

@ -1 +0,0 @@
../../src/Mk-nbx86.mk

View File

@ -1,2 +0,0 @@
#!/bin/sh
make base-kl CONFFLAGS_AUX=-DKLH10_I_CIRC=1

View File

@ -1 +0,0 @@
../../src/Mk-osfaxp.mk

View File

@ -1,2 +0,0 @@
#!/bin/sh
make base-kl CONFFLAGS_AUX=-DKLH10_I_CIRC=1

View File

@ -1 +0,0 @@
../../src/Mk-solsparc.mk

View File

@ -1,46 +0,0 @@
# KLH10 Makefile for FreeBSD on PPC
#
# Copyright © 2001 Kenneth L. Harrenstien
# All Rights Reserved
#
# This file is part of the KLH10 Distribution. Use, modification, and
# re-distribution is permitted subject to the terms in the file
# named "LICENSE", which contains the full text of the legal notices
# and should always accompany this Distribution.
#
# This software is provided "AS IS" with NO WARRANTY OF ANY KIND.
#
# This notice (including the copyright and warranty disclaimer)
# must be included in all copies or derivations of this software.
#
#####################################################################
# Local config setup, for BSD "make"!
# Recursively invokes make with right params for local platform.
# Build definitions
SRC = ../../src
CFLAGS = -c -g3 -O3 -I. -I$(SRC)
CFLAGS_LINT = -ansi -pedantic -Wall -Wshadow \
-Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wredundant-decls
# Source definitions
CENVFLAGS = -DCENV_CPU_PPC=1 -DCENV_SYS_FREEBSD=1 -DCENV_CPUF_BIGEND=1
# Any target with no customized rule here is simply passed on to the
# standard Makefile. If no target is specified, "usage" is passed on
# to generate a helpful printout.
usage:
@make -f $(SRC)/Makefile.mk usage
install:
@make -f $(SRC)/Makefile.mk install-unix
kn10-ks kn10-kl base-ks-its base-ks base-kl lint-ks-its lint-ks lint-kl port-ks kl0i-sync kl0i-rtmopt tapedd vdkfmt wxtest wfconv udlconv uexbconv enaddr dlmunch clean:
@make -f $(SRC)/Makefile.mk $@ \
"SRC=$(SRC)" \
"CFLAGS=$(CFLAGS)" \
"CFLAGS_LINT=$(CFLAGS_LINT)" \
"CENVFLAGS=$(CENVFLAGS)"

View File

@ -1,47 +0,0 @@
# KLH10 Makefile for FreeBSD on i386
# $Id: Mk-fbx86.mk,v 2.4 2002/04/24 18:03:32 klh Exp $
#
# Copyright © 2001 Kenneth L. Harrenstien
# All Rights Reserved
#
# This file is part of the KLH10 Distribution. Use, modification, and
# re-distribution is permitted subject to the terms in the file
# named "LICENSE", which contains the full text of the legal notices
# and should always accompany this Distribution.
#
# This software is provided "AS IS" with NO WARRANTY OF ANY KIND.
#
# This notice (including the copyright and warranty disclaimer)
# must be included in all copies or derivations of this software.
#
#####################################################################
# Local config setup, for BSD "make"!
# Recursively invokes make with right params for local platform.
# Build definitions
SRC = ../../src
CFLAGS = -c -g3 -O3 -I. -I$(SRC)
CFLAGS_LINT = -ansi -pedantic -Wall -Wshadow \
-Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wredundant-decls
# Source definitions
CENVFLAGS = -DCENV_CPU_I386=1 -DCENV_SYS_FREEBSD=1
# Any target with no customized rule here is simply passed on to the
# standard Makefile. If no target is specified, "usage" is passed on
# to generate a helpful printout.
usage:
@make -f $(SRC)/Makefile.mk usage
install:
@make -f $(SRC)/Makefile.mk install-unix
$(.TARGETS):
@make -f $(SRC)/Makefile.mk $@ \
"SRC=$(SRC)" \
"CFLAGS=$(CFLAGS)" \
"CFLAGS_LINT=$(CFLAGS_LINT)" \
"CENVFLAGS=$(CENVFLAGS)"

View File

@ -1,45 +0,0 @@
# KLH10 Makefile for Linux on amd64 / x86_64 / Alpha
# (or any other little-endian 64-bit cpu)
#
# Copyright © 2001 Kenneth L. Harrenstien
# All Rights Reserved
#
# This file is part of the KLH10 Distribution. Use, modification, and
# re-distribution is permitted subject to the terms in the file
# named "LICENSE", which contains the full text of the legal notices
# and should always accompany this Distribution.
#
# This software is provided "AS IS" with NO WARRANTY OF ANY KIND.
#
# This notice (including the copyright and warranty disclaimer)
# must be included in all copies or derivations of this software.
#
#####################################################################
# Local config setup, for GNU "make"!
# Recursively invokes make with right params for local platform.
# Build definitions
SRC = ../../src
CFLAGS = -c -g3 -O3 -I. -I$(SRC)
CFLAGS_LINT = -ansi -pedantic -Wall -Wshadow \
-Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wredundant-decls
# Source definitions
CENVFLAGS = -DCENV_CPU_ALPHA=1 -DCENV_SYS_LINUX=1 -DKLH10_DEV_LITES=1 \
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
# Any target with no customized rule here is simply passed on to the
# standard Makefile. If no target is specified, "usage" is passed on
# to generate a helpful printout.
usage .DEFAULT:
@make -f $(SRC)/Makefile.mk $@ \
"SRC=$(SRC)" \
"CFLAGS=$(CFLAGS)" \
"CFLAGS_LINT=$(CFLAGS_LINT)" \
"CENVFLAGS=$(CENVFLAGS)"
install:
make -f $(SRC)/Makefile.mk install-unix

View File

@ -1,46 +0,0 @@
# KLH10 Makefile for Linux on i386
# $Id: Mk-lnx86.mk,v 2.5 2002/04/24 18:03:04 klh Exp $
#
# Copyright © 2001 Kenneth L. Harrenstien
# All Rights Reserved
#
# This file is part of the KLH10 Distribution. Use, modification, and
# re-distribution is permitted subject to the terms in the file
# named "LICENSE", which contains the full text of the legal notices
# and should always accompany this Distribution.
#
# This software is provided "AS IS" with NO WARRANTY OF ANY KIND.
#
# This notice (including the copyright and warranty disclaimer)
# must be included in all copies or derivations of this software.
#
#####################################################################
# Local config setup, for GNU "make"!
# Recursively invokes make with right params for local platform.
# Build definitions
SRC = ../../src
CFLAGS = -c -g3 -O3 -I. -I$(SRC)
CFLAGS_LINT = -ansi -pedantic -Wall -Wshadow \
-Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wredundant-decls
# Source definitions
CENVFLAGS = -DCENV_CPU_I386=1 -DCENV_SYS_LINUX=1 -DKLH10_DEV_LITES=1 \
-DKLH10_NET_TUN=1 \
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
# Any target with no customized rule here is simply passed on to the
# standard Makefile. If no target is specified, "usage" is passed on
# to generate a helpful printout.
usage .DEFAULT:
@make -f $(SRC)/Makefile.mk $@ \
"SRC=$(SRC)" \
"CFLAGS=$(CFLAGS)" \
"CFLAGS_LINT=$(CFLAGS_LINT)" \
"CENVFLAGS=$(CENVFLAGS)"
install:
make -f $(SRC)/Makefile.mk install-unix

View File

@ -1,44 +0,0 @@
# KLH10 Makefile for Linux on ARM
# $Id: Mk-lnxarm.mk,v 2.4 2002/04/24 18:17:05 klh Exp $
#
# Copyright © 2001 Kenneth L. Harrenstien
# All Rights Reserved
#
# This file is part of the KLH10 Distribution. Use, modification, and
# re-distribution is permitted subject to the terms in the file
# named "LICENSE", which contains the full text of the legal notices
# and should always accompany this Distribution.
#
# This software is provided "AS IS" with NO WARRANTY OF ANY KIND.
#
# This notice (including the copyright and warranty disclaimer)
# must be included in all copies or derivations of this software.
#
#####################################################################
# Local config setup, for GNU "make"!
# Recursively invokes make with right params for local platform.
# Build definitions
SRC = ../../src
CFLAGS = -c -g3 -O3 -I. -I$(SRC)
CFLAGS_LINT = -ansi -pedantic -Wall -Wshadow \
-Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wredundant-decls
# Source definitions
CENVFLAGS = -DCENV_CPU_ARM=1 -DCENV_SYS_LINUX=1
# Any target with no customized rule here is simply passed on to the
# standard Makefile. If no target is specified, "usage" is passed on
# to generate a helpful printout.
usage .DEFAULT:
@make -f $(SRC)/Makefile.mk $@ \
"SRC=$(SRC)" \
"CFLAGS=$(CFLAGS)" \
"CFLAGS_LINT=$(CFLAGS_LINT)" \
"CENVFLAGS=$(CENVFLAGS)"
install:
make -f $(SRC)/Makefile.mk install-unix

View File

@ -1,44 +0,0 @@
# KLH10 Makefile for Linux on PowerPC
# $Id: Mk-lnxppc.mk,v 2.4 2002/04/24 18:19:53 klh Exp $
#
# Copyright © 2001 Kenneth L. Harrenstien
# All Rights Reserved
#
# This file is part of the KLH10 Distribution. Use, modification, and
# re-distribution is permitted subject to the terms in the file
# named "LICENSE", which contains the full text of the legal notices
# and should always accompany this Distribution.
#
# This software is provided "AS IS" with NO WARRANTY OF ANY KIND.
#
# This notice (including the copyright and warranty disclaimer)
# must be included in all copies or derivations of this software.
#
#####################################################################
# Local config setup, for GNU "make"!
# Recursively invokes make with right params for local platform.
# Build definitions
SRC = ../../src
CFLAGS = -c -g3 -O3 -I. -I$(SRC)
CFLAGS_LINT = -ansi -pedantic -Wall -Wshadow \
-Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wredundant-decls
# Source definitions
CENVFLAGS = -DCENV_CPU_PPC=1 -DCENV_SYS_LINUX=1 -DCENV_CPUF_BIGEND=1
# Any target with no customized rule here is simply passed on to the
# standard Makefile. If no target is specified, "usage" is passed on
# to generate a helpful printout.
usage .DEFAULT:
@make -f $(SRC)/Makefile.mk $@ \
"SRC=$(SRC)" \
"CFLAGS=$(CFLAGS)" \
"CFLAGS_LINT=$(CFLAGS_LINT)" \
"CENVFLAGS=$(CENVFLAGS)"
install:
make -f $(SRC)/Makefile.mk install-unix

View File

@ -1,67 +0,0 @@
# KLH10 Makefile for NetBSD on amd64 / x86_64 / Alpha
# (or any other little-endian 64-bit cpu)
#
# Copyright © 2001 Kenneth L. Harrenstien
# All Rights Reserved
#
# This file is part of the KLH10 Distribution. Use, modification, and
# re-distribution is permitted subject to the terms in the file
# named "LICENSE", which contains the full text of the legal notices
# and should always accompany this Distribution.
#
# This software is provided "AS IS" with NO WARRANTY OF ANY KIND.
#
# This notice (including the copyright and warranty disclaimer)
# must be included in all copies or derivations of this software.
#
#####################################################################
# Local config setup, for BSD "make"!
# Recursively invokes make with right params for local platform.
# Build definitions
SRC = ../../src
CFLAGS = -c -g3 -O3
CFLAGS_LINT = -ansi -pedantic -Wall -Wshadow \
-Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wredundant-decls
# Source definitions
CENVFLAGS = -DCENV_CPU_ALPHA=1 -DCENV_SYS_NETBSD=1 -include netbsd-sucks.h \
-DKLH10_NET_PCAP=1 \
-DKLH10_NET_TUN=1 \
-DKLH10_NET_TAP=1 \
-DKLH10_NET_BRIDGE=1
# Any target with no customized rule here is simply passed on to the
# standard Makefile. If no target is specified, "usage" is passed on
# to generate a helpful printout.
usage:
@make -f $(SRC)/Makefile.mk usage
install:
@make -f $(SRC)/Makefile.mk install-unix
$(.TARGETS): netbsd-sucks.h
@make -f $(SRC)/Makefile.mk $@ \
"SRC=$(SRC)" \
"CFLAGS=$(CFLAGS)" \
"CFLAGS_LINT=$(CFLAGS_LINT)" \
"CENVFLAGS=$(CENVFLAGS)"
# This auxiliary file is needed to get around a bug in the NetBSD
# /usr/include files. <stdio.h> includes <sys/types.h> which includes
# <machine/types.h> which incorrectly exposes a typedef of vaddr_t (normally
# a kernel only type), thus conflicting with KLH10's vaddr_t.
# By including this file ahead of any other source files (see the -include
# in CENVFLAGS) we can nullify the typedef.
# And while we're at it, blast paddr_t for the same reason.
netbsd-sucks.h:
@echo '/* DO NOT EDIT - dynamically generated, see Makefile */' > $@
@echo "#define vaddr_t _kernel_vaddr_t" >> $@
@echo "#define paddr_t _kernel_paddr_t" >> $@
@echo "#include <sys/types.h>" >> $@
@echo "#undef paddr_t" >> $@
@echo "#undef vaddr_t" >> $@

View File

@ -1,63 +0,0 @@
# KLH10 Makefile for NetBSD on i386
# $Id: Mk-nbx86.mk,v 2.5 2002/04/26 05:56:48 klh Exp $
#
# Copyright © 2001 Kenneth L. Harrenstien
# All Rights Reserved
#
# This file is part of the KLH10 Distribution. Use, modification, and
# re-distribution is permitted subject to the terms in the file
# named "LICENSE", which contains the full text of the legal notices
# and should always accompany this Distribution.
#
# This software is provided "AS IS" with NO WARRANTY OF ANY KIND.
#
# This notice (including the copyright and warranty disclaimer)
# must be included in all copies or derivations of this software.
#
#####################################################################
# Local config setup, for BSD "make"!
# Recursively invokes make with right params for local platform.
# Build definitions
SRC = ../../src
CFLAGS = -c -g3 -O3 -ggdb
CFLAGS_LINT = -ansi -pedantic -Wall -Wshadow \
-Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wredundant-decls
# Source definitions
CENVFLAGS = -DCENV_CPU_I386=1 -DCENV_SYS_NETBSD=1 -include netbsd-sucks.h
# Any target with no customized rule here is simply passed on to the
# standard Makefile. If no target is specified, "usage" is passed on
# to generate a helpful printout.
usage:
@make -f $(SRC)/Makefile.mk usage
install:
@make -f $(SRC)/Makefile.mk install-unix
$(.TARGETS): netbsd-sucks.h
@make -f $(SRC)/Makefile.mk $@ \
"SRC=$(SRC)" \
"CFLAGS=$(CFLAGS)" \
"CFLAGS_LINT=$(CFLAGS_LINT)" \
"CENVFLAGS=$(CENVFLAGS)"
# This auxiliary file is needed to get around a bug in the NetBSD
# /usr/include files. <stdio.h> includes <sys/types.h> which includes
# <machine/types.h> which incorrectly exposes a typedef of vaddr_t (normally
# a kernel only type), thus conflicting with KLH10's vaddr_t.
# By including this file ahead of any other source files (see the -include
# in CENVFLAGS) we can nullify the typedef.
# And while we're at it, blast paddr_t for the same reason.
netbsd-sucks.h:
@echo '/* DO NOT EDIT - dynamically generated, see Makefile */' > $@
@echo "#define vaddr_t _kernel_vaddr_t" >> $@
@echo "#define paddr_t _kernel_paddr_t" >> $@
@echo "#include <sys/types.h>" >> $@
@echo "#undef paddr_t" >> $@
@echo "#undef vaddr_t" >> $@

View File

@ -1,48 +0,0 @@
# KLH10 Makefile for NeXT on M68x
# $Id: Mk-nxt.mk,v 2.4 2001/11/10 21:28:59 klh Exp $
#
# Copyright © 2001 Kenneth L. Harrenstien
# All Rights Reserved
#
# This file is part of the KLH10 Distribution. Use, modification, and
# re-distribution is permitted subject to the terms in the file
# named "LICENSE", which contains the full text of the legal notices
# and should always accompany this Distribution.
#
# This software is provided "AS IS" with NO WARRANTY OF ANY KIND.
#
# This notice (including the copyright and warranty disclaimer)
# must be included in all copies or derivations of this software.
#
#####################################################################
#####
# WARNING: This platform is no longer supported! Its makefile is
# retained only as a guide in case anyone wants to re-port it.
#####
# Local config setup.
# Recursively invokes make with right params for local platform.
# Build definitions
CC=gcc
CFLAGS = -c -finline-functions -fomit-frame-pointer -O -O2 -pipe
SRC = ../../src
CFLAGS_LINT =
# Source definitions
CENVFLAGS = -DCENV_CPU_M68=1 -DCENV_SYS_NEXT=1
BASELIST = ks-t20
default:
@echo "Must specify a target, one of \"$(BASELIST)\""
$(BASELIST):
make -f $(SRC)/Makefile.mk kn10-ks wfconv tapedd vdkfmt
"SRC=$(SRC)" "CENVFLAGS=$(CENVFLAGS)"
"CONFFLAGS =
-DWORD10_USEGCCSPARC=1 \
-DKLH10_CPU_KS=1 \
-DKLH10_SYS_T20=1 \
$(TSYNCFLAGS) -DKLH10_CTYIO_INT=0"

View File

@ -1,52 +0,0 @@
# KLH10 Makefile for OSF/1 (DU, Tru64) on amd64 / x86_64 / Alpha
# (or any other little-endian 64-bit cpu)
# $Id: Mk-osfaxp.mk,v 2.3 2001/11/10 21:28:59 klh Exp $
#
# Copyright © 2001 Kenneth L. Harrenstien
# All Rights Reserved
#
# This file is part of the KLH10 Distribution. Use, modification, and
# re-distribution is permitted subject to the terms in the file
# named "LICENSE", which contains the full text of the legal notices
# and should always accompany this Distribution.
#
# This software is provided "AS IS" with NO WARRANTY OF ANY KIND.
#
# This notice (including the copyright and warranty disclaimer)
# must be included in all copies or derivations of this software.
#
#####################################################################
# Local config setup, for OSF1/DU/Tru64 "make"!
# Recursively invokes make with right params for local platform.
# Build definitions
# librt.a is necessary in order to get memlk (mlockall).
# May also want -non_shared in LDFLAGS to avoid OSF version problems.
SRC = ../../src
CFLAGS = -c -g3 -O -std1 -I. -I$(SRC)
CFLAGS_LINT =
LDFLAGS =
LIBS = -lrt
# Source definitions
CENVFLAGS = -DCENV_CPU_ALPHA=1 -DCENV_SYS_DECOSF=1
# Targets
# Any target with no customized rule here is simply passed on to the
# standard Makefile. If no target is specified, "usage" is passed on
# to generate a helpful printout.
usage .DEFAULT:
@make -f $(SRC)/Makefile.mk $@ \
"SRC=$(SRC)" \
"CFLAGS=$(CFLAGS)" \
"CFLAGS_LINT=$(CFLAGS_LINT)" \
"CENVFLAGS=$(CENVFLAGS)" \
"LDFLAGS=$(LDFLAGS)" \
"LIBS=$(LIBS)"
install:
make -f $(SRC)/Makefile.mk install-unix

View File

@ -1,61 +0,0 @@
# KLH10 Makefile for Solaris on SUN Sparc (using SUN's cc)
# $Id: Mk-solsparc-cc.mk,v 2.3 2002/04/24 08:03:02 klh Exp $
#
# Copyright © 2001 Kenneth L. Harrenstien
# All Rights Reserved
#
# This file is part of the KLH10 Distribution. Use, modification, and
# re-distribution is permitted subject to the terms in the file
# named "LICENSE", which contains the full text of the legal notices
# and should always accompany this Distribution.
#
# This software is provided "AS IS" with NO WARRANTY OF ANY KIND.
#
# This notice (including the copyright and warranty disclaimer)
# must be included in all copies or derivations of this software.
#
#####################################################################
# Local config setup, for SUN's make & compiler.
# Recursively invokes make with right params for local platform.
# WARNING! DO NOT USE THIS for SUN C 4.2 and possibly others.
# Note: these simple compile flags are known to work for Solaris 5 and 8
# (SunOS 5.5.1 and 5.8); using "-fast" fails on 5.8.
# Libraries are harder; -lrt doesn't exist on 5.5.1 and will have to
# be removed or modified if not building for 5.8.
# -lsocket and -lnsl are needed only for osdnet.c.
# -lrt is needed for nanosleep().
# Build definitions
# These LIBS are needed only for things using osdnet.c.
CC = /opt/SUNWspro/bin/cc
CFLAGS = -c -g -O
LIBS = -lsocket -lnsl -lrt
CONFFLAGS_AUX=-DWORD10_USEHUN=1
# Source definitions
SRC = ../../src
CENVFLAGS = -DCENV_CPU_SPARC=1 -DCENV_SYS_SOLARIS=1 \
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
# Targets
# Any target with no customized rule here is simply passed on to the
# standard Makefile. If no target is specified, "usage" is passed on
# to generate a helpful printout.
usage .DEFAULT:
@make -f $(SRC)/Makefile.mk $@ \
"CC=$(CC)" \
"SRC=$(SRC)" \
"CFLAGS=$(CFLAGS)" \
"CFLAGS_LINT=$(CFLAGS_LINT)" \
"CENVFLAGS=$(CENVFLAGS)" \
"CONFFLAGS_AUX=$(CONFFLAGS_AUX)" \
"LDFLAGS=$(LDFLAGS)" \
"LIBS=$(LIBS)"
install:
make -f $(SRC)/Makefile.mk install-unix

View File

@ -1,60 +0,0 @@
# KLH10 Makefile for Solaris on SUN Sparc
# $Id: Mk-solsparc.mk,v 2.6 2002/04/24 18:25:59 klh Exp $
#
# Copyright © 2001 Kenneth L. Harrenstien
# All Rights Reserved
#
# This file is part of the KLH10 Distribution. Use, modification, and
# re-distribution is permitted subject to the terms in the file
# named "LICENSE", which contains the full text of the legal notices
# and should always accompany this Distribution.
#
# This software is provided "AS IS" with NO WARRANTY OF ANY KIND.
#
# This notice (including the copyright and warranty disclaimer)
# must be included in all copies or derivations of this software.
#
#####################################################################
# Local config setup, for GNU "make"!
# Recursively invokes make with right params for local platform.
# Note: this makefile forces the use of GCC; SUN C 4.2 proved to have
# bugs. For a makefile that does use the SUN compiler, use
# Mk-solsparc-cc.mk instead.
# Build definitions
# -lsocket and -lnsl are needed only for osdnet.c.
# -lrt is needed for nanosleep().
CC=gcc
CFLAGS = -c -g -O3
LIBS = -lsocket -lnsl -lrt
CFLAGS_LINT = -ansi -pedantic -Wall -Wshadow \
-Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wredundant-decls
CONFFLAGS_AUX= -DWORD10_USEGCCSPARC=1
# Source definitions
SRC = ../../src
CENVFLAGS = -DCENV_CPU_SPARC=1 -DCENV_SYS_SOLARIS=1 \
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
# Targets
# Any target with no customized rule here is simply passed on to the
# standard Makefile. If no target is specified, "usage" is passed on
# to generate a helpful printout.
usage .DEFAULT:
@make -f $(SRC)/Makefile.mk $@ \
"CC=$(CC)" \
"SRC=$(SRC)" \
"CFLAGS=$(CFLAGS)" \
"CFLAGS_LINT=$(CFLAGS_LINT)" \
"CENVFLAGS=$(CENVFLAGS)" \
"CONFFLAGS_AUX=$(CONFFLAGS_AUX)" \
"LDFLAGS=$(LDFLAGS)" \
"LIBS=$(LIBS)"
install:
make -f $(SRC)/Makefile.mk install-unix

View File

@ -16,33 +16,12 @@
#
#####################################################################
# KLH10 Makefile scheme
#
# <dist>/src/
# Makefile - Top-level makefile for in-src build (not recommended)
# Makefile.mk - All generic rules and definitions
# Mk-<plat>.mk - Platform-specific definitions
#
# <dist>/bld/<plat>
# Makefile -> ../../src/Mk-<plat>.mk
# (or local version thereof)
# [any locally munged .h files]
#
# Each top-level makefile should define at least the following:
# SRC = <location of source dir>
#
#####################################################################
# Basic default definitions.
# Normally these will be overridden by build-specific make
# invocations, by any of:
# (1) concatenation fragments generated by the configure script
# in front of this Makefile.mk
# (2) concatenation of a platform-specific makefile of the
# form "Mk-<plat>.mk"
# (the most recent defs override these defaults)
# (3) command line definitions, which override those from any files.
# (2) command line definitions, which override those from any files.
# Generic compile/link flags
# Suitable for plain vanilla Unix but normally overridden.
@ -74,20 +53,16 @@ BUILDMOD = $(CC) $(CFLAGS) $(CFLAGS_AUX) $(CPPFLAGS) \
$(CENVFLAGS) $(CONFFLAGS) $(CONFFLAGS_AUX) $(CONFFLAGS_USR)
## Default if no target given to make.
## Give some help
##
default:
@echo 'Intended to be invoked from a bld/<conf>/ directory, look'
@echo 'at bld/*/Makefile for examples.'
## Default if no target given to bld/<conf> invocation
##
usage:
@echo 'Use "make <target>", eg "make base-kl"'
@echo 'Normally the target is one of these 3 base configs:'
@echo ' base-kl KL10 version for TOPS (kn10-kl and utils)'
@echo ' base-ks KS10 version for TOPS (kn10-ks and utils)'
@echo ' base-ks-its KS10 version for ITS (kn10-ks-its and utils)'
usage help:
@echo 'Use "make <target>", eg "make all"'
@echo 'Normally the target is:'
@echo ' all KL10 version and all utilities'
@echo 'Or these KN10 versions, in the appropriate directory:'
@echo ' kn10-kl KL10 version for TOPS'
@echo ' kn10-ks KS10 version for TOPS'
@echo ' kn10-ks-its KS10 version for ITS'
@echo 'Or these utilities:'
@echo ' tapedd Tape copy & conversion'
@echo ' vdkfmt Virtual disk copy & conversion'
@ -461,7 +436,7 @@ dpimp: dpimp.o dpsup.o
## Needs CONFFLAGS just for optional VMTAPE_ITSDUMP.
##
tapedd.o: $(SRC)/tapedd.c $(SRC)/vmtape.c $(SRC)/vmtape.h $(BLDSRC)/config.h
$(CC) $(CFLAGS) $(CPPFLAGS) $(CENVFLAGS) $(CONFFLAGS) $(SRC)/tapedd.c
$(CC) $(CFLAGS) $(CPPFLAGS) $(CENVFLAGS) $(CONFFLAGS) $(CONFFLAGS_AUX) $(CONFFLAGS_USR) $(SRC)/tapedd.c
tapedd: tapedd.o wfio.o prmstr.o
$(LINKER) $(LDFLAGS) $(LDOUTF) tapedd tapedd.o wfio.o prmstr.o $(LIBS)
@ -515,7 +490,7 @@ uexbconv: uexbconv.o
## ENADDR - Ethernet interface test & manipulation
## May require CONFFLAGS to force a particular osdnet config.
enaddr.o: $(SRC)/enaddr.c $(SRC)/osdnet.h $(SRC)/osdnet.c $(BLDSRC)/config.h
$(CC) $(CFLAGS) $(CPPFLAGS) $(CENVFLAGS) $(CONFFLAGS) $(SRC)/enaddr.c
$(CC) $(CFLAGS) $(CPPFLAGS) $(CENVFLAGS) $(CONFFLAGS) $(CONFFLAGS_AUX) $(CONFFLAGS_USR) $(SRC)/enaddr.c
enaddr: enaddr.o
$(LINKER) $(LDFLAGS) $(LDOUTF) enaddr enaddr.o $(NETLIBS) $(LIBS)