Newsgroups: alt.sources
Path: qiclab!psgrain!charnel!rat!usc!zaphod.mps.ohio-state.edu!darwin.sura.net!Sirius.dfn.de!dct.zrz.tu-berlin.de!news.netmbx.de!Germany.EU.net!isaak.isa.de!omega!av
From: av@omega.ssw.de (Andreas Vogel)
Subject: u386mon for SVR4
Message-ID: <1992Oct2.181044.3876@omega.ssw.de>
Date: Fri, 2 Oct 1992 18:10:44 GMT
Organization: Omega Softlab
Lines: 2697

Submitted-by: av@ssw.de
Archive-name: av386mon/part01

#!/bin/sh
# This is av386mon, a shell archive (produced by shar 3.49)
# To extract the files from this archive, save it to a file, remove
# everything above the "!/bin/sh" line above, and type "sh file_name".
#
# made 10/02/1992 17:58 UTC by av@ssw.de
# Source directory /home/src/dist-av386mon-2.40
#
# existing files will NOT be overwritten unless -c is specified
#
# This is part 1 of a multipart archive                                    
# do not concatenate these parts, unpack them in order with /bin/sh        
#
# This shar contains:
# length  mode       name
# ------ ---------- ------------------------------------------
#  21073 -rw-r--r-- README
#   2831 -rw-r--r-- README.SVR4
#    319 -rw-r--r-- CHANGES
#   8926 -rw-r--r-- Make.SVR4
#   8912 -rw-r--r-- Make.dell
#   8172 -rw-r--r-- Make.isc1
#   8993 -rw-r--r-- Make.isc2
#  10390 -rw-r--r-- Make.isc2.2
#  10389 -rw-r--r-- Make.isc2.gcc
#   7840 -rw-r--r-- Make.s2
#   7814 -rw-r--r-- Make.sVr31
#  10372 -rw-r--r-- Make.sco
#  10436 -rw-r--r-- Make.sco.gcc
#   1393 -rw-r--r-- EXPLAIN
#  41336 -rw-r--r-- u386mon.c
#   6997 -rw-r--r-- bootinfo.c
#  12559 -rw-r--r-- detail.c
#  24177 -rw-r--r-- det_proc.c
#  13242 -rw-r--r-- det_sio.c
#   5717 -rw-r--r-- det_stream.c
#  10325 -rw-r--r-- det_table.c
#   5112 -rw-r--r-- det_wd.c
#   6085 -rw-r--r-- disputil.c
#   1194 -rw-r--r-- kludge.c
#   3407 -rw-r--r-- libkmem.c
#   3147 -rw-r--r-- libmem.c
#  19955 -rw-r--r-- libpanel.c
#   2333 -rw-r--r-- libswap.c
#   3258 -rw-r--r-- libnlsym.c
#   3397 -rw-r--r-- nlsym.c
#   7021 -rw-r--r-- proc.c
#   3190 -rw-r--r-- tune.c
#   3560 -rw-r--r-- var.c
#   2509 -rw-r--r-- config.h
#   1192 -rw-r--r-- libkmem.h
#   1188 -rw-r--r-- libmem.h
#   2312 -rw-r--r-- libpanel.h
#   1113 -rw-r--r-- libswap.h
#   1159 -rw-r--r-- libnlsym.h
#   7620 -rw-r--r-- lint_args.h
#   8915 -rw-r--r-- nlsym.h
#   4671 -rw-r--r-- u386mon.h
#   1200 -rw-r--r-- renice/Makefile
#   4465 -rw-r--r-- renice/renice.c
#   3033 -rw-r--r-- panel/README
#   4935 -rw-r--r-- panel/panel.3
#   6321 -rw-r--r-- panel/ptest.c
#    349 -rw-r--r-- panel/Makefile
#
if test -r _shar_seq_.tmp; then
	echo 'Must unpack archives in sequence!'
	echo Please unpack part `cat _shar_seq_.tmp` next
	exit 1
fi
# ============= README ==============
if test -f 'README' -a X"$1" != X"-c"; then
	echo 'x - skipping README (File already exists)'
	rm -f _shar_wnt_.tmp
else
> _shar_wnt_.tmp
echo 'x - extracting README (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'README' &&
u386mon 2.40 README - Thu Aug 01 23:21:51 EDT 1991
==================================================
X
This is u386mon 2.40, a "performance" monitor, ostensibly for SCO UNIX
V/386 and ISC 386/ix, although it has been ported to a 68k VME System V
Release 3.1 platform and to ISC 1.0.x and to the Tandem Integrity S2
(both S5R3.0-ish).  Also, a renice is included as an example of
alternate uses of the kmem/mem/swap utility objects.
X
Thanks to some excellent work by martin@hppcmart.grenoble.hp.com (Martin
Croome), STREAMS, table and winchester statistics are new since the last
released version (2.20).  These are currently enabled only on SCO and
S5R3.1 since that's all we had to test with.  I asked for porting
assistance from several, but I guess everybody had a busy spring and
summer.  Bless nba@sysware (Neils Baggesen) for doing the work for the
3.1 world.
X
U386mon has been tested on SCO 3.2.x and ODT and ISC 1.0.x, 2.0.x and
2.2.x, Tandem Integrity S2 NonStop-UX and at least one MC68000 VME-based
Sys V Rel 3.1 system.
X
These may work with other UNIX System 5 Release 3.x systems with a
little work.  XENIX systems have greatly different kernel
implementations and use xlist instead of nlist.  These programs will not
work there; sorry.  Someone reported he was working on a port to XENIX,
but jct!jct's mon386 is great (posted to comp.unix.xenix on 11 Jul 89 in
9 parts, starting with Message-ID: <278@jct.UUCP>).
X
U386mon requires terminfo style curses and will use color if you have
it.  It works best with a 43 line (or greater) screen, but will work
with a 25 line screen with some limitations.  It works very well on SCO
ODT, Metro Link X11R4 and ISC xterms.  On a Wyuse 60, the SCO color
curses does some interesting attribute mappings.
X
On a 20Mhz Compaq 386 running SCO UNIX 3.2.0, u386mon on a 43-line VGA,
with a two second update interval, appears to consume 3 to 5% of the CPU
when in the "main" display and about 7 to 11% when displaying process
status (NPROC, v.v_proc == 100).  This is a bit expensive, but the job
is sorta hard: according to prof(1)/prof(CP), 50% of the time is spent
in curses.  Of course, on the Tandem Integrity S2 (a MIPS based
machine), these figures were MUCH, MUCH lower :-).  On a 486 33 MHz
machine, I get very much lower figures as well.  In fact, the guy was so
fast we found a divide by zero possibility where u386mon could run a
whole cycle without ticking the clocks, getting zero total cpu ticks
over the cycle.
X
Acknowledgments
===============
X
Thanks to martin@hppcmart.grenoble.hp.com (Martin Croome), who gets
complete credit for the nice SCO STREAMS, table and winchester statistics.
Neils Baggesen ported/tested them on S5R3.1.
X
Thanks to peter@radig.de (Peter Radig), dug@kd4nc (Doug Drye),
jdc@uudell.dell.com (Jeremy Chatfield), andy@rbdc (Andy Pitts),
trb@ima.ima.isc.com (Andrew Tannenbaum) for the help with ISC 386/ix.
X
Thanks to nba@sysware.dk (Neils Baggesen) and allbery@ncoast.org
(Brandon Allbery) for the System V Release 3.1 work.
X
Thanks to jmd@tdmsou (emory!n4hgf!tdmsou!jmd, John Dashner) for the Tandem
S2 work.
X
If I missed mentioning some work you did, please accept my apology and
remind me.
X
Yellow Brick Road
=================
X
Read through this and you will finally reach "How to get going" below.
X
Sample output (somewhat obsolete)
=================================
(with 43-line screen; a 25 line screen will be missing Var/Bootinfo/Tune/Proc
on the 'main' display)
X
X u386mon 2.11/SCO 3.2 - n4hgf                                 04:39:36 wht@n4hgf
---- CPU --- tot usr ker brk ---------------------------------------------------
X Instant %    93  54  39   0 uuuuuuuuuuuuuuuuuuuuuuuuuuukkkkkkkkkkkkkkkkkkk     
X 5 Sec Avg %  87  26  61   0 uuuuuuuuuuuuukkkkkkkkkkkkkkkkkkkkkkkkkkkkkk        
10 Sec Avg %  89  45  44   0 uuuuuuuuuuuuuuuuuuuuuukkkkkkkkkkkkkkkkkkkkkk       
---- Wait -- tot  io pio swp -- (% of real time) -------------------------------
X Instant %     5   5   0   0 ii                                                 
X 5 Sec Avg %  12  12   0   0 iiiiii                                             
10 Sec Avg %   9   9   0   0 iiii                                               
---- Sysinfo/Minfo --- (last  1000 msec activity) ------------------------------
bread          5  readch    60416  pswitch    21   vfault    1    unmodsw   0   
bwrite         9  writch     2507  syscall   261   demand    1    unmodfl   0   
lread        331  rawch         2  sysread   100   pfault   15    psoutok   0   
lwrite        42  canch         0  syswrit     4   cw        0    psinfai   0   
phread         0  outch      2508  sysfork     1   steal    15    psinok    0   
phwrite        0  msg           0  sysexec     0   frdpgs    0    rsout     0   
swapin         0  sema          0                  vfpg      0    rsin      0   
swapout        0  maxmem    5724k  runque      0   sfpg      0                  
bswapin        0  frmem     3284k  runocc      0   vspg      0    pages on      
bswapout       0  mem used    43%  swpque      0   sspg      0    swap      0   
iget          72  nswap    10000k  swpocc      0   pnpfault  0    cache     0   
namei         71  frswp    10000k                  wrtfault  0    file      0   
dirblk        92  swp used     0%                                               
X                                                                                
X                                                                                
X                                                                                
-- Var ---------  -- Bootinfo ----------   -- Tune ---------  -- Proc ---       
v_autoup      10  basemem      640k        t_ageintvl      9  sleep    22       
v_buf        600  extmem      6144k        t_bdflushr      1  run       1       
v_clist      200  bflags   00000000        t_gpgshi       40  zombie    0       
v_file       200  memory available         t_gpgslo       25  stop      0       
v_hbuf        64  00000000 000a0000        t_gpgsmsk   0x420  idle      0       
v_inode      200  00100000 00600000        t_maxfc         1  onproc    1       
v_maxpmem      0  00f40000 00060000 NODM   t_maxsc         1  xbrk      0       
v_maxup       60  memory used              t_maxumem    2560  total    24       
v_mount        5  00000000 00004000 RSVD   t_minarmem     25  in mem   24       
v_pbuf        20  006bb000 00037000 KBSS   t_minasmem     25                    
v_proc       100  006f2000 0000e000 KDTA                                        
v_region     210  00fa9000 00057000 KTXT                                        
v_vhndfrac    16                                                                
X
The main display
================
X
A brief description of reported information:
X
0.  The '+' and '-' command adds or subtracts one second from the
X    update interval.  The value at startup is 2 seconds, the
X    range 1 to 4.  Below, the terms "x1", "x5" and "x10" mean
X    "interval X 1", "interval times 5" and "interval times 10,"
X    respectively.
X
X    You can determine the update interval by looking at the top
X    CPU histogram, labeled "Instant" for 1, "X sec" for 2-4 second
X    intervals.
X
X    On some *fast* systems, values may be too large in 3 and 4
X    second intervals and corrupt the display.  But the, you have
X    the extra CPU to run it more often :-).
X
1.  The CPU utilization is shown with smoothing of x1 ("instant" if
X    the update interval is 1 second), x5 and x10 seconds.  Total
X    CPU usage is shown, with user, kernel and "break" subdivided.
X    Most performance utilities (vmstat) lump kernel (CPU_KERNEL)
X    and wait (CPU_WAIT) times together as kernel time.  u386mon
X    considers CPU_WAIT time as idle (the CPU could have been
X    doing something if an otherwise ready process wasn't waited).
X
X    On a color display, total cpu utilization is displayed in
X    green if the cpu utilization is below 70%, yellow if utilization
X    is between 70% and 89% and red if 90% or above.
X
2.  The Wait display shows the x1, x5 and x10 second smoothed
X    percentages of real time no process could be run because
X    otherwise ready to run processes were waiting on logical,
X    swap or physical I/O.
X
X    On a color display, total wait time is displayed in green if
X    it is below 30%, yellow if utilization is between 30% and 49%
X    and red if 50% or above.
X
3.  Sysinfo/Minfo display shows, generally, the number of events
X    for a measured value since the last display update.  For
X    example, runque shows the number of times a process was
X    placed on the run queue.  An exception is the memory and swap
X    space fields: These numbers reflect absolute current
X    utilization over the period shown in the "last XXXXX msec"
X    value in the banner.  Periods of 4000 milliseconds are shown
X    in red, 1500 to 3990 milliseconds in blue and less than 1500
X    milliseconds in the normal banner color.
X
X    My guess as to the meaning of the sysinfo and minfo values is
X    in the file EXPLAIN.  I am not familiar with the meanings of
X    all the items, having looked through the header files, sar
X    man pages and the other UNIX hacker-ganda I could find.
X    Comments are appreciated.
X
4.  If you run u386mon on a 43 line display, extra information is displayed
X    on the bottom of the screen (from the struct var v, bootinfo
X    and proc kernel databases).
X
X    On a 24/25-line screen, the 'e' command accesses the Var/Bootinfo/
X    Tune/Proc display, overlaying the Sysinfo/Minfo display.
X    Using 'm' returns you to the main display.
X
X    Bootinfo will be missing from version running on platforms which
X    do not support it.
X
5.  On a color display, static numeric values, such as maxmem appear
X    in blue (the same color as screen literals/labels).  Dynamic
X    numeric values are displayed in green, with the exception of
X    total cpu and wait percentages, which appear in light green,
X    red or yellow.
X
6.  An "INEXACT" indication on the top line means that u386mon was
X    not scheduled quickly enough to capture accurate 1 second (nominal)
X    values.  Continued INEXACT indication suggests the x5 and x10
X    second smoothed values are also wrong.
X
X    An "INVALID" indication means u386mon was scheduled 3 or more
X    seconds late; all percentage isplays are now suspect.
X
7.  IN GENERAL, if you see any red characters on the display,
X    immediately take grain of salt. If you have no color screen
X    and still see red, add tequila to salt.
X
8.  If you are running as root, you may use the -l switch or the
X    'l' command to lock u386mon into memory.  If you do this, PLOCK
X    will appear at the top of the screen to remind you of this hoggy
X    behavior.  The u386mon process will not be listed in a process
X    status display since SSYS (locked, resident) processes are not
X    shown.
X
9.  The ISC bootinfo field will have different information due to
X    different porting by ISC and SCO.
X
Process Status Display
======================
X
1.  Pressing 'p' causes a process status display of sorts to be
X    shown, overlaying Sysinfo/Minfo on a 25 line screen or
X    Var/Bootinfo/Tune/Proc on a 43 line screen.  On a 43 line screen, 'P'
X    causes a larger ps display to be shown, overlaying Sysinfo/Minfo and
X    Var/Bootinfo/Tune/Proc.
X
X    Sample output:
X
S     USER   PID  CPU PRI NI  UCPU   SCPU  SIZE TTY CMD
s     root    148   0  26 20   0:00   0:05  108  ?? /etc/cron
s      wht  14946   2  39 20   0:02   0:11  224  05 TMR 01000a12
s      wht  14947   2  39 20   0:02   0:11  220  05 TMR 01011101
s      wht  14950   0  27 20   0:00   0:02  228  05 IP 01000a12
s      wht  14951   1  27 20   0:00   0:02  224  05 IP 01011101
s      wht  14952   0  27 20   0:01   0:02  228  05 TP4 01000a12
s      wht  14953   1  27 20   0:01   0:03  224  05 TP4 01011101
s      wht  14957   0  27 20   0:00   0:04  200  05 smpad.x
s      wht  14960   1  27 20   0:00   0:04  204  05 mmpad.x
s     root  15044   0  28 20   0:01   0:01  296  12 vi README
s     uucp  15053   0  30 26   0:00   0:00  696  ?? /usr/lib/uucp/uusched
s     uucp  15055   0  30 26   0:00   0:00  748  ?? UUCICO -r1 -sgatech
s     uucp  15060   0  28 26   0:00   0:00  768  ?? dialTBIT tty2E 2222222UC 192
X
X    NOTES
X    a.   S - two character status
X            1st character - process status
X               s - sleeping
X               R - ready to run (might be running if u386mon were not)
X               z - zombie
X               d - stopped by debugger
X               i - idle (in creation?)
X               p - running on processor (on single CPU systems, only u386mon
X                   will show this)
X               x - XBREAK - process growing or shrinking
X            2nd character - process swap status
X               S - process is swapped
X               blank - process is in memory
X
X    b.  If the process is running with setuid, a '#' appears to
X        the right of the username.
X
X    c.  On color systems, processes ready to run are shown in yellow
X        unless they are ready, but swapped out, in which case they
X        are shown in red.
X
3.  Since a limited space is available for displaying process
X    status, particularly on a 25-line screen, a selective elimination
X    algorithm is used to whittle the list when insufficient room
X    is available.  init (pid 1) and system/resident (SSYS)
X    processes are never displayed.  When a display cycle is to begin
X    and there is not room for all of the processes to be shown,
X    processes are eliminated in the following order:
X
X    a. 'getty', 'uugetty', 'sh', 'csh', and 'ksh'
X    b. swapped and zombie processes
X    c. no cpu processes (no cpu time during last cycle)
X    d. sleeping processes
X
X    If there is still insufficient room, an indication to the effect
X    is displayed (tough cookies).
X
Disk (Winchester) display
=========================
X
This display shows each disk and diskette device known to the system
and performance statistics for each.  Currently, the information is
available only on SCO systems.  The percentages will be inaccurate for
one or two display cycles after the 'w' (winchester) selection
becomes active.  Further updates may be inaccurate due to either
noisy kernel data, data capture latency, our having to guess a
lot, or any combination of the above.
X
STREAMS (Net) display
=====================
X
This display shows STREAMS queues and buffers utilization a bit
faster and more dynamically than /etc/crash strstat!  Currently,
the information is available only on SCO systems.
X
Table Display
=============
X
The current and maximum occupancy of various kernel tables are displayed.
This may not be enabled for all systems (I couldn't test Everywhere!).
X
Sio display
===========
X
The experimental, "undocumented" sio display is a stab at tty I/O
monitoring for SCO only. It will misbehave harmlessly if you do
not have the sio driver installed (i.e., FAS in use).
X
A $0.0002 tour: why nlsym and /unix.nlsym?
==========================================
X
Access to kernel (/dev/kmem) and physical (/dev/mem) memory and
swap (/dev/swap) is required for u386mon to do its thing.
To find kmem addresses of interest, an nlist(S) call must be made
against /unix.  This can be quite expensive.
X
The 'nlist' procedure is performed by a separate program (nlsym)
and the resulting nlist structure array is stored in /unix.nlsym.
u386mon thus may obtain nlist information rapidly without nlist(S) each
time it is executed.  Also stored in /unix.nlsym is a stat structure of
/unix at the time of nlsym execution.  A unique word is stored at the
end of the file in case /unix.nlsym's nlist structure is expanded for
other applications.  The u386mon program reads /unix.nlsym by means
of facilities in libnlsym.c.  If the stat structure in /unix.nlsym
does not match a dynamic stat of /unix or if the unique word does
not match, the nlist information is not trusted and u386mon prompts
the user to run (or have run) the nlsym program to update /unix.nlsym.
X
Many symbols are nlist'ed by nlsym which are not used by u386mon.
You may find other uses for libnlsym/libkmem which make use of them.
X
How to get going
================
X
1.  Copy the appropriate Make. file to Makefile, depending on
X    your type of system.  It has been a while since I have had
X    good reports on the various OSs other than SCO UNIX, so good luck.
X
X    Make.dell           DELL System V (ISC derived)
X    Make.isc1           ISC 1.x
X    Make.isc2           ISC 2.x
X    Make.isc2.gcc       ISC 2.x with gcc (untested)
X    Make.s2             Tandem Integrity S2 Non-Stop UX
X    Make.sVr31          Various System 5 Release 3.1 (good luck)
X    Make.sco            SCO UNIX 3.2, 3.2.1, 3.2r2, ODT 1.x
X    Make.sco.gcc        same with gcc 1.39
X
2.  Edit Makefile to change BINDIR to match your local requirements.
X    If you have a kernel that knows about MERGE386 as with SCO ODT,
X    add -DMERGE386 to CFLAGS. Likewise, if you have VPIX, add -DVPIX.
X    You may need to add -Dm68k for a MC68000 system if your
X    compiler does not (This may sound like an odd statement for a
X    program with 386 in the name, but we are broadening our territory :->).
X
3.  make all.  Please report compile errors to me.  You shouldn't
X    get any on SCO 3.2.x or ISC 2.x.x for any "recent" or current versions.
X
3a. Note: Don't worry, if on SCO makes, you see warnings on many modules'
X    compilation similar to the following:
X
X                 cc -nointl -c -Octl -CSON -DLINT_ARGS u386mon.c
X        u386mon.c
X        /usr/include/tinfo.h(442) : warning C4005: 'box' : redefinition
X        /usr/include/tinfo.h(443) : warning C4005: 'newterm' : redefinition
X
X    This is confusion on part of tinfo.h resulting from our use of
X    some valuable speedup macros built into tinfo.h, but not quite
X    kosher enough to satisfy the compiler we know what we are doing.
X    If it bothers you, or something breaks, remove #define CURSES_MACROS
X    from u386mon's config.h.
X
3b. If you get undefined externs for is_linetouched and is_wintouched(),
X    you can try editing config.h and #define NO_ISTOUCH.  Good luck -
X    these are hack attempts and I have no idea if they will work.
X
4.  You must run make install as root since u386mon must be setuid to
X    'mem' ('sys' for ISC) and nlsym must produce /unix.nlsym.
X    For S5R3.1 systems, all bets on "make install" are off.  I don't
X    know what it takes, it'll vary from system to system, and the
X    Make.sVr31 is only a guide.  For instance, you may want to
X    rename the program to u68kmon on 68000 systems :-).
X
X    If you are a user of old u386mon versions, run the new nlsym since
X    the older /unix.nlsym format is not compatible with this version.
X
5.  Sources are in 4-spaced tab format (please don't flame :->).
X
6.  Under SCO, you may have to chgrp mem /dev/swap; I did.  For some reason,
X    I found the group name for /dev/swap on my system to be 'network'.
X    I guess something may have been broken by my changing the group,
X    but it hasn't bit me yet (now 2 months, but I don't have any EtherStuff).
X
X    The ISC Makefile unconditionally sets g+r on /dev/swap, since this
X    necessary permission is not ordinarily present.
X
7.  usage: u386mon [-l] [-p | -P]
X    -l lock process into memory (if root)
X    -p begin with short ps display
X    -P begin with long ps display (if 43 line screen)
X    -w begin with disk (winchester) stats [SCO and S5R3.1 only]
X    -n begin with STREAMS (net) stats [SCO and S5R3.1 only]
X
8.  If you are running SCO and get 4 as the size of most or all processes,
X    try adding -DUSIZE_FIXED.  SCO 3.2.0 had this info in the struct
X    user fields u_tsize, u_dsize, u_ssize wrong, IMHO, and fixed it
X    in ODT/3.2.1.  See det_proc.c for more detail.  Your port
X    may/WILL vary.
X
9.  The renice program by Ford Ditto, from which the kmem routines
X    came, has been reworked and in included with this release.
X    It needs a current /unix.nlsym.
X
X    usage: renice -# pid     decrease nice by #
X           renice +# pid     increase nice by #
X           renice =# pid     set nice to #
X
X    The traditional privileges for root and non-root are supported.
X
10. The libpanel.c module is not an efficient replacement for the
X    SVR3.2 panel facility.  It is, however, fully featured and serves
X    the needs of u386mon, assisting a port to SVR3.1.  It seems
X    efficient enough to use in lieu of native (vendor-supplied)
X    panels.
X
Comments are appreciated, especially bug fixes and information
helping to port the program to another 386 SVR3 system.
Somebody was purported to be working on a XENIX/386 lookalike.
X
NO FSF, LPF, FOO or LSD -- just free.
X
{gatech,emory}!n4hgf!wht -or- wht@n4hgf.Mt-Park.GA.US
X
Many thanks to:
aaron@odt.icom.com
alan@cms2
allbery@ncoast.org
andy@rbdc
bbt.se!pgd
cms2!alan
dionj@sco.com (triple plus thanks)
dug@kd4nc
focsys!larry
howardl@wb3ffv.ampr.org
hppcmart!martin
jdc@uudell.dell.com
jonl@sco.com
larry@focsys
marlor@cup.portal.com
nba@sysware.dk
pat@rwing
randy@chinet.chi.il
soward@ms.uky.edu
steen@kiku.dk
trb@ima.ima.isc.com
radig.de!peter
wgs6386!budp
SHAR_EOF
chmod 0644 README ||
echo 'restore of README failed'
Wc_c="`wc -c < 'README'`"
test 21073 -eq "$Wc_c" ||
	echo 'README: original size 21073, current size' "$Wc_c"
rm -f _shar_wnt_.tmp
fi
# ============= README.SVR4 ==============
if test -f 'README.SVR4' -a X"$1" != X"-c"; then
	echo 'x - skipping README.SVR4 (File already exists)'
	rm -f _shar_wnt_.tmp
else
> _shar_wnt_.tmp
echo 'x - extracting README.SVR4 (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'README.SVR4' &&
/*
**
**                           R E A D M E . S V R 4
**
**
**  Porting notes for u386mon for SVR4
**
**      Module:     README for SVR4
**      Author:     Andreas Vogel (AV) (av@ssw.de)
**
**  Modification history:
**
**      30-SEP-1992 AV      creation of this file
**
*/
X
This is a additional README file for u386mon ported to SVR4.
Please note, that this is a first an *really* quick & dirty port to
SVR4. Further I'm not sure if I've done it really correct. The problem
is, that I've no descriptions on the internal kernel variables and
their meanings.
X
My porting is based on u386mon-2.40 PL1.
X
I've tried to only *add* things to the existing source in order to
preserve the internal structure.
X
In order to build and run u386mon on SVR4, you have to copy Make.SVR4
to Makefile and edit Makefile to your local needs.
X
Instead of using preprocessor flags on the command line, I've decided to
put them in config.h.
X
All should compile well. Before you could run the program itself, you have
to produce the nlist symbol table of your /unix. Just run nlsym as root.
X
For most aspects of this program, the original descriptions in EXPLAIN
and README are still valid you should have a look at them.
X
I am interested in getting comments and corrections concerning my port.
I'm not sure if I'll have time to provide new releases or bug fixes,
but maybe we could find a form of organizing further improvements and
corrections.
X
There are several parts in the source which should change in the future.
I've left them (currently) untouched, because changing them would also mean
changing the internal structure of the code.
X
X
TODO:
X
The next thing I want do to is using mmap() for accessing the data structures
in the kernel instead of using read() and lseek(). I think that will reduce
the access time to kernel variables drastically.
X
Adding stream statistics, boot information and so on. Just looking at crash(1)
gives many hints for adding bells and whistles :-))
X
X
BUGS:
X
X    1) As far as I can see, the following entries are not correct:
X
X	    maxmem
X	    frmem
X	    nswap
X	    frswp
X
X       I am working on it.
X
X    2) The nice value is obsolete in SVR4 and it is really hard to
X       determine its value (it has been left in for compatibilty).
X       So two '?' will show up in the column containing the nice value.
X
X    3) Many others, I assume...
X
As the original source this port is absolutely free.
NO FSF, LPF, FOO or LSD -- just free. (quoted from the original README)
X
Once again, comments, questions, bug fixes and congratulations :-)
are appreciated and welcome; flames >& /dev/null :-))
X
Hope that's all,
X
______________________________________________________________________________
X
Andreas Vogel                   Bahnhofstr. 13 / D-7300 Esslingen / Germany
X				Voice:  +49-711/357613
X				E-Mail: av@ssw.de
SHAR_EOF
chmod 0644 README.SVR4 ||
echo 'restore of README.SVR4 failed'
Wc_c="`wc -c < 'README.SVR4'`"
test 2831 -eq "$Wc_c" ||
	echo 'README.SVR4: original size 2831, current size' "$Wc_c"
rm -f _shar_wnt_.tmp
fi
# ============= CHANGES ==============
if test -f 'CHANGES' -a X"$1" != X"-c"; then
	echo 'x - skipping CHANGES (File already exists)'
	rm -f _shar_wnt_.tmp
else
> _shar_wnt_.tmp
echo 'x - extracting CHANGES (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'CHANGES' &&
Some of the changes for 2.30:
XFrom emory!sysware.dk!nba Wed May 15 15:12:59 1991
Date: Wed, 15 May 91 15:59:20 MET
Hi,
X
SV R3.1 has streams as well as tables, so the addition are the major fixes.
Probably some other conditional is appropriate.
Then I rename det_streams.c to det_stream.c to be able to use RCS.
X
/Niels
SHAR_EOF
chmod 0644 CHANGES ||
echo 'restore of CHANGES failed'
Wc_c="`wc -c < 'CHANGES'`"
test 319 -eq "$Wc_c" ||
	echo 'CHANGES: original size 319, current size' "$Wc_c"
rm -f _shar_wnt_.tmp
fi
# ============= Make.SVR4 ==============
if test -f 'Make.SVR4' -a X"$1" != X"-c"; then
	echo 'x - skipping Make.SVR4 (File already exists)'
	rm -f _shar_wnt_.tmp
else
> _shar_wnt_.tmp
echo 'x - extracting Make.SVR4 (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'Make.SVR4' &&
#+-------------------------------------------------------------------
#  Makefile for u386mon for SVR4 with gcc
#  Andreas Vogel (av@ssw.de) 30-SEP-1992
#--------------------------------------------------------------------
X
#------------> CFLAGS_LOCAL
# Use -DVPIX         if you have kernel support for VP/ix
#                    whether installed or not
# Use -DMERGE386
#                    if you have kernel support for Merge/386 (ODT-DOS)
#                    whether installed or not
#
# Use -DUSIZE_FIXED  if you get erroneous process sizes (leave off for 3.2.0;
#                    you do want this for any UNIX after 3.2.0 or any ODT)
#
# Use -DSCO322       if you are using SCO version 3.2.2 (UNIX 3.2r2 or ODT 1.1)
#                    or later
#
CFLAGS_LOCAL = -DSVR4
X
#--> gcc (some people make their gcc predefine 'i386' but others do not)
#        You'll get bad explosions with -pedantic -ansi' unless you've
#        hacked your header files to remove #idents plus some other changes.
#        You probably want to substitute -traditional (I like GccAbuse).
X
CC      = gcc
CFLAGS  = -c $(CFLAGS_LOCAL) -g -fwritable-strings
LDFLAGS = #-s
X
#------------> LIB
LIB =  -lpanel -ltermlib -lelf -lx #-lmalloc -lc_s
X
#------------> KMEMGRP
KMEMGRP = mem
X
#------------> BINDIR
BINDIR = /usr/local/bin
X
VERSION = 2.40
X
#handle Sys V make "feature" of using SHELL
SHELL = /bin/sh
X
#FCRC = fcrc -u $*.c ;
.c.o:
X	@echo ignore redefinition warnings for box and newterm;
X	$(FCRC) $(CC) $(CFLAGS) $*.c 
X
SRC = \
X	u386mon.c\
X	bootinfo.c\
X	detail.c\
X	det_proc.c\
X	det_sio.c\
X	det_stream.c\
X	det_table.c\
X	det_wd.c\
X	disputil.c\
X	kludge.c\
X	libkmem.c\
X	libmem.c\
X	libpanel.c\
X	libswap.c\
X	libnlsym.c\
X	nlsym.c\
X	proc.c\
X	tune.c\
X	var.c
X
HDR = \
X	config.h\
X	libkmem.h\
X	libmem.h\
X	libpanel.h\
X	libswap.h\
X	libnlsym.h\
X	lint_args.h\
X	nlsym.h\
X	u386mon.h
X
NLSYM_OBJ =\
X	nlsym.o
X
U386MON_OBJ =\
X	u386mon.o\
X	detail.o\
X	det_proc.o\
X	det_sio.o\
X	det_stream.o\
X	det_table.o\
X	det_wd.o\
X	bootinfo.o\
X	kludge.o\
X	proc.o\
X	tune.o\
X	var.o\
X	disputil.o\
X	libkmem.o\
X	libmem.o\
X	libswap.o\
X	libpanel.o \
X	libnlsym.o
X
SHARFLS = \
X	README\
X	README.SVR4\
X	CHANGES\
X	Make.*\
X	EXPLAIN\
X	$(SRC)\
X	$(HDR)\
X	renice/Makefile\
X	renice/renice.c\
X	panel/README\
X	panel/panel.3\
X	panel/ptest.c\
X	panel/Makefile
X
all: nlsym u386mon
X
#must run as root
install: all
X	strip nlsym
X	mcs -d nlsym
X	cp nlsym $(BINDIR)
X	chown bin $(BINDIR)/nlsym
X	chgrp bin $(BINDIR)/nlsym
X	chmod 711 $(BINDIR)/nlsym
X	strip u386mon
X	mcs -d u386mon
X	mv u386mon $(BINDIR)
X	chown bin $(BINDIR)/u386mon
X	chgrp $(KMEMGRP) $(BINDIR)/u386mon
X	chmod 2711 $(BINDIR)/u386mon
X	$(BINDIR)/nlsym
X	@echo ' ';echo 'csh users rehash before executing'
X
nlsym: $(NLSYM_OBJ)
X	$(CC) $(LDFLAGS) -o $@ $(NLSYM_OBJ) $(LIB)
X
u386mon: $(U386MON_OBJ)
X	$(CC) $(LDFLAGS) -o $@ $(U386MON_OBJ) $(LIB)
X
/unix.nlsym: nlsym /unix
X	$(BINDIR)/nlsym
X	chmod 644 /unix.nlsym
X
#not delivered
src.fls: $(SRC) Makefile
X	ls $(SRC) > src.fls
lint_args: src.fls
X	echo ' ' > lint_args.h
X	csh zgcc src.fls lint_args.h $(CFLAGS)
X
clean:
X	rm -f $(U386MON_OBJ) $(NLSYM_OBJ) \
X		core u386mon.lint Makefile.bak src.fls mkdep.* cscope.out tags a.out
X
clobber: clean
X	rm -f nlsym u386mon
X
lint:
X	lint -ux *.c > u386mon.lint
X
#for shar 3.27 or later
shar:
X	shar -a -n av386mon -s av@ssw.de -o av386mon.shar -L80 $(SHARFLS)
X
# MAKE DEPEND: regenerate .c:.h, .ol:.c, .ol:.asm dependencies automatically
#
depend:
X		rm -f mkdep.rule.tmp
X		if test '$(SRC)' ;\
X		then (grep '^#include' $(SRC) \
X		| sed	-e 's?:[^<]*<\([^>]*\)>.*?: /usr/include/\1?'\
X			-e 's?:[^"]*"\([^"]*\)".*?: \1?'\
X			-e 's?\(.*\)\.c?\1.o?'\
X		 >> mkdep.rule.tmp) ;\
X		fi
X
X		echo 1 >mkdep.ex.tmp
X		echo '/^# DO NOT DELETE THIS LINE' >>mkdep.ex.tmp
X		echo '.+1,$$d' >>mkdep.ex.tmp
X		echo 'r mkdep.rule.tmp' >> mkdep.ex.tmp
X		echo 'w' >> mkdep.ex.tmp
X		cp Makefile.sco Makefile.new
X		ex Makefile.new < mkdep.ex.tmp
X		rm mkdep.ex.tmp mkdep.rule.tmp
X		echo '#	DEPENDENCIES MUST END AT END OF	FILE' >>Makefile.new
X		echo '#	IF YOU PUT STUFF HERE IT WILL GO AWAY'>>Makefile.new
X		echo '#	see make depend	above'>>Makefile.new
X		mv Makefile.sco Makefile.bak
X		mv Makefile.new Makefile.sco
X
# DO NOT DELETE THIS LINE
u386mon.o: config.h
u386mon.o: /usr/include/curses.h
u386mon.o: libpanel.h
u386mon.o: /usr/include/signal.h
u386mon.o: /usr/include/string.h
u386mon.o: /usr/include/fcntl.h
u386mon.o: /usr/include/nlist.h
u386mon.o: /usr/include/errno.h
u386mon.o: /usr/include/time.h
u386mon.o: /usr/include/sys/types.h
u386mon.o: /usr/include/sys/lock.h
u386mon.o: /usr/include/sys/utsname.h
u386mon.o: /usr/include/sys/stat.h
u386mon.o: /usr/include/sys/param.h
u386mon.o: /usr/include/sys/tuneable.h
u386mon.o: /usr/include/sys/sysinfo.h
u386mon.o: /usr/include/sys/sysmacros.h
u386mon.o: /usr/include/sys/immu.h
u386mon.o: /usr/include/sys/region.h
u386mon.o: /usr/include/sys/proc.h
u386mon.o: /usr/include/sys/var.h
u386mon.o: /usr/include/sys/swap.h
u386mon.o: /usr/include/sys/trap.h
u386mon.o: nlsym.h
u386mon.o: libkmem.h
u386mon.o: libmem.h
u386mon.o: libswap.h
u386mon.o: libnlsym.h
u386mon.o: u386mon.h
bootinfo.o: config.h
bootinfo.o: /usr/include/curses.h
bootinfo.o: /usr/include/sys/types.h
bootinfo.o: /usr/include/sys/bootinfo.h
bootinfo.o: u386mon.h
detail.o: config.h
detail.o: /usr/include/curses.h
detail.o: /usr/include/signal.h
detail.o: /usr/include/string.h
detail.o: /usr/include/fcntl.h
detail.o: /usr/include/nlist.h
detail.o: /usr/include/errno.h
detail.o: /usr/include/time.h
detail.o: /usr/include/pwd.h
detail.o: /usr/include/sys/types.h
detail.o: /usr/include/utmp.h
detail.o: /usr/include/sys/utsname.h
detail.o: /usr/include/sys/stat.h
detail.o: /usr/include/sys/param.h
detail.o: /usr/include/sys/tuneable.h
detail.o: /usr/include/sys/sysinfo.h
detail.o: /usr/include/sys/sysmacros.h
detail.o: /usr/include/sys/immu.h
detail.o: /usr/include/sys/region.h
detail.o: /usr/include/sys/proc.h
detail.o: /usr/include/sys/var.h
detail.o: nlsym.h
detail.o: libkmem.h
detail.o: libnlsym.h
detail.o: u386mon.h
det_proc.o: config.h
det_proc.o: /usr/include/curses.h
det_proc.o: /usr/include/signal.h
det_proc.o: /usr/include/string.h
det_proc.o: /usr/include/fcntl.h
det_proc.o: /usr/include/nlist.h
det_proc.o: /usr/include/errno.h
det_proc.o: /usr/include/time.h
det_proc.o: /usr/include/pwd.h
det_proc.o: /usr/include/sys/types.h
det_proc.o: /usr/include/utmp.h
det_proc.o: /usr/include/sys/stat.h
det_proc.o: /usr/include/sys/param.h
det_proc.o: /usr/include/sys/tuneable.h
det_proc.o: /usr/include/sys/sysinfo.h
det_proc.o: /usr/include/sys/sysmacros.h
det_proc.o: /usr/include/sys/immu.h
det_proc.o: /usr/include/sys/region.h
det_proc.o: /usr/include/sys/proc.h
det_proc.o: /usr/include/sys/fs/s5dir.h
det_proc.o: /usr/include/sys/user.h
det_proc.o: /usr/include/sys/var.h
det_proc.o: nlsym.h
det_proc.o: libkmem.h
det_proc.o: libmem.h
det_proc.o: libswap.h
det_proc.o: libnlsym.h
det_proc.o: u386mon.h
det_sio.o: config.h
det_sio.o: /usr/include/curses.h
det_sio.o: /usr/include/string.h
det_sio.o: /usr/include/nlist.h
det_sio.o: /usr/include/sys/types.h
det_sio.o: /usr/include/sys/stat.h
det_sio.o: /usr/include/sys/ascii.h
det_sio.o: /usr/include/sys/param.h
det_sio.o: /usr/include/sys/tty.h
det_sio.o: nlsym.h
det_sio.o: libkmem.h
det_sio.o: libmem.h
det_sio.o: libswap.h
det_sio.o: libnlsym.h
det_sio.o: u386mon.h
disputil.o: config.h
disputil.o: /usr/include/curses.h
disputil.o: /usr/include/sys/types.h
disputil.o: u386mon.h
kludge.o: /usr/include/curses.h
libkmem.o: /usr/include/sys/types.h
libkmem.o: /usr/include/fcntl.h
libkmem.o: libkmem.h
libmem.o: /usr/include/sys/types.h
libmem.o: /usr/include/fcntl.h
libmem.o: libmem.h
libpanel.o: config.h
libpanel.o: /usr/include/curses.h
libpanel.o: u386mon.h
libswap.o: /usr/include/sys/types.h
libswap.o: /usr/include/fcntl.h
libswap.o: libswap.h
libnlsym.o: config.h
libnlsym.o: /usr/include/stdio.h
libnlsym.o: /usr/include/sys/types.h
libnlsym.o: /usr/include/sys/stat.h
libnlsym.o: /usr/include/fcntl.h
libnlsym.o: /usr/include/nlist.h
libnlsym.o: nlsym.h
libnlsym.o: libnlsym.h
nlsym.o: config.h
nlsym.o: /usr/include/stdio.h
nlsym.o: /usr/include/sys/types.h
nlsym.o: /usr/include/sys/stat.h
nlsym.o: /usr/include/fcntl.h
nlsym.o: /usr/include/nlist.h
nlsym.o: nlsym.h
proc.o: config.h
proc.o: /usr/include/curses.h
proc.o: /usr/include/sys/types.h
proc.o: /usr/include/sys/param.h
proc.o: /usr/include/sys/immu.h
proc.o: /usr/include/sys/region.h
proc.o: /usr/include/sys/proc.h
proc.o: /usr/include/sys/var.h
proc.o: /usr/include/nlist.h
proc.o: nlsym.h
proc.o: libkmem.h
proc.o: libnlsym.h
proc.o: u386mon.h
tune.o: config.h
tune.o: /usr/include/curses.h
tune.o: /usr/include/sys/types.h
tune.o: /usr/include/sys/tuneable.h
tune.o: u386mon.h
var.o: config.h
var.o: /usr/include/curses.h
var.o: /usr/include/sys/types.h
var.o: /usr/include/sys/var.h
var.o: u386mon.h
#	DEPENDENCIES MUST END AT END OF	FILE
#	IF YOU PUT STUFF HERE IT WILL GO AWAY
#	see make depend	above
SHAR_EOF
chmod 0644 Make.SVR4 ||
echo 'restore of Make.SVR4 failed'
Wc_c="`wc -c < 'Make.SVR4'`"
test 8926 -eq "$Wc_c" ||
	echo 'Make.SVR4: original size 8926, current size' "$Wc_c"
rm -f _shar_wnt_.tmp
fi
# ============= Make.dell ==============
if test -f 'Make.dell' -a X"$1" != X"-c"; then
	echo 'x - skipping Make.dell (File already exists)'
	rm -f _shar_wnt_.tmp
else
> _shar_wnt_.tmp
echo 'x - extracting Make.dell (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'Make.dell' &&
#+-------------------------------------------------------------------
#  Makefile for u386mon for DELL UNIX 1.x
#  ...!{gatech,emory}!n4hgf!wht
#--------------------------------------------------------------------
#+:EDITS:*/
#:08-01-1991-23:34-wht@n4hgf-release 2.40 source control point
#:08-10-1990-14:12-jmd@p1so/wht@n4hgf-2.20-add Tandem Integrity S2
#:08-07-1990-14:24-wht@n4hgf-nba@sysware.dk SVR31 updates
#:08-02-1990-15:35-wht@n4hgf-2.12-old curses hacks+minor 3.2 formalizations
#:08-01-1990-21:39-wht@n4hgf-add Dell make file
#:08-01-1990-12:26-wht@n4hgf-2.11-try to support ISC 1.x.x
#:07-28-1990-18:07-wht@n4hgf-2.10 release
#:07-26-1990-18:59-root@n4hgf-remove inappropriate USIZE_FIXED reminder
#:07-24-1990-18:53-wht@n4hgf-add USIZE_FIXED reminder
#:07-21-1990-16:03-wht@n4hgf-add libpanel + remake depend
#:06-27-1990-01:57-wht@n4hgf-1.10 - incorporate suggestions from alpha testers
#:06-25-1990-04:14-wht@n4hgf-1.03-better error handling
#:06-24-1990-20:53-wht@n4hgf-v1.01-add ISC support thanks to peter@radig.de
#:06-21-1990-14:27-r@n4hgf-version x0.12 seems bug free
#:06-19-1990-21:37-wht@n4hgf-get ready for 0.08 release
X
#------------> CFLAGS 
# Add -DVPIX if you have VP/ix
# Add -DMERGE386 if you have Merge/386
CFLAGS = -c -O -DDELL
X
#------------> LIB
LIB = -lpanel -lcurses -lx -lmalloc -lc_s
X
#------------> KMEMGRP
KMEMGRP = sys
X
#------------> BINDIR
BINDIR = /usr/local/bin
X
LDFLAGS = -s
X
VERSION = 2.40
X
#handle Sys V make "feature" of using SHELL
SHELL = /bin/sh
X
#FCRC = fcrc -u $*.c ;
.c.o:;	$(FCRC) $(CC) $(CFLAGS) $*.c 
X
SRC = \
X	u386mon.c\
X	bootinfo.c\
X	detail.c\
X	det_proc.c\
X	det_sio.c\
X	disputil.c\
X	kludge.c\
X	libkmem.c\
X	libmem.c\
X	libpanel.c\
X	libswap.c\
X	libnlsym.c\
X	nlsym.c\
X	proc.c\
X	tune.c\
X	var.c
X
HDR = \
X	config.h\
X	libkmem.h\
X	libmem.h\
X	libpanel.h\
X	libswap.h\
X	libnlsym.h\
X	lint_args.h\
X	nlsym.h\
X	u386mon.h
X
NLSYM_OBJ =\
X	nlsym.o
X
U386MON_OBJ =\
X	u386mon.o\
X	detail.o\
X	det_proc.o\
X	bootinfo.o\
X	proc.o\
X	tune.o\
X	var.o\
X	kludge.o\
X	disputil.o\
X	libkmem.o\
X	libmem.o\
X	libswap.o\
X	libnlsym.o
X
SHARFLS = \
X	README\
X	CHANGES\
X	Make.*\
X	EXPLAIN\
X	$(SRC)\
X	$(HDR)\
X	renice/Makefile\
X	renice/renice.c\
X	panel/README\
X	panel/panel.3\
X	panel/ptest.c\
X	panel/Makefile
X
all: nlsym u386mon
X
#must run as root
install: all
X	-mv $(BINDIR)/nlsym $(BINDIR)/nlsym.old
X	cp nlsym $(BINDIR)
X	chown bin $(BINDIR)/nlsym
X	chgrp bin $(BINDIR)/nlsym
X	chmod 711 $(BINDIR)/nlsym
X	-mv $(BINDIR)/u386mon $(BINDIR)/u386mon.old
X	cp u386mon $(BINDIR)
X	chown bin $(BINDIR)/u386mon
X	chgrp $(KMEMGRP) $(BINDIR)/u386mon
X	chmod 2711 $(BINDIR)/u386mon
X	chmod g+r /dev/swap
X	$(BINDIR)/nlsym
X	@echo ' ';echo 'csh users rehash before executing'
X
nlsym: $(NLSYM_OBJ)
X	$(CC) $(LDFLAGS) -o $@ $(NLSYM_OBJ) $(LIB)
X
u386mon: $(U386MON_OBJ)
X	$(CC) $(LDFLAGS) -o $@ $(U386MON_OBJ) $(LIB)
X
/unix.nlsym: nlsym /unix
X	$(BINDIR)/nlsym
X	chmod 644 /unix.nlsym
X
#not delivered
src.fls: $(SRC) Makefile
X	ls $(SRC) > src.fls
lint_args: src.fls
X	echo ' ' > lint_args.h
X	csh zgcc src.fls lint_args.h $(CFLAGS)
X
clean:
X	rm -f $(U386MON_OBJ) $(NLSYM_OBJ) \
X		core u386mon.lint Makefile.bak src.fls mkdep.* cscope.out tags a.out
X
clobber: clean
X	rm -f nlsym u386mon
X
lint:
X	lint -ux *.c > u386mon.lint
X
#for shar 3.27 or later
shar:
X	shar -a -n u386mon.$(VERSION) -l 55 -o u386m-$(VERSION) $(SHARFLS)
X
# MAKE DEPEND: regenerate .c:.h, .ol:.c, .ol:.asm dependencies automatically
#
depend:
X		rm -f mkdep.rule.tmp
X		if test '$(SRC)' ;\
X		then (grep '^#include' $(SRC) \
X		| sed	-e 's?:[^<]*<\([^>]*\)>.*?: /usr/include/\1?'\
X			-e 's?:[^"]*"\([^"]*\)".*?: \1?'\
X			-e 's?\(.*\)\.c?\1.o?'\
X		 >> mkdep.rule.tmp) ;\
X		fi
X
X		echo 1 >mkdep.ex.tmp
X		echo '/^# DO NOT DELETE THIS LINE' >>mkdep.ex.tmp
X		echo '.+1,$$d' >>mkdep.ex.tmp
X		echo 'r mkdep.rule.tmp' >> mkdep.ex.tmp
X		echo 'w' >> mkdep.ex.tmp
X		cp Makefile.dell Makefile.new
X		ex Makefile.new < mkdep.ex.tmp
X		rm mkdep.ex.tmp mkdep.rule.tmp
X		echo '#	DEPENDENCIES MUST END AT END OF	FILE' >>Makefile.new
X		echo '#	IF YOU PUT STUFF HERE IT WILL GO AWAY'>>Makefile.new
X		echo '#	see make depend	above'>>Makefile.new
X		mv Makefile.dell Makefile.bak
X		mv Makefile.new Makefile.dell
X
# DO NOT DELETE THIS LINE
u386mon.o: config.h
u386mon.o: /usr/include/curses.h
u386mon.o: libpanel.h
u386mon.o: /usr/include/signal.h
u386mon.o: /usr/include/string.h
u386mon.o: /usr/include/fcntl.h
u386mon.o: /usr/include/nlist.h
u386mon.o: /usr/include/errno.h
u386mon.o: /usr/include/time.h
u386mon.o: /usr/include/sys/types.h
u386mon.o: /usr/include/sys/lock.h
u386mon.o: /usr/include/sys/utsname.h
u386mon.o: /usr/include/sys/stat.h
u386mon.o: /usr/include/sys/param.h
u386mon.o: /usr/include/sys/tuneable.h
u386mon.o: /usr/include/sys/sysinfo.h
u386mon.o: /usr/include/sys/sysmacros.h
u386mon.o: /usr/include/sys/immu.h
u386mon.o: /usr/include/sys/region.h
u386mon.o: /usr/include/sys/proc.h
u386mon.o: /usr/include/sys/var.h
u386mon.o: /usr/include/sys/swap.h
u386mon.o: /usr/include/sys/trap.h
u386mon.o: nlsym.h
u386mon.o: libkmem.h
u386mon.o: libmem.h
u386mon.o: libswap.h
u386mon.o: libnlsym.h
u386mon.o: u386mon.h
bootinfo.o: config.h
bootinfo.o: /usr/include/curses.h
bootinfo.o: /usr/include/sys/types.h
bootinfo.o: /usr/include/sys/bootinfo.h
bootinfo.o: u386mon.h
detail.o: config.h
detail.o: /usr/include/curses.h
detail.o: /usr/include/signal.h
detail.o: /usr/include/string.h
detail.o: /usr/include/fcntl.h
detail.o: /usr/include/nlist.h
detail.o: /usr/include/errno.h
detail.o: /usr/include/time.h
detail.o: /usr/include/pwd.h
detail.o: /usr/include/sys/types.h
detail.o: /usr/include/utmp.h
detail.o: /usr/include/sys/utsname.h
detail.o: /usr/include/sys/stat.h
detail.o: /usr/include/sys/param.h
detail.o: /usr/include/sys/tuneable.h
detail.o: /usr/include/sys/sysinfo.h
detail.o: /usr/include/sys/sysmacros.h
detail.o: /usr/include/sys/immu.h
detail.o: /usr/include/sys/region.h
detail.o: /usr/include/sys/proc.h
detail.o: /usr/include/sys/var.h
detail.o: nlsym.h
detail.o: libkmem.h
detail.o: libnlsym.h
detail.o: u386mon.h
det_proc.o: config.h
det_proc.o: /usr/include/curses.h
det_proc.o: /usr/include/signal.h
det_proc.o: /usr/include/string.h
det_proc.o: /usr/include/fcntl.h
det_proc.o: /usr/include/nlist.h
det_proc.o: /usr/include/errno.h
det_proc.o: /usr/include/time.h
det_proc.o: /usr/include/pwd.h
det_proc.o: /usr/include/sys/types.h
det_proc.o: /usr/include/utmp.h
det_proc.o: /usr/include/sys/stat.h
det_proc.o: /usr/include/sys/param.h
det_proc.o: /usr/include/sys/tuneable.h
det_proc.o: /usr/include/sys/sysinfo.h
det_proc.o: /usr/include/sys/sysmacros.h
det_proc.o: /usr/include/sys/immu.h
det_proc.o: /usr/include/sys/region.h
det_proc.o: /usr/include/sys/proc.h
det_proc.o: /usr/include/sys/fs/s5dir.h
det_proc.o: /usr/include/sys/user.h
det_proc.o: /usr/include/sys/var.h
det_proc.o: nlsym.h
det_proc.o: libkmem.h
det_proc.o: libmem.h
det_proc.o: libswap.h
det_proc.o: libnlsym.h
det_proc.o: u386mon.h
det_sio.o: config.h
det_sio.o: /usr/include/curses.h
det_sio.o: /usr/include/string.h
det_sio.o: /usr/include/nlist.h
det_sio.o: /usr/include/sys/types.h
det_sio.o: /usr/include/sys/stat.h
det_sio.o: /usr/include/sys/ascii.h
det_sio.o: /usr/include/sys/param.h
det_sio.o: /usr/include/sys/tty.h
det_sio.o: nlsym.h
det_sio.o: libkmem.h
det_sio.o: libmem.h
det_sio.o: libswap.h
det_sio.o: libnlsym.h
det_sio.o: u386mon.h
disputil.o: config.h
disputil.o: /usr/include/curses.h
disputil.o: /usr/include/sys/types.h
disputil.o: u386mon.h
kludge.o: /usr/include/curses.h
libkmem.o: /usr/include/sys/types.h
libkmem.o: /usr/include/fcntl.h
libkmem.o: libkmem.h
libmem.o: /usr/include/sys/types.h
libmem.o: /usr/include/fcntl.h
libmem.o: libmem.h
libpanel.o: config.h
libpanel.o: /usr/include/curses.h
libpanel.o: u386mon.h
libswap.o: /usr/include/sys/types.h
libswap.o: /usr/include/fcntl.h
libswap.o: libswap.h
libnlsym.o: config.h
libnlsym.o: /usr/include/stdio.h
libnlsym.o: /usr/include/sys/types.h
libnlsym.o: /usr/include/sys/stat.h
libnlsym.o: /usr/include/fcntl.h
libnlsym.o: /usr/include/nlist.h
libnlsym.o: nlsym.h
libnlsym.o: libnlsym.h
nlsym.o: config.h
nlsym.o: /usr/include/stdio.h
nlsym.o: /usr/include/sys/types.h
nlsym.o: /usr/include/sys/stat.h
nlsym.o: /usr/include/fcntl.h
nlsym.o: /usr/include/nlist.h
nlsym.o: nlsym.h
proc.o: config.h
proc.o: /usr/include/curses.h
proc.o: /usr/include/sys/types.h
proc.o: /usr/include/sys/param.h
proc.o: /usr/include/sys/immu.h
proc.o: /usr/include/sys/region.h
proc.o: /usr/include/sys/proc.h
proc.o: /usr/include/sys/var.h
proc.o: /usr/include/nlist.h
proc.o: nlsym.h
proc.o: libkmem.h
proc.o: libnlsym.h
proc.o: u386mon.h
tune.o: config.h
tune.o: /usr/include/curses.h
tune.o: /usr/include/sys/types.h
tune.o: /usr/include/sys/tuneable.h
tune.o: u386mon.h
var.o: config.h
var.o: /usr/include/curses.h
var.o: /usr/include/sys/types.h
var.o: /usr/include/sys/var.h
var.o: u386mon.h
#	DEPENDENCIES MUST END AT END OF	FILE
#	IF YOU PUT STUFF HERE IT WILL GO AWAY
#	see make depend	above
SHAR_EOF
chmod 0644 Make.dell ||
echo 'restore of Make.dell failed'
Wc_c="`wc -c < 'Make.dell'`"
test 8912 -eq "$Wc_c" ||
	echo 'Make.dell: original size 8912, current size' "$Wc_c"
rm -f _shar_wnt_.tmp
fi
# ============= Make.isc1 ==============
if test -f 'Make.isc1' -a X"$1" != X"-c"; then
	echo 'x - skipping Make.isc1 (File already exists)'
	rm -f _shar_wnt_.tmp
else
> _shar_wnt_.tmp
echo 'x - extracting Make.isc1 (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'Make.isc1' &&
#+-------------------------------------------------------------------
#  Makefile for u386mon for ISC 386/ix 1.0.x - a good guess
#  ...!{gatech,emory}!n4hgf!wht
#--------------------------------------------------------------------
#+:EDITS:*/
#:08-01-1991-23:34-wht@n4hgf-release 2.40 source control point
#:08-10-1990-14:12-jmd@p1so/wht@n4hgf-2.20-add Tandem Integrity S2
#:08-07-1990-14:24-wht@n4hgf-nba@sysware.dk SVR31 updates
#:08-03-1990-03:42-wht@n4hgf-creation
X
#------------> CFLAGS 
CFLAGS = -c -O -DISC_1
X
#------------> LIB
LIB = -lcurses -lx -lmalloc -lc_s
X
#------------> KMEMGRP
KMEMGRP = sys
X
#------------> BINDIR
BINDIR = /usr/local/bin
X
LDFLAGS = -s
X
VERSION = 2.40
X
#handle Sys V make "feature" of using SHELL
SHELL = /bin/sh
X
#FCRC = fcrc -u $*.c ;
.c.o:;	$(FCRC) $(CC) $(CFLAGS) $*.c 
X
SRC = \
X	u386mon.c\
X	bootinfo.c\
X	detail.c\
X	det_proc.c\
X	det_sio.c\
X	disputil.c\
X	libkmem.c\
X	libmem.c\
X	libpanel.c\
X	libswap.c\
X	libnlsym.c\
X	kludge.c\
X	nlsym.c\
X	proc.c\
X	tune.c\
X	var.c
X
HDR = \
X	config.h\
X	libkmem.h\
X	libmem.h\
X	libpanel.h\
X	libswap.h\
X	libnlsym.h\
X	lint_args.h\
X	nlsym.h\
X	u386mon.h
X
NLSYM_OBJ =\
X	nlsym.o
X
U386MON_OBJ =\
X	u386mon.o\
X	detail.o\
X	det_proc.o\
X	bootinfo.o\
X	proc.o\
X	tune.o\
X	var.o\
X	disputil.o\
X	kludge.o\
X	libkmem.o\
X	libmem.o\
X	libpanel.o\
X	libswap.o\
X	libnlsym.o
X
SHARFLS = \
X	README\
X	CHANGES\
X	Make.*\
X	EXPLAIN\
X	$(SRC)\
X	$(HDR)\
X	renice/Makefile\
X	renice/renice.c\
X	panel/README\
X	panel/panel.3\
X	panel/ptest.c\
X	panel/Makefile
X
all: nlsym u386mon
X
#must run as root
install: all
X	-mv $(BINDIR)/nlsym $(BINDIR)/nlsym.old
X	cp nlsym $(BINDIR)
X	chown bin $(BINDIR)/nlsym
X	chgrp bin $(BINDIR)/nlsym
X	chmod 711 $(BINDIR)/nlsym
X	-mv $(BINDIR)/u386mon $(BINDIR)/u386mon.old
X	cp u386mon $(BINDIR)
X	chown bin $(BINDIR)/u386mon
X	chgrp $(KMEMGRP) $(BINDIR)/u386mon
X	chmod 2711 $(BINDIR)/u386mon
X	chmod g+r /dev/swap
X	$(BINDIR)/nlsym
X	@echo ' ';echo 'csh users rehash before executing'
X
nlsym: $(NLSYM_OBJ)
X	$(CC) $(LDFLAGS) -o $@ $(NLSYM_OBJ) $(LIB)
X
u386mon: $(U386MON_OBJ)
X	$(CC) $(LDFLAGS) -o $@ $(U386MON_OBJ) $(LIB)
X
/unix.nlsym: nlsym /unix
X	$(BINDIR)/nlsym
X	chmod 644 /unix.nlsym
X
#not delivered
src.fls: $(SRC) Makefile
X	ls $(SRC) > src.fls
lint_args: src.fls
X	echo ' ' > lint_args.h
X	csh zgcc src.fls lint_args.h $(CFLAGS)
X
clean:
X	rm -f $(U386MON_OBJ) $(NLSYM_OBJ) \
X		core u386mon.lint Makefile.bak src.fls mkdep.* cscope.out tags a.out
X
clobber: clean
X	rm -f nlsym u386mon
X
lint:
X	lint -ux *.c > u386mon.lint
X
#for shar 3.27 or later
shar:
X	shar -a -n u386mon.$(VERSION) -l 55 -o u386m-$(VERSION) $(SHARFLS)
X
# MAKE DEPEND: regenerate .c:.h, .ol:.c, .ol:.asm dependencies automatically
#
depend:
X		rm -f mkdep.rule.tmp
X		if test '$(SRC)' ;\
X		then (grep '^#include' $(SRC) \
X		| sed	-e 's?:[^<]*<\([^>]*\)>.*?: /usr/include/\1?'\
X			-e 's?:[^"]*"\([^"]*\)".*?: \1?'\
X			-e 's?\(.*\)\.c?\1.o?'\
X		 >> mkdep.rule.tmp) ;\
X		fi
X
X		echo 1 >mkdep.ex.tmp
X		echo '/^# DO NOT DELETE THIS LINE' >>mkdep.ex.tmp
X		echo '.+1,$$d' >>mkdep.ex.tmp
X		echo 'r mkdep.rule.tmp' >> mkdep.ex.tmp
X		echo 'w' >> mkdep.ex.tmp
X		cp Makefile.isc1 Makefile.new
X		ex Makefile.new < mkdep.ex.tmp
X		rm mkdep.ex.tmp mkdep.rule.tmp
X		echo '#	DEPENDENCIES MUST END AT END OF	FILE' >>Makefile.new
X		echo '#	IF YOU PUT STUFF HERE IT WILL GO AWAY'>>Makefile.new
X		echo '#	see make depend	above'>>Makefile.new
X		mv Makefile.isc1 Makefile.bak
X		mv Makefile.new Makefile.isc1
X
# DO NOT DELETE THIS LINE
u386mon.o: config.h
u386mon.o: /usr/include/curses.h
u386mon.o: libpanel.h
u386mon.o: /usr/include/signal.h
u386mon.o: /usr/include/string.h
u386mon.o: /usr/include/fcntl.h
u386mon.o: /usr/include/nlist.h
u386mon.o: /usr/include/errno.h
u386mon.o: /usr/include/time.h
u386mon.o: /usr/include/sys/types.h
u386mon.o: /usr/include/sys/lock.h
u386mon.o: /usr/include/sys/utsname.h
u386mon.o: /usr/include/sys/stat.h
u386mon.o: /usr/include/sys/param.h
u386mon.o: /usr/include/sys/tuneable.h
u386mon.o: /usr/include/sys/sysinfo.h
u386mon.o: /usr/include/sys/sysmacros.h
u386mon.o: /usr/include/sys/immu.h
u386mon.o: /usr/include/sys/region.h
u386mon.o: /usr/include/sys/proc.h
u386mon.o: /usr/include/sys/var.h
u386mon.o: /usr/include/sys/swap.h
u386mon.o: /usr/include/sys/trap.h
u386mon.o: nlsym.h
u386mon.o: libkmem.h
u386mon.o: libmem.h
u386mon.o: libswap.h
u386mon.o: libnlsym.h
u386mon.o: u386mon.h
bootinfo.o: config.h
bootinfo.o: /usr/include/curses.h
bootinfo.o: /usr/include/sys/types.h
bootinfo.o: /usr/include/sys/bootinfo.h
bootinfo.o: u386mon.h
detail.o: config.h
detail.o: /usr/include/curses.h
detail.o: /usr/include/signal.h
detail.o: /usr/include/string.h
detail.o: /usr/include/fcntl.h
detail.o: /usr/include/nlist.h
detail.o: /usr/include/errno.h
detail.o: /usr/include/time.h
detail.o: /usr/include/pwd.h
detail.o: /usr/include/sys/types.h
detail.o: /usr/include/utmp.h
detail.o: /usr/include/sys/utsname.h
detail.o: /usr/include/sys/stat.h
detail.o: /usr/include/sys/param.h
detail.o: /usr/include/sys/tuneable.h
detail.o: /usr/include/sys/sysinfo.h
detail.o: /usr/include/sys/sysmacros.h
detail.o: /usr/include/sys/immu.h
detail.o: /usr/include/sys/region.h
detail.o: /usr/include/sys/proc.h
detail.o: /usr/include/sys/var.h
detail.o: nlsym.h
detail.o: libkmem.h
detail.o: libnlsym.h
detail.o: u386mon.h
det_proc.o: config.h
det_proc.o: /usr/include/curses.h
det_proc.o: /usr/include/signal.h
det_proc.o: /usr/include/string.h
det_proc.o: /usr/include/fcntl.h
det_proc.o: /usr/include/nlist.h
det_proc.o: /usr/include/errno.h
det_proc.o: /usr/include/time.h
det_proc.o: /usr/include/pwd.h
det_proc.o: /usr/include/sys/types.h
det_proc.o: /usr/include/utmp.h
det_proc.o: /usr/include/sys/stat.h
det_proc.o: /usr/include/sys/param.h
det_proc.o: /usr/include/sys/tuneable.h
det_proc.o: /usr/include/sys/sysinfo.h
det_proc.o: /usr/include/sys/sysmacros.h
det_proc.o: /usr/include/sys/immu.h
det_proc.o: /usr/include/sys/region.h
det_proc.o: /usr/include/sys/proc.h
det_proc.o: /usr/include/sys/fs/s5dir.h
det_proc.o: /usr/include/sys/user.h
det_proc.o: /usr/include/sys/var.h
det_proc.o: nlsym.h
det_proc.o: libkmem.h
det_proc.o: libmem.h
det_proc.o: libswap.h
det_proc.o: libnlsym.h
det_proc.o: u386mon.h
det_sio.o: config.h
det_sio.o: /usr/include/curses.h
det_sio.o: /usr/include/string.h
det_sio.o: /usr/include/nlist.h
det_sio.o: /usr/include/sys/types.h
det_sio.o: /usr/include/sys/stat.h
det_sio.o: /usr/include/sys/ascii.h
det_sio.o: /usr/include/sys/param.h
det_sio.o: /usr/include/sys/tty.h
det_sio.o: nlsym.h
det_sio.o: libkmem.h
det_sio.o: libmem.h
det_sio.o: libswap.h
det_sio.o: libnlsym.h
det_sio.o: u386mon.h
disputil.o: config.h
disputil.o: /usr/include/curses.h
disputil.o: /usr/include/sys/types.h
disputil.o: u386mon.h
libkmem.o: /usr/include/sys/types.h
libkmem.o: /usr/include/fcntl.h
libkmem.o: libkmem.h
libmem.o: /usr/include/sys/types.h
libmem.o: /usr/include/fcntl.h
libmem.o: libmem.h
libpanel.o: config.h
libpanel.o: /usr/include/curses.h
libpanel.o: u386mon.h
libswap.o: /usr/include/sys/types.h
libswap.o: /usr/include/fcntl.h
libswap.o: libswap.h
libnlsym.o: config.h
libnlsym.o: /usr/include/stdio.h
libnlsym.o: /usr/include/sys/types.h
libnlsym.o: /usr/include/sys/stat.h
libnlsym.o: /usr/include/fcntl.h
libnlsym.o: /usr/include/nlist.h
libnlsym.o: nlsym.h
libnlsym.o: libnlsym.h
kludge.o: /usr/include/curses.h
nlsym.o: config.h
nlsym.o: /usr/include/stdio.h
nlsym.o: /usr/include/sys/types.h
nlsym.o: /usr/include/sys/stat.h
nlsym.o: /usr/include/fcntl.h
nlsym.o: /usr/include/nlist.h
nlsym.o: nlsym.h
proc.o: config.h
proc.o: /usr/include/curses.h
proc.o: /usr/include/sys/types.h
proc.o: /usr/include/sys/param.h
proc.o: /usr/include/sys/immu.h
proc.o: /usr/include/sys/region.h
proc.o: /usr/include/sys/proc.h
proc.o: /usr/include/sys/var.h
proc.o: /usr/include/nlist.h
proc.o: nlsym.h
proc.o: libkmem.h
proc.o: libnlsym.h
proc.o: u386mon.h
tune.o: config.h
tune.o: /usr/include/curses.h
tune.o: /usr/include/sys/types.h
tune.o: /usr/include/sys/tuneable.h
tune.o: u386mon.h
var.o: config.h
var.o: /usr/include/curses.h
var.o: /usr/include/sys/types.h
var.o: /usr/include/sys/var.h
var.o: u386mon.h
#	DEPENDENCIES MUST END AT END OF	FILE
#	IF YOU PUT STUFF HERE IT WILL GO AWAY
#	see make depend	above
SHAR_EOF
chmod 0644 Make.isc1 ||
echo 'restore of Make.isc1 failed'
Wc_c="`wc -c < 'Make.isc1'`"
test 8172 -eq "$Wc_c" ||
	echo 'Make.isc1: original size 8172, current size' "$Wc_c"
rm -f _shar_wnt_.tmp
fi
# ============= Make.isc2 ==============
if test -f 'Make.isc2' -a X"$1" != X"-c"; then
	echo 'x - skipping Make.isc2 (File already exists)'
	rm -f _shar_wnt_.tmp
else
> _shar_wnt_.tmp
echo 'x - extracting Make.isc2 (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'Make.isc2' &&
#+-------------------------------------------------------------------
#  Makefile for u386mon for ISC 386/ix 2.x.x
#  ...!{gatech,emory}!n4hgf!wht
#--------------------------------------------------------------------
#+:EDITS:*/
#:08-01-1991-23:34-wht@n4hgf-release 2.40 source control point
#:08-10-1990-14:12-jmd@p1so/wht@n4hgf-2.20-add Tandem Integrity S2
#:08-07-1990-14:24-wht@n4hgf-nba@sysware.dk SVR31 updates
#:08-03-1990-03:45-wht@n4hgf-rename Makefile.isc1 to Makefile.isc2
#:08-02-1990-15:35-wht@n4hgf-2.12-old curses hacks+minor 3.2 formalizations
#:08-01-1990-21:39-wht@n4hgf-add Dell make file
#:08-01-1990-12:26-wht@n4hgf-2.11-try to support ISC 1.x.x
#:07-28-1990-18:07-wht@n4hgf-2.10 release
#:07-26-1990-18:59-root@n4hgf-remove inappropriate USIZE_FIXED reminder
#:07-24-1990-18:53-wht@n4hgf-add USIZE_FIXED reminder
#:07-21-1990-16:03-wht@n4hgf-add libpanel + remake depend
#:06-27-1990-01:57-wht@n4hgf-1.10 - incorporate suggestions from alpha testers
#:06-25-1990-04:14-wht@n4hgf-1.03-better error handling
#:06-24-1990-20:53-wht@n4hgf-v1.01-add ISC support thanks to peter@radig.de
#:06-21-1990-14:27-r@n4hgf-version x0.12 seems bug free
#:06-19-1990-21:37-wht@n4hgf-get ready for 0.08 release
X
#------------> CFLAGS 
# ISC 2.0.x
# Add -DVPIX if you have VP/ix
# Add -DMERGE386 if you have Merge/386
CFLAGS = -c -O -DISC
X
#------------> LIB
LIB = -lpanel -lcurses -lx -lmalloc -lc_s
X
#------------> KMEMGRP
KMEMGRP = sys
X
#------------> BINDIR
BINDIR = /usr/local/bin
X
LDFLAGS = -s
X
VERSION = 2.40
X
#handle Sys V make "feature" of using SHELL
SHELL = /bin/sh
X
#FCRC = fcrc -u $*.c ;
.c.o:;	$(FCRC) $(CC) $(CFLAGS) $*.c 
X
SRC = \
X	u386mon.c\
X	bootinfo.c\
X	detail.c\
X	det_proc.c\
X	det_sio.c\
X	disputil.c\
X	kludge.c\
X	libkmem.c\
X	libmem.c\
X	libpanel.c\
X	libswap.c\
X	libnlsym.c\
X	nlsym.c\
X	proc.c\
X	tune.c\
X	var.c
X
HDR = \
X	config.h\
X	libkmem.h\
X	libmem.h\
X	libpanel.h\
X	libswap.h\
X	libnlsym.h\
X	lint_args.h\
X	nlsym.h\
X	u386mon.h
X
NLSYM_OBJ =\
X	nlsym.o
X
U386MON_OBJ =\
X	u386mon.o\
X	detail.o\
X	det_proc.o\
X	bootinfo.o\
X	proc.o\
X	tune.o\
X	var.o\
X	disputil.o\
X	kludge.o\
X	libkmem.o\
X	libmem.o\
X	libswap.o\
X	libnlsym.o
X
SHARFLS = \
X	README\
X	CHANGES\
X	Make.*\
X	EXPLAIN\
X	$(SRC)\
X	$(HDR)\
X	renice/Makefile\
X	renice/renice.c\
X	panel/README\
X	panel/panel.3\
X	panel/ptest.c\
X	panel/Makefile
X
all: nlsym u386mon
X
#must run as root
install: all
X	-mv $(BINDIR)/nlsym $(BINDIR)/nlsym.old
X	cp nlsym $(BINDIR)
X	chown bin $(BINDIR)/nlsym
X	chgrp bin $(BINDIR)/nlsym
X	chmod 711 $(BINDIR)/nlsym
X	-mv $(BINDIR)/u386mon $(BINDIR)/u386mon.old
X	cp u386mon $(BINDIR)
X	chown bin $(BINDIR)/u386mon
X	chgrp $(KMEMGRP) $(BINDIR)/u386mon
X	chmod 2711 $(BINDIR)/u386mon
X	chmod g+r /dev/swap
X	$(BINDIR)/nlsym
X	@echo ' ';echo 'csh users rehash before executing'
X
nlsym: $(NLSYM_OBJ)
X	$(CC) $(LDFLAGS) -o $@ $(NLSYM_OBJ) $(LIB)
X
u386mon: $(U386MON_OBJ)
X	$(CC) $(LDFLAGS) -o $@ $(U386MON_OBJ) $(LIB)
X
/unix.nlsym: nlsym /unix
X	$(BINDIR)/nlsym
X	chmod 644 /unix.nlsym
X
#not delivered
src.fls: $(SRC) Makefile
X	ls $(SRC) > src.fls
lint_args: src.fls
X	echo ' ' > lint_args.h
X	csh zgcc src.fls lint_args.h $(CFLAGS)
X
clean:
X	rm -f $(U386MON_OBJ) $(NLSYM_OBJ) \
X		core u386mon.lint Makefile.bak src.fls mkdep.* cscope.out tags a.out
X
clobber: clean
X	rm -f nlsym u386mon
X
lint:
X	lint -ux *.c > u386mon.lint
X
#for shar 3.27 or later
shar:
X	shar -a -n u386mon.$(VERSION) -l 55 -o u386m-$(VERSION) $(SHARFLS)
X
# MAKE DEPEND: regenerate .c:.h, .ol:.c, .ol:.asm dependencies automatically
#
depend:
X		rm -f mkdep.rule.tmp
X		if test '$(SRC)' ;\
X		then (grep '^#include' $(SRC) \
X		| sed	-e 's?:[^<]*<\([^>]*\)>.*?: /usr/include/\1?'\
X			-e 's?:[^"]*"\([^"]*\)".*?: \1?'\
X			-e 's?\(.*\)\.c?\1.o?'\
X		 >> mkdep.rule.tmp) ;\
X		fi
X
X		echo 1 >mkdep.ex.tmp
X		echo '/^# DO NOT DELETE THIS LINE' >>mkdep.ex.tmp
X		echo '.+1,$$d' >>mkdep.ex.tmp
X		echo 'r mkdep.rule.tmp' >> mkdep.ex.tmp
X		echo 'w' >> mkdep.ex.tmp
X		cp Makefile.isc2 Makefile.new
X		ex Makefile.new < mkdep.ex.tmp
X		rm mkdep.ex.tmp mkdep.rule.tmp
X		echo '#	DEPENDENCIES MUST END AT END OF	FILE' >>Makefile.new
X		echo '#	IF YOU PUT STUFF HERE IT WILL GO AWAY'>>Makefile.new
X		echo '#	see make depend	above'>>Makefile.new
X		mv Makefile.isc2 Makefile.bak
X		mv Makefile.new Makefile.isc2
X
# DO NOT DELETE THIS LINE
u386mon.o: config.h
u386mon.o: /usr/include/curses.h
u386mon.o: libpanel.h
u386mon.o: /usr/include/signal.h
u386mon.o: /usr/include/string.h
u386mon.o: /usr/include/fcntl.h
u386mon.o: /usr/include/nlist.h
u386mon.o: /usr/include/errno.h
u386mon.o: /usr/include/time.h
u386mon.o: /usr/include/sys/types.h
u386mon.o: /usr/include/sys/lock.h
u386mon.o: /usr/include/sys/utsname.h
u386mon.o: /usr/include/sys/stat.h
u386mon.o: /usr/include/sys/param.h
u386mon.o: /usr/include/sys/tuneable.h
u386mon.o: /usr/include/sys/sysinfo.h
u386mon.o: /usr/include/sys/sysmacros.h
u386mon.o: /usr/include/sys/immu.h
u386mon.o: /usr/include/sys/region.h
u386mon.o: /usr/include/sys/proc.h
u386mon.o: /usr/include/sys/var.h
u386mon.o: /usr/include/sys/swap.h
u386mon.o: /usr/include/sys/trap.h
u386mon.o: nlsym.h
u386mon.o: libkmem.h
u386mon.o: libmem.h
u386mon.o: libswap.h
u386mon.o: libnlsym.h
u386mon.o: u386mon.h
bootinfo.o: config.h
bootinfo.o: /usr/include/curses.h
bootinfo.o: /usr/include/sys/types.h
bootinfo.o: /usr/include/sys/bootinfo.h
bootinfo.o: u386mon.h
detail.o: config.h
detail.o: /usr/include/curses.h
detail.o: /usr/include/signal.h
detail.o: /usr/include/string.h
detail.o: /usr/include/fcntl.h
detail.o: /usr/include/nlist.h
detail.o: /usr/include/errno.h
detail.o: /usr/include/time.h
detail.o: /usr/include/pwd.h
detail.o: /usr/include/sys/types.h
detail.o: /usr/include/utmp.h
detail.o: /usr/include/sys/utsname.h
detail.o: /usr/include/sys/stat.h
detail.o: /usr/include/sys/param.h
detail.o: /usr/include/sys/tuneable.h
detail.o: /usr/include/sys/sysinfo.h
detail.o: /usr/include/sys/sysmacros.h
detail.o: /usr/include/sys/immu.h
detail.o: /usr/include/sys/region.h
detail.o: /usr/include/sys/proc.h
detail.o: /usr/include/sys/var.h
detail.o: nlsym.h
detail.o: libkmem.h
detail.o: libnlsym.h
detail.o: u386mon.h
det_proc.o: config.h
det_proc.o: /usr/include/curses.h
det_proc.o: /usr/include/signal.h
det_proc.o: /usr/include/string.h
det_proc.o: /usr/include/fcntl.h
det_proc.o: /usr/include/nlist.h
det_proc.o: /usr/include/errno.h
det_proc.o: /usr/include/time.h
det_proc.o: /usr/include/pwd.h
det_proc.o: /usr/include/sys/types.h
det_proc.o: /usr/include/utmp.h
det_proc.o: /usr/include/sys/stat.h
det_proc.o: /usr/include/sys/param.h
det_proc.o: /usr/include/sys/tuneable.h
det_proc.o: /usr/include/sys/sysinfo.h
det_proc.o: /usr/include/sys/sysmacros.h
det_proc.o: /usr/include/sys/immu.h
det_proc.o: /usr/include/sys/region.h
det_proc.o: /usr/include/sys/proc.h
det_proc.o: /usr/include/sys/fs/s5dir.h
det_proc.o: /usr/include/sys/user.h
det_proc.o: /usr/include/sys/var.h
det_proc.o: nlsym.h
det_proc.o: libkmem.h
det_proc.o: libmem.h
det_proc.o: libswap.h
det_proc.o: libnlsym.h
det_proc.o: u386mon.h
det_sio.o: config.h
det_sio.o: /usr/include/curses.h
det_sio.o: /usr/include/string.h
det_sio.o: /usr/include/nlist.h
det_sio.o: /usr/include/sys/types.h
det_sio.o: /usr/include/sys/stat.h
det_sio.o: /usr/include/sys/ascii.h
det_sio.o: /usr/include/sys/param.h
det_sio.o: /usr/include/sys/tty.h
det_sio.o: nlsym.h
det_sio.o: libkmem.h
det_sio.o: libmem.h
det_sio.o: libswap.h
det_sio.o: libnlsym.h
det_sio.o: u386mon.h
disputil.o: config.h
disputil.o: /usr/include/curses.h
disputil.o: /usr/include/sys/types.h
disputil.o: u386mon.h
kludge.o: /usr/include/curses.h
libkmem.o: /usr/include/sys/types.h
libkmem.o: /usr/include/fcntl.h
libkmem.o: libkmem.h
libmem.o: /usr/include/sys/types.h
libmem.o: /usr/include/fcntl.h
libmem.o: libmem.h
libpanel.o: config.h
libpanel.o: /usr/include/curses.h
libpanel.o: u386mon.h
libswap.o: /usr/include/sys/types.h
libswap.o: /usr/include/fcntl.h
libswap.o: libswap.h
libnlsym.o: config.h
libnlsym.o: /usr/include/stdio.h
libnlsym.o: /usr/include/sys/types.h
libnlsym.o: /usr/include/sys/stat.h
libnlsym.o: /usr/include/fcntl.h
libnlsym.o: /usr/include/nlist.h
libnlsym.o: nlsym.h
libnlsym.o: libnlsym.h
nlsym.o: config.h
nlsym.o: /usr/include/stdio.h
nlsym.o: /usr/include/sys/types.h
nlsym.o: /usr/include/sys/stat.h
nlsym.o: /usr/include/fcntl.h
nlsym.o: /usr/include/nlist.h
nlsym.o: nlsym.h
proc.o: config.h
proc.o: /usr/include/curses.h
proc.o: /usr/include/sys/types.h
proc.o: /usr/include/sys/param.h
proc.o: /usr/include/sys/immu.h
proc.o: /usr/include/sys/region.h
proc.o: /usr/include/sys/proc.h
proc.o: /usr/include/sys/var.h
proc.o: /usr/include/nlist.h
proc.o: nlsym.h
proc.o: libkmem.h
proc.o: libnlsym.h
proc.o: u386mon.h
tune.o: config.h
tune.o: /usr/include/curses.h
tune.o: /usr/include/sys/types.h
tune.o: /usr/include/sys/tuneable.h
tune.o: u386mon.h
var.o: config.h
var.o: /usr/include/curses.h
var.o: /usr/include/sys/types.h
var.o: /usr/include/sys/var.h
var.o: u386mon.h
#	DEPENDENCIES MUST END AT END OF	FILE
#	IF YOU PUT STUFF HERE IT WILL GO AWAY
#	see make depend	above
SHAR_EOF
chmod 0644 Make.isc2 ||
echo 'restore of Make.isc2 failed'
Wc_c="`wc -c < 'Make.isc2'`"
test 8993 -eq "$Wc_c" ||
	echo 'Make.isc2: original size 8993, current size' "$Wc_c"
rm -f _shar_wnt_.tmp
fi
# ============= Make.isc2.2 ==============
if test -f 'Make.isc2.2' -a X"$1" != X"-c"; then
	echo 'x - skipping Make.isc2.2 (File already exists)'
	rm -f _shar_wnt_.tmp
else
> _shar_wnt_.tmp
echo 'x - extracting Make.isc2.2 (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'Make.isc2.2' &&
#+-------------------------------------------------------------------
#  Makefile for u386mon for ISC 2.2 with gcc
#  Andreas Vogel, av@ssw.de, 29-OCT-1991
#--------------------------------------------------------------------
#+:EDITS:*/
#:08-01-1991-23:34-wht@n4hgf-release 2.40 source control point
#:05-09-1991-03:51-wht@n4hgf-gcc support
#:04-16-1991-02:24-martin@hppcmart-additions for SCO 3.2.2
#:04-15-1991-16:05-martin@hppcmart-add table/wd/streams for SCO
#:08-10-1990-14:12-jmd@p1so/wht@n4hgf-2.20-add Tandem Integrity S2
#:08-07-1990-14:24-wht@n4hgf-nba@sysware.dk SVR31 updates
#:08-02-1990-15:35-wht@n4hgf-2.12-old curses hacks+minor 3.2 formalizations
#:08-01-1990-21:39-wht@n4hgf-add Dell make file
#:08-01-1990-12:26-wht@n4hgf-2.11-try to support ISC 1.x.x
#:07-28-1990-18:07-wht@n4hgf-2.10 release
#:07-26-1990-02:55-wht@n4hgf-add -nointl -- smaller + we don't use it
#:07-24-1990-18:53-wht@n4hgf-add USIZE_FIXED reminder
#:07-21-1990-16:03-wht@n4hgf-add libpanel + remake depend
#:06-30-1990-19:06-wht@n4hgf-run nlsym using full pathname
#:06-27-1990-01:57-wht@n4hgf-1.10 - incorporate suggestions from alpha testers
#:06-25-1990-04:14-wht@n4hgf-1.03-better error handling
#:06-21-1990-14:27-r@n4hgf-version x0.12 seems bug free
#:06-19-1990-21:37-wht@n4hgf-get ready for 0.08 release
X
#------------> CFLAGS_LOCAL
# Use -DVPIX         if you have kernel support for VP/ix
#                    whether installed or not
# Use -DMERGE386
#                    if you have kernel support for Merge/386 (ODT-DOS)
#                    whether installed or not
#
# Use -DUSIZE_FIXED  if you get erroneous process sizes (leave off for 3.2.0;
#                    you do want this for any UNIX after 3.2.0 or any ODT)
#
# Use -DSCO322       if you are using SCO version 3.2.2 (UNIX 3.2r2 or ODT 1.1)
#                    or later
#
#CFLAGS_LOCAL = -DSCO322 -DMERGE386 -DUSIZE_FIXED
CFLAGS_LOCAL = -DVPIX
X
#------------> compiler choice (CC, CFLAGS, LDFLAGS)
#--> cc (native MSC 5.x)
#CC = cc
#CFLAGS = -c $(CFLAGS_LOCAL) -nointl -Octl -CSON -DLINT_ARGS
#LDFLAGS = -s -nointl
X
#--> gcc (some people make their gcc predefine 'i386' but others do not)
#        You'll get bad explosions with -pedantic -ansi' unless you've
#        hacked your header files to remove #idents plus some other changes.
#        You probably want to substitute -traditional (I like GccAbuse).
CC = gcc
CFLAGS = -c $(CFLAGS_LOCAL)\
X	-traditional -O\
X	-fstrength-reduce -fpcc-struct-return -fwritable-strings\
X	-finline-functions -fforce-mem -fforce-addr\
X	-fcombine-regs\
X	-fcall-used-ax -fcall-used-bx -fcall-used-cx -fcall-used-dx\
X	-Wunused -Wpointer-arith -Wcast-qual\
X	-DISC -DISC22\
X	-Di386
LDFLAGS = -s
X
#------------> LIB
LIB = -lpanel -lcurses -lx -lmalloc -lc_s
X
#------------> KMEMGRP
KMEMGRP = sys
X
#------------> BINDIR
BINDIR = /usr/local/bin
X
VERSION = 2.40
X
#handle Sys V make "feature" of using SHELL
SHELL = /bin/sh
X
#FCRC = fcrc -u $*.c ;
.c.o:
X	@echo ignore redefinition warnings for box and newterm;
X	$(FCRC) $(CC) $(CFLAGS) $*.c 
X
SRC = \
X	u386mon.c\
X	bootinfo.c\
X	detail.c\
X	det_proc.c\
X	det_sio.c\
X	det_stream.c\
X	det_table.c\
X	det_wd.c\
X	disputil.c\
X	kludge.c\
X	libkmem.c\
X	libmem.c\
X	libpanel.c\
X	libswap.c\
X	libnlsym.c\
X	nlsym.c\
X	proc.c\
X	tune.c\
X	var.c
X
HDR = \
X	config.h\
X	libkmem.h\
X	libmem.h\
X	libpanel.h\
X	libswap.h\
X	libnlsym.h\
X	lint_args.h\
X	nlsym.h\
X	u386mon.h
X
NLSYM_OBJ =\
X	nlsym.o
X
U386MON_OBJ =\
X	u386mon.o\
X	detail.o\
X	det_proc.o\
X	det_sio.o\
X	det_stream.o\
X	det_table.o\
X	det_wd.o\
X	bootinfo.o\
X	kludge.o\
X	proc.o\
X	tune.o\
X	var.o\
X	disputil.o\
X	libkmem.o\
X	libmem.o\
X	libswap.o\
X	libnlsym.o
X
SHARFLS = \
X	README\
X	CHANGES\
X	Make.*\
X	EXPLAIN\
X	$(SRC)\
X	$(HDR)\
X	renice/Makefile\
X	renice/renice.c\
X	panel/README\
X	panel/panel.3\
X	panel/ptest.c\
X	panel/Makefile
X
all: nlsym u386mon
X
#must run as root
install: all
X	cp nlsym $(BINDIR)
X	chown bin $(BINDIR)/nlsym
X	chgrp bin $(BINDIR)/nlsym
X	chmod 711 $(BINDIR)/nlsym
X	cp u386mon $(BINDIR)
X	chown bin $(BINDIR)/u386mon
X	chgrp $(KMEMGRP) $(BINDIR)/u386mon
X	chmod 2711 $(BINDIR)/u386mon
X	chmod g+r /dev/swap
X	$(BINDIR)/nlsym
X	@echo ' ';echo 'csh users rehash before executing'
X
nlsym: $(NLSYM_OBJ)
X	$(CC) $(LDFLAGS) -o $@ $(NLSYM_OBJ) $(LIB)
X
u386mon: $(U386MON_OBJ)
X	$(CC) $(LDFLAGS) -o $@ $(U386MON_OBJ) $(LIB)
X
/unix.nlsym: nlsym /unix
X	$(BINDIR)/nlsym
X	chmod 644 /unix.nlsym
X
#not delivered
src.fls: $(SRC) Makefile
X	ls $(SRC) > src.fls
lint_args: src.fls
X	echo ' ' > lint_args.h
X	csh zgcc src.fls lint_args.h $(CFLAGS)
X
clean:
X	rm -f $(U386MON_OBJ) $(NLSYM_OBJ) \
X		core u386mon.lint Makefile.bak src.fls mkdep.* cscope.out tags a.out
X
clobber: clean
X	rm -f nlsym u386mon
X
lint:
X	lint -ux *.c > u386mon.lint
X
#for shar 3.27 or later
shar:
X	shar -a -n u386mon.$(VERSION) -l 55 -o u386m-$(VERSION) $(SHARFLS)
X
# MAKE DEPEND: regenerate .c:.h, .ol:.c, .ol:.asm dependencies automatically
#
depend:
X		rm -f mkdep.rule.tmp
X		if test '$(SRC)' ;\
X		then (grep '^#include' $(SRC) \
X		| sed	-e 's?:[^<]*<\([^>]*\)>.*?: /usr/include/\1?'\
X			-e 's?:[^"]*"\([^"]*\)".*?: \1?'\
X			-e 's?\(.*\)\.c?\1.o?'\
X		 >> mkdep.rule.tmp) ;\
X		fi
X
X		echo 1 >mkdep.ex.tmp
X		echo '/^# DO NOT DELETE THIS LINE' >>mkdep.ex.tmp
X		echo '.+1,$$d' >>mkdep.ex.tmp
X		echo 'r mkdep.rule.tmp' >> mkdep.ex.tmp
X		echo 'w' >> mkdep.ex.tmp
X		cp Makefile.sco Makefile.new
X		ex Makefile.new < mkdep.ex.tmp
X		rm mkdep.ex.tmp mkdep.rule.tmp
X		echo '#	DEPENDENCIES MUST END AT END OF	FILE' >>Makefile.new
X		echo '#	IF YOU PUT STUFF HERE IT WILL GO AWAY'>>Makefile.new
X		echo '#	see make depend	above'>>Makefile.new
X		mv Makefile.sco Makefile.bak
X		mv Makefile.new Makefile.sco
X
# DO NOT DELETE THIS LINE
u386mon.o: config.h
u386mon.o: /usr/include/curses.h
u386mon.o: libpanel.h
u386mon.o: /usr/include/signal.h
u386mon.o: /usr/include/string.h
u386mon.o: /usr/include/fcntl.h
u386mon.o: /usr/include/nlist.h
u386mon.o: /usr/include/errno.h
u386mon.o: /usr/include/time.h
u386mon.o: /usr/include/sys/types.h
u386mon.o: /usr/include/sys/lock.h
u386mon.o: /usr/include/sys/utsname.h
u386mon.o: /usr/include/sys/stat.h
u386mon.o: /usr/include/sys/param.h
u386mon.o: /usr/include/sys/tuneable.h
u386mon.o: /usr/include/sys/sysinfo.h
u386mon.o: /usr/include/sys/sysmacros.h
u386mon.o: /usr/include/sys/immu.h
u386mon.o: /usr/include/sys/region.h
u386mon.o: /usr/include/sys/proc.h
u386mon.o: /usr/include/sys/var.h
u386mon.o: /usr/include/sys/swap.h
u386mon.o: /usr/include/sys/trap.h
u386mon.o: nlsym.h
u386mon.o: libkmem.h
u386mon.o: libmem.h
u386mon.o: libswap.h
u386mon.o: libnlsym.h
u386mon.o: u386mon.h
bootinfo.o: config.h
bootinfo.o: /usr/include/curses.h
bootinfo.o: /usr/include/sys/types.h
bootinfo.o: /usr/include/sys/bootinfo.h
bootinfo.o: u386mon.h
detail.o: config.h
detail.o: /usr/include/curses.h
detail.o: /usr/include/signal.h
detail.o: /usr/include/string.h
detail.o: /usr/include/fcntl.h
detail.o: /usr/include/nlist.h
detail.o: /usr/include/errno.h
detail.o: /usr/include/time.h
detail.o: /usr/include/pwd.h
detail.o: /usr/include/sys/types.h
detail.o: /usr/include/utmp.h
detail.o: /usr/include/sys/utsname.h
detail.o: /usr/include/sys/stat.h
detail.o: /usr/include/sys/param.h
detail.o: /usr/include/sys/tuneable.h
detail.o: /usr/include/sys/sysinfo.h
detail.o: /usr/include/sys/sysmacros.h
detail.o: /usr/include/sys/immu.h
detail.o: /usr/include/sys/region.h
detail.o: /usr/include/sys/proc.h
detail.o: /usr/include/sys/var.h
detail.o: nlsym.h
detail.o: libkmem.h
detail.o: libnlsym.h
detail.o: u386mon.h
det_proc.o: config.h
det_proc.o: /usr/include/curses.h
det_proc.o: /usr/include/signal.h
det_proc.o: /usr/include/string.h
det_proc.o: /usr/include/fcntl.h
det_proc.o: /usr/include/nlist.h
det_proc.o: /usr/include/errno.h
det_proc.o: /usr/include/time.h
det_proc.o: /usr/include/pwd.h
det_proc.o: /usr/include/sys/types.h
det_proc.o: /usr/include/utmp.h
det_proc.o: /usr/include/sys/stat.h
det_proc.o: /usr/include/sys/param.h
det_proc.o: /usr/include/sys/tuneable.h
det_proc.o: /usr/include/sys/sysinfo.h
det_proc.o: /usr/include/sys/sysmacros.h
det_proc.o: /usr/include/sys/immu.h
det_proc.o: /usr/include/sys/region.h
det_proc.o: /usr/include/sys/proc.h
det_proc.o: /usr/include/sys/fs/s5dir.h
det_proc.o: /usr/include/sys/user.h
det_proc.o: /usr/include/sys/var.h
det_proc.o: nlsym.h
det_proc.o: libkmem.h
det_proc.o: libmem.h
det_proc.o: libswap.h
det_proc.o: libnlsym.h
det_proc.o: u386mon.h
det_sio.o: config.h
det_sio.o: /usr/include/curses.h
det_sio.o: /usr/include/string.h
det_sio.o: /usr/include/nlist.h
det_sio.o: /usr/include/sys/types.h
det_sio.o: /usr/include/sys/stat.h
det_sio.o: /usr/include/sys/ascii.h
det_sio.o: /usr/include/sys/param.h
det_sio.o: /usr/include/sys/tty.h
det_sio.o: nlsym.h
det_sio.o: libkmem.h
det_sio.o: libmem.h
det_sio.o: libswap.h
det_sio.o: libnlsym.h
det_sio.o: u386mon.h
disputil.o: config.h
disputil.o: /usr/include/curses.h
disputil.o: /usr/include/sys/types.h
disputil.o: u386mon.h
kludge.o: /usr/include/curses.h
libkmem.o: /usr/include/sys/types.h
libkmem.o: /usr/include/fcntl.h
libkmem.o: libkmem.h
libmem.o: /usr/include/sys/types.h
libmem.o: /usr/include/fcntl.h
libmem.o: libmem.h
libpanel.o: config.h
libpanel.o: /usr/include/curses.h
libpanel.o: u386mon.h
libswap.o: /usr/include/sys/types.h
libswap.o: /usr/include/fcntl.h
libswap.o: libswap.h
libnlsym.o: config.h
libnlsym.o: /usr/include/stdio.h
libnlsym.o: /usr/include/sys/types.h
libnlsym.o: /usr/include/sys/stat.h
libnlsym.o: /usr/include/fcntl.h
libnlsym.o: /usr/include/nlist.h
libnlsym.o: nlsym.h
libnlsym.o: libnlsym.h
nlsym.o: config.h
nlsym.o: /usr/include/stdio.h
nlsym.o: /usr/include/sys/types.h
nlsym.o: /usr/include/sys/stat.h
nlsym.o: /usr/include/fcntl.h
nlsym.o: /usr/include/nlist.h
nlsym.o: nlsym.h
proc.o: config.h
proc.o: /usr/include/curses.h
proc.o: /usr/include/sys/types.h
proc.o: /usr/include/sys/param.h
proc.o: /usr/include/sys/immu.h
proc.o: /usr/include/sys/region.h
proc.o: /usr/include/sys/proc.h
proc.o: /usr/include/sys/var.h
proc.o: /usr/include/nlist.h
proc.o: nlsym.h
proc.o: libkmem.h
proc.o: libnlsym.h
proc.o: u386mon.h
tune.o: config.h
tune.o: /usr/include/curses.h
tune.o: /usr/include/sys/types.h
tune.o: /usr/include/sys/tuneable.h
tune.o: u386mon.h
var.o: config.h
var.o: /usr/include/curses.h
var.o: /usr/include/sys/types.h
var.o: /usr/include/sys/var.h
var.o: u386mon.h
#	DEPENDENCIES MUST END AT END OF	FILE
#	IF YOU PUT STUFF HERE IT WILL GO AWAY
#	see make depend	above
SHAR_EOF
chmod 0644 Make.isc2.2 ||
echo 'restore of Make.isc2.2 failed'
Wc_c="`wc -c < 'Make.isc2.2'`"
test 10390 -eq "$Wc_c" ||
	echo 'Make.isc2.2: original size 10390, current size' "$Wc_c"
rm -f _shar_wnt_.tmp
fi
# ============= Make.isc2.gcc ==============
if test -f 'Make.isc2.gcc' -a X"$1" != X"-c"; then
	echo 'x - skipping Make.isc2.gcc (File already exists)'
	rm -f _shar_wnt_.tmp
else
> _shar_wnt_.tmp
echo 'x - extracting Make.isc2.gcc (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'Make.isc2.gcc' &&
#+-------------------------------------------------------------------
#  Makefile for u386mon for ISC 2.x with gcc
#  ...!{gatech,emory}!n4hgf!wht
#--------------------------------------------------------------------
#+:EDITS:*/
#:08-01-1991-23:34-wht@n4hgf-release 2.40 source control point
#:05-09-1991-03:51-wht@n4hgf-gcc support
#:04-16-1991-02:24-martin@hppcmart-additions for SCO 3.2.2
#:04-15-1991-16:05-martin@hppcmart-add table/wd/streams for SCO
#:08-10-1990-14:12-jmd@p1so/wht@n4hgf-2.20-add Tandem Integrity S2
#:08-07-1990-14:24-wht@n4hgf-nba@sysware.dk SVR31 updates
#:08-02-1990-15:35-wht@n4hgf-2.12-old curses hacks+minor 3.2 formalizations
#:08-01-1990-21:39-wht@n4hgf-add Dell make file
#:08-01-1990-12:26-wht@n4hgf-2.11-try to support ISC 1.x.x
#:07-28-1990-18:07-wht@n4hgf-2.10 release
#:07-26-1990-02:55-wht@n4hgf-add -nointl -- smaller + we don't use it
#:07-24-1990-18:53-wht@n4hgf-add USIZE_FIXED reminder
#:07-21-1990-16:03-wht@n4hgf-add libpanel + remake depend
#:06-30-1990-19:06-wht@n4hgf-run nlsym using full pathname
#:06-27-1990-01:57-wht@n4hgf-1.10 - incorporate suggestions from alpha testers
#:06-25-1990-04:14-wht@n4hgf-1.03-better error handling
#:06-21-1990-14:27-r@n4hgf-version x0.12 seems bug free
#:06-19-1990-21:37-wht@n4hgf-get ready for 0.08 release
X
#------------> CFLAGS_LOCAL
# Use -DVPIX         if you have kernel support for VP/ix
#                    whether installed or not
# Use -DMERGE386
#                    if you have kernel support for Merge/386 (ODT-DOS)
#                    whether installed or not
#
# Use -DUSIZE_FIXED  if you get erroneous process sizes (leave off for 3.2.0;
#                    you do want this for any UNIX after 3.2.0 or any ODT)
#
# Use -DSCO322       if you are using SCO version 3.2.2 (UNIX 3.2r2 or ODT 1.1)
#                    or later
#
CFLAGS_LOCAL = -DSCO322 -DMERGE386 -DUSIZE_FIXED
X
#------------> compiler choice (CC, CFLAGS, LDFLAGS)
#--> cc (native MSC 5.x)
#CC = cc
#CFLAGS = -c $(CFLAGS_LOCAL) -nointl -Octl -CSON -DLINT_ARGS
#LDFLAGS = -s -nointl
X
#--> gcc (some people make their gcc predefine 'i386' but others do not)
#        You'll get bad explosions with -pedantic -ansi' unless you've
#        hacked your header files to remove #idents plus some other changes.
#        You probably want to substitute -traditional (I like GccAbuse).
CC = gcc
CFLAGS = -c $(CFLAGS_LOCAL)\
X	-pedantic -ansi -O\
X	-fstrength-reduce -fpcc-struct-return -fwritable-strings\
X	-finline-functions -fforce-mem -fforce-addr\
X	-fcombine-regs\
X	-fcall-used-ax -fcall-used-bx -fcall-used-cx -fcall-used-dx\
X	-Wunused -Wpointer-arith -Wcast-qual\
X	-DISC\
X	-Di386
LDFLAGS = -s
X
#------------> LIB
LIB = -lpanel -ltinfo -lx -lmalloc -lc_s
X
#------------> KMEMGRP
KMEMGRP = mem
X
#------------> BINDIR
BINDIR = /usr/local/bin
X
VERSION = 2.40
X
#handle Sys V make "feature" of using SHELL
SHELL = /bin/sh
X
#FCRC = fcrc -u $*.c ;
.c.o:
X	@echo ignore redefinition warnings for box and newterm;
X	$(FCRC) $(CC) $(CFLAGS) $*.c 
X
SRC = \
X	u386mon.c\
X	bootinfo.c\
X	detail.c\
X	det_proc.c\
X	det_sio.c\
X	det_stream.c\
X	det_table.c\
X	det_wd.c\
X	disputil.c\
X	kludge.c\
X	libkmem.c\
X	libmem.c\
X	libpanel.c\
X	libswap.c\
X	libnlsym.c\
X	nlsym.c\
X	proc.c\
X	tune.c\
X	var.c
X
HDR = \
X	config.h\
X	libkmem.h\
X	libmem.h\
X	libpanel.h\
X	libswap.h\
X	libnlsym.h\
X	lint_args.h\
X	nlsym.h\
X	u386mon.h
X
NLSYM_OBJ =\
X	nlsym.o
X
U386MON_OBJ =\
X	u386mon.o\
X	detail.o\
X	det_proc.o\
X	det_sio.o\
X	det_stream.o\
X	det_table.o\
X	det_wd.o\
X	bootinfo.o\
X	kludge.o\
X	proc.o\
X	tune.o\
X	var.o\
X	disputil.o\
X	libkmem.o\
X	libmem.o\
X	libswap.o\
X	libnlsym.o
X
SHARFLS = \
X	README\
X	CHANGES\
X	Make.*\
X	EXPLAIN\
X	$(SRC)\
X	$(HDR)\
X	renice/Makefile\
X	renice/renice.c\
X	panel/README\
X	panel/panel.3\
X	panel/ptest.c\
X	panel/Makefile
X
all: nlsym u386mon
X
#must run as root
install: all
X	strip nlsym
X	mcs -d nlsym
X	cp nlsym $(BINDIR)
X	chown bin $(BINDIR)/nlsym
X	chgrp bin $(BINDIR)/nlsym
X	chmod 711 $(BINDIR)/nlsym
X	strip u386mon
X	mcs -d u386mon
X	mv u386mon $(BINDIR)
X	chown bin $(BINDIR)/u386mon
X	chgrp $(KMEMGRP) $(BINDIR)/u386mon
X	chmod 2711 $(BINDIR)/u386mon
X	$(BINDIR)/nlsym
X	@echo ' ';echo 'csh users rehash before executing'
X
nlsym: $(NLSYM_OBJ)
X	$(CC) $(LDFLAGS) -o $@ $(NLSYM_OBJ) $(LIB)
SHAR_EOF
true || echo 'restore of Make.isc2.gcc failed'
fi
echo 'End of av386mon part 1'
echo 'File Make.isc2.gcc is continued in part 2'
echo 2 > _shar_seq_.tmp
exit 0
-- 
Andreas Vogel                   Bahnhofstr. 13 / D-7300 Esslingen / Germany
				Voice:  +49-711/357613
				E-Mail: av@ssw.de
