.I 0 2
# +++Date last modified: 24-Nov-1996

.I 6 4
#
#  Public domain by Bob Stout

ver=9510
.D 7 1
.I 27 28
cc=sc -m$(cmm)		# Symantec
lc=lib /C /B
lb=sls$(cmm)$(ver)
lr=lib.rsp

#cc=wcl -m$(cmm)	# Watcom
#lc=wlib
#lb=slw$(cmm)$(ver)
#lr=wlib.rsp

#cc=cl /A$(cmm)		# Microsoft
#lc=lib
#lb=slm$(cmm)$(ver)
#lr=lib.rsp

#cc=bcc -m$(cmm)	# Borland
#lc=tlib
#lb=slb$(cmm)$(ver)
#lr=tlib.rsp

#cc=ztc -m$(cmm)	# Zortech
#lc=zorlib
#lb=slz$(cmm)$(ver)
#lr=zorlib.rsp

#cc=pc /m$(cmm)		# Mix

#cc=gcc			# Gnu
.D 28 6
.I 56 11
#.SUFFIXES: .c .cpp .asm        # For make utilities which require
                                # .SUFFIXES be set for implicit rules

l=lib

$(lb).$(l)	: allobj
	$(lc) $(lb).$(l) @$(lr)

#  The following macros provides for post processing after compilation.
#
#  The first macro aids debugging when using a compiler (e.g. Watcom) which
.D 57 2
.I 64 1
#  the $(extra1) macro renames the .err file resulting from compilation to
.D 65 1
.I 66 8
#
#  The second and third macroa are for use with the DJGPP port of gcc, to
#  convert COFF output files to DOS executables.

extra1=if exist $*.err $(mv) $*.err $*.erx

#extra2=$(mv) a.out $*
#extra3=coff2exe $*
.D 67 2
.I 101 6
	$(extra1)

cards.$(x)	: cards.cpp cards.hpp
	$(ct) cards.cpp
	$(rm) cards.$(o)
	$(extra1)
.D 102 1
.I 106 1
	$(extra1)
.D 107 1
.I 111 1
	$(extra1)
.D 112 1
.I 116 1
	$(extra1)
.D 117 1
.I 121 1
	$(extra1)
.D 122 1
.I 126 1
	$(extra1)
.D 127 1
.I 131 4
	$(extra1)

whicharc.$(x)	: whicharc.cpp whicharc.h archive.$(o) archive.hpp
	$(ct) whicharc.cpp
.D 132 4
.I 136 1
	$(extra1)
.D 137 1
.I 141 6
	$(extra1)

existsx.$(x)	: existsx.c snipfile.h snip_str.h stptok.$(o) unix2dos.$(o)
	$(ct) existsx.c stptok.$(o) unix2dos.$(o)
	$(rm) existsx.$(o)
	$(extra1)
.D 142 1
.I 146 1
	$(extra1)
.D 147 1
.I 151 3
	$(extra1)

textmod.$(x)	: textmod.c snipfile.h ferrorf.$(o)
.D 152 3
.I 160 11
	$(extra1)

memmem.$(x)	: memmem.c snip_str.h
	$(ct) memmem.c
	$(rm) memmem.$(o)
	$(extra1)

fmemmem.$(x)	: fmemmem.c fptr_add.$(o) snip_str.h snpdosys.h
	$(ct) fmemmem.c fptr_add.$(o)
	$(rm) fmemmem.$(o)
	$(extra1)
.D 161 1
.I 165 1
	$(extra1)
.D 166 1
.I 170 1
	$(extra1)
.D 171 1
.I 175 1
	$(extra1)
.D 176 1
.I 180 1
	$(extra1)
.D 181 1
.I 185 1
	$(extra1)
.D 186 1
.I 190 1
	$(extra1)
.D 191 1
.I 195 1
	$(extra1)
.D 196 1
.I 200 1
	$(extra1)
.D 201 1
.I 205 1
	$(extra1)
.D 206 1
.I 210 1
	$(extra1)
.D 211 1
.I 215 1
	$(extra1)
.D 216 1
.I 220 1
	$(extra1)
.D 221 1
.I 225 1
	$(extra1)
.D 226 1
.I 231 8
index.$(x)	: index.c ferrorf.$(o)
	$(cc) index.c ferrorf.$(o)
	$(rm) index.$(o)

lookup.$(x)	: lookup.c ferrorf.$(o)
	$(cc) lookup.c ferrorf.$(o)
	$(rm) lookup.$(o)

.I 234 1
	$(extra1)
.D 235 1
.I 239 1
	$(extra1)
.D 240 1
.I 244 1
	$(extra1)
.D 245 1
.I 249 1
	$(extra1)
.D 250 1
.I 254 1
	$(extra1)
.D 255 1
.I 259 6
	$(extra1)

etphi.$(x)	: etphi.c isqrt.$(o)
	$(ct) etphi.c isqrt.$(o)
	$(rm) etphi.$(o)
	$(extra1)
.D 260 1
.I 264 6
	$(extra1)

fibo.$(x)	: fibo.c snipmath.h dblround.$(o)
	$(ct) fibo.c dblround.$(o)
	$(rm) fibo.$(o)
	$(extra1)
.D 265 1
.I 269 1
	$(extra1)
.D 270 1
.I 274 1
	$(extra1)
.D 275 1
.I 279 1
	$(extra1)
.D 280 1
.I 284 13
	$(extra1)

pi.$(x)	: pi.c extkword.h big_mall.h
	$(cc) pi.c
	$(rm) pi.$(o)

pi6.$(x)	: pi6.c
	$(cc) pi6.c
	$(rm) pi6.$(o)

pi_agm.$(x)	: pi_agm.c ispow2.$(o) snipmath.h
	$(cc) pi_agm.c ispow2.$(o)
	$(rm) pi_agm.$(o)
.D 285 1
.I 293 1
	$(extra1)
.D 294 1
.I 302 1
	$(extra1)
.D 303 1
.I 307 1
	$(extra1)
.D 308 1
.I 312 1
	$(extra1)
.D 313 1
.I 317 1
	$(extra1)
.D 318 1
.I 322 1
	$(extra1)
.D 323 1
.I 327 1
	$(extra1)
.D 328 1
.I 332 1
	$(extra1)
.D 333 1
.I 337 1
	$(extra1)
.D 338 1
.I 342 1
	$(extra1)
.D 343 1
.I 347 1
	$(extra1)
.D 348 1
.I 352 1
	$(extra1)
.D 353 1
.I 357 1
	$(extra1)
.D 358 1
.I 362 3
	$(extra1)

amalloc.$(x)	: amalloc.c snparray.h
.D 363 3
.I 367 5
	$(extra1)

mdatest.$(x)	: mdatest.c amalloc.$(o) mdalloc.$(o) snparray.h
	$(cc) mdatest.c amalloc.$(o) mdalloc.$(o)
	$(rm) mdatest.$(o)
.D 368 1
.I 372 1
	$(extra1)
.D 373 1
.I 377 17
	$(extra1)

bitcnt_3.$(x)	: bitcnt_3.c bitops.h snip_str.h
	$(ct) bitcnt_3.c
	$(rm) bitcnt_3.$(o)
	$(extra1)

bitcnt_4.$(x)	: bitcnt_4.c bitops.h snip_str.h
	$(ct) bitcnt_4.c
	$(rm) bitcnt_4.$(o)
	$(extra1)

bitcnts.$(x)	: bitcnts.c bitops.h bitcnt_1.$(o) bitcnt_2.$(o) \
		  bitcnt_3.$(o) bitcnt_4.$(o)
	$(cc) bitcnts.c bitcnt_1.$(o) bitcnt_2.$(o) bitcnt_3.$(o) \
		bitcnt_4.$(o)
	$(rm) bitcnts.$(o)
.D 378 1
.I 382 1
	$(extra1)
.D 383 1
.I 387 1
	$(extra1)
.D 388 1
.I 392 1
	$(extra1)
.D 393 1
.I 397 1
	$(extra1)
.D 398 1
.I 402 1
	$(extra1)
.D 403 1
.I 407 1
	$(extra1)
.D 408 1
.I 412 1
	$(extra1)
.D 413 1
.I 417 1
	$(extra1)
.D 418 1
.I 423 1
	$(extra1)
.D 424 1
.I 428 1
	$(extra1)
.D 429 1
.I 438 4
what.$(x)	: what.c
	$(cc) what.c
	$(rm) what.obj

.I 442 32
cmtconvr.$(x)	: cmtconvr.cpp cmtparsr.cpp
	$(cc) cmtconvr.cpp cmtparsr.cpp
	$(rm) cmtconvr.$(o)
	$(rm) cmtparsr.$(o)

cmtcount.$(x)	: cmtcount.cpp cmtparsr.cpp
	$(cc) cmtcount.cpp cmtparsr.cpp
	$(rm) cmtcount.$(o)
	$(rm) cmtparsr.$(o)

cmtremov.$(x)	: cmtremov.cpp cmtparsr.cpp
	$(cc) cmtremov.cpp cmtparsr.cpp
	$(rm) cmtremov.$(o)
	$(rm) cmtparsr.$(o)

cmtxtrac.$(x)	: cmtxtrac.cpp cmtparsr.cpp
	$(cc) cmtxtrac.cpp cmtparsr.cpp
	$(rm) cmtxtrac.$(o)
	$(rm) cmtparsr.$(o)

commconv.$(x)	: commconv.c
	$(cc) commconv.c
	$(rm) commconv.$(o)

remcmmnt.$(x)	: remcmmnt.c
	$(cc) remcmmnt.c
	$(rm) remcmmnt.$(o)

csplit.$(x)	: csplit.c
	$(cc) csplit.c
	$(rm) csplit.$(o)

.I 445 1
	$(extra1)
.D 446 1
.I 451 1
	$(extra1)
.D 452 1
.I 456 1
	$(extra1)
.D 457 1
.I 461 1
	$(extra1)
.D 462 1
.I 467 1
	$(extra1)
.D 468 1
.I 476 1
	$(extra1)
.D 477 1
.I 481 1
	$(extra1)
.D 482 1
.I 486 1
	$(extra1)
.D 487 1
.I 491 1
	$(extra1)
.D 492 1
.I 496 6
	$(extra1)

parstime.$(x)	: parstime.c datetime.h
	$(ct) parstime.c
	$(rm) parstime.$(o)
	$(extra1)
.D 497 1
.I 501 5
	$(extra1)

datedemo.$(x)	: datedemo.cpp date.$(o) date.hpp
	$(cc) datededmo.cpp date.$(o)
	$(rm) datedemo.$(o)
.D 502 1
.I 506 1
	$(extra1)
.D 507 1
.I 511 1
	$(extra1)
.D 512 1
.I 516 6
	$(extra1)

crc_16f.$(x) : crc_16f.c crc.h unistd.h
	$(ct) crc_16f.c
	$(rm) crc_16f.$(o)
	$(extra1)
.D 517 6
.I 526 1
	$(extra1)
.D 527 1
.I 531 1
	$(extra1)
.D 532 1
.I 536 6
	$(extra1)

palnfilt.$(x)	: palnfilt.c getopts.h getopts.$(o) fnsplit.$(o) \
			  err_exit.$(o) ferrorf.$(o) unix2dos.$(o)
	$(cc) palnfilt.c getopts.$(o) ferrorf.$(o) fnsplit.$(o) unix2dos.$(o) \
		err_exit.$(o)
.D 537 9
.I 547 5
getoptsl.$(x)	: getoptsl.c getoptsl.h
	$(ct) getoptsl.c
	$(rm) getoptsl.$(o)
	$(extra1)

.I 550 1
	$(extra1)
.D 551 1
.I 555 1
	$(extra1)
.D 556 1
.I 560 5
	$(extra1)

ansitest.$(x)	: ansitest.c ansicode.h dosgetch.$(o) dosgetch.h
	$(cc) ansitest.c dosgetch.$(o)
	$(rm) ansitest.$(o)
.D 561 1
.I 570 1
	$(extra1)
.D 571 1
.I 575 6
	$(extra1)

fnsplit.$(x)	:fnsplit.c sniptype.h filnames.h
	$(ct) fnsplit.c
	$(rm) fnsplit.$(o)
	$(extra1)
.D 576 11
.I 590 1
	$(extra1)
.D 591 1
.I 595 1
	$(extra1)
.D 596 1
.I 600 1
	$(extra1)
.D 601 1
.I 605 1
	$(extra1)
.D 606 1
.I 610 6
	$(extra1)

fchsize.$(x)	: fchsize.c ferrorf.$(o) sniptype.h
	$(ct) fchsize.c ferrorf.$(o)
	$(rm) fchsize.$(o)
	$(extra1)
.D 611 1
.I 615 1
	$(extra1)
.D 616 1
.I 620 1
	$(extra1)
.D 621 1
.I 625 1
	$(extra1)
.D 626 1
.I 630 1
	$(extra1)
.D 631 1
.I 635 1
	$(extra1)
.D 636 1
.I 641 1
	$(extra1)
.D 642 1
.I 646 1
	$(extra1)
.D 647 1
.I 652 1
	$(extra1)
.D 653 1
.I 657 1
	$(extra1)
.D 658 1
.I 662 6
	$(extra1)

ftime.$(x)	: ftime.c ferrorf.$(o) err_exit.$(o)
	$(ct) ftime.c ferrorf.$(o) err_exit.$(o)
	$(rm) ftime.$(o)
	$(extra1)
.D 663 1
.I 667 1
	$(extra1)
.D 668 1
.I 672 5
	$(extra1)

format.$(x)	: format.c format.h pc-port.h
	$(cc) format.c
	$(rm) format.obj
.D 673 1
.I 677 1
	$(extra1)
.D 678 1
.I 682 1
	$(extra1)
.D 683 1
.I 687 1
	$(extra1)
.D 688 1
.I 692 1
	$(extra1)
.D 693 1
.I 697 1
	$(extra1)
.D 698 1
.I 702 1
	$(extra1)
.D 703 1
.I 707 1
	$(extra1)
.D 708 1
.I 716 1
	$(extra1)
.D 717 1
.I 721 1
	$(extra1)
.D 722 1
.I 724 3
		  hugeread.$(o) fmemops.$(o) fptr_add.$(o) extkword.h
	$(ct) fscrnsav.c vidport.$(o) scroll.$(o) fmemops.$(o) hugeread.$(o) \
		  fptr_add.$(o)
.D 725 2
.I 727 1
	$(extra1)
.D 728 1
.I 732 6
	$(extra1)

vgablank.$(x)	: vgablank.c delay.$(o) pchwio.h
	$(ct) vgablank.c delay.$(o)
	$(rm) vgablank.$(o)
	$(extra1)
.D 733 1
.I 737 28
	$(extra1)

bhamdemo.$(x)	: bhamdemo.c bresnham.$(o) bresnham.h
	$(cc) bhamdemo.c bresnham.$(o)
	$(rm) bhamdemo.$(o)

moreproc.$(x)	: moreproc.c scrnmacs.h ext_keys.$(o) isshift.$(o) \
		  ferrorf.$(o)
	$(ct) moreproc.c ext_keys.$(o) isshift.$(o) ferrorf.$(o)
	$(rm) moreproc.$(o)
	$(extra1)

adjscrol.$(x)	: adjscrol.c scrnmacs.h ext_keys.$(o) isshift.$(o) \
		  ferrorf.$(o) delay.$(o) faskbhit.$(o)
	$(ct) adjscrol.c ext_keys.$(o) isshift.$(o) ferrorf.$(o) delay.$(o) \
		faskbhit.$(o)
	$(rm) adjscrol.$(o)
	$(extra1)

more.$(x)	: more.c scrnmacs.h moreproc.$(o) ext_keys.$(o) isshift.$(o) \
		  ferrorf.$(o)
	$(cc) more.c moreproc.$(o) ext_keys.$(o) isshift.$(o) ferrorf.$(o)
	$(rm) more.$(o)

showansi.$(x)	: showansi.cpp scrintrp.$(o) video.$(o) ansisys.$(o) \
		  avatat.$(o)
	$(cc) showansi.cpp scrintrp.$(o) video.$(o) ansisys.$(o) avatat.$(o)
	$(rm) showansi.$(o)
.D 738 1
.I 742 1
	$(extra1)
.D 743 1
.I 748 1
	$(extra1)
.D 749 1
.I 759 1
	$(extra1)
.D 760 1
.I 776 1
	$(extra1)
.D 777 1
.I 781 1
	$(extra1)
.D 782 1
.I 786 1
	$(extra1)
.D 787 1
.I 803 1
	$(extra1)
.D 804 1
.I 808 1
	$(extra1)
.D 809 1
.I 813 1
	$(extra1)
.D 814 1
.I 818 1
	$(extra1)
.D 819 1
.I 823 1
	$(extra1)
.D 824 1
.I 826 1
		  minmax.h ext_keys.$(o) isshift.$(o) cursor.$(o)
.D 827 1
.I 829 1
	$(extra1)
.D 830 1
.I 834 9
	$(extra1)

xmstest.$(x)	: xmstest.c xms.$(o) xms.h
	$cc xmstest.c xms.$(o)
	$rm xmstest.$(o)

emstest.$(x)	: emstest.c ems.$(o) ems.h
	$cc emstest.c ems.$(o)
	$rm emstest.$(o)
.D 835 1
.I 839 1
	$(extra1)
.D 840 1
.I 844 1
	$(extra1)
.D 845 1
.D 879 4
.I 943 9
filecat.$(x)	: filecat.c maxline.$(o)
	$(cc) filecat.c maxline.$(o)
	$(rm) filecat.$(o)

maxline.$(x)	: maxline.c
	$(ct) maxline.c
	$(rm) maxline.$(o)
	$(extra1)

.I 950 1
	$(extra1)
.D 951 1
.I 955 1
	$(extra1)
.D 956 1
.I 965 2
hexdump.$(x) : hexdump.c ferrorf.$(o) err_exit.$(o)
	$(cc) hexdump.c ferrorf.$(o) err_exit.$(o)
.D 966 2
.I 1038 1
	  absdisk.$(o) absdiskc.$(o)
.D 1039 1
.I 1054 4
pr.$(x)	: pr.c getopts.h getopts.$(o) fnsplit.$(o) ferrorf.$(o) \
		  unix2dos.$(o) err_exit.$(o)
	$(cc) pr.c getopts.$(o) fnsplit.$(o) ferrorf.$(o) unix2dos.$(o) \
		err_exit.$(o)
.D 1055 6
.I 1073 1
	$(extra1)
.D 1074 1
.I 1091 10
seqtouch.$(x)	: seqtouch.c getopts.$(o) pushdir.$(o) err_exit.$(o) \
		  existsx.$(o) stptok.$(o) unix2dos.$(o) ftime.$(o) \
		  parsdate.$(o) parstime.$(o) ferrorf.$(o) drvalid.$(o) \
		  absdisk.$(o) absdiskc.$(o) getyn.$(o) fnsplit.$(o)
	$(cc) seqtouch.c getopts.$(o) pushdir.$(o) err_exit.$(o) \
	      existsx.$(o) stptok.$(o) unix2dos.$(o) ftime.$(o) \
	      parsdate.$(o) parstime.$(o) ferrorf.$(o) drvalid.$(o) \
	      absdisk.$(o) absdiskc.$(o) getyn.$(o) fnsplit.$(o)
	$(rm) seqtouch.$(o)

.I 1099 5
	$(extra1)

skiplist.$(x)	: skiplist.c
	$(cc) skiplist.c
	$(rm) skiplist.$(o)
.D 1100 1
.I 1109 2
split.$(x)	: split.c fnsplit.$(o)
	$(cc) split.c fnsplit.$(o)
.D 1110 2
.I 1141 4
tiresize.$(x)	: tiresize.c
	$(cc) tiresize.c
	$(rm) tiresize.$(o)

.I 1205 1
		  mystream.$(o) myline.$(o)
.D 1206 1
.I 1227 2
	ansiflen.$(x)\
	existsx.$(x)\
.D 1228 2
.I 1233 1
	memmem.$(x)\
.I 1247 2
	index.$(x)\
	lookup.$(x)\
.I 1253 3
	etphi.$(x)\
	factoryl.$(x)\
	fibo.$(x)\
.D 1254 1
.I 1275 1
	mdatest.$(x)\
.I 1277 3
	bitcnt_3.$(x)\
	bitcnt_4.$(x)\
	bitcnts.$(x)\
.I 1289 5
	what.$(x)\
	c_cmnt.$(x)\
	commconv.$(x)\
	remcmmnt.$(x)\
	csplit.$(x)\
.D 1290 1
.I 1301 1
	parstime.$(x)\
.I 1305 1
	crc_16f.$(x)\
.D 1306 1
.I 1309 2
	getoptst.$(x)\
	getoptsl.$(x)\
.D 1310 1
.I 1316 1
	fnsplit.$(x)\
.D 1317 2
.I 1323 1
	fchsize.$(x)\
.I 1335 1
	format.$(x)\
.I 1348 4
	bhamdemo.$(x)\
	moreproc.$(x)\
	adjscrol.$(x)\
	more.$(x)\
.D 1376 1
.I 1390 2
	maxline.$(x)\
	filecat.$(x)\
.I 1426 1
	seqtouch.$(x)\
.I 1438 1
	tiresize.$(x)\
.I 1456 2
	cards.$(x)\
	datedemo.$(x)\
.I 1458 26
	jnew.$(x)\
	showansi.$(x)\
	cmtconvr.$(x)\
	cmtcount.$(x)\
	cmtremov.$(x)\
	cmtxtrac.$(x)\
	whicharc.$(x)


#  Make target "bachmlib" to compile Erik Bachmann's library functions

bachmlib	:\
	Date__.$(o)\
	Date__.$(o)\
	Time__.$(o)\
	Cmpstr.$(o)\
	Modulus.$(o)\
	Repstr.$(o)\
	Strcase.$(o)\
	Strnsub.$(o)\
	Strrepc.$(o)\
	Strtrim.$(o)\
	Strtrimc.$(o)\
	Fsif.$(o)


.D 1459 2
.I 1466 1
	etphi.$(o)\
.I 1476 1
	getoptsl.$(o)\
.I 1497 1
	getyn.$(o)\
.D 1505 1
.I 1509 1
	cards.$(o)\
.I 1519 1
	archive.$(o)\
.I 1521 3
	existsx.$(o)\
	fcompare.$(o)\
	fopenx.$(o)\
.D 1522 2
.I 1526 1
	memmem.$(o)\
.I 1559 1
	fibo.$(o)\
.I 1589 2
	bitcnt_3.$(o)\
	bitcnt_4.$(o)\
.I 1615 3
	parstime.$(o)\
	strftime.$(o)\
	date.$(o)\
.D 1616 1
.I 1619 2
	crc_16.$(o)\
	crc_16f.$(o)\
.D 1620 2
.D 1625 1
.I 1632 1
	dosgetch.$(o)\
.I 1635 1
	fnsplit.$(o)\
.D 1636 2
.I 1641 1
	fchsize.$(o)\
.D 1655 1
.D 1666 1
.I 1670 1
	dvideo.$(o)\
.D 1671 1
.I 1673 1
	adjscrol.$(o)\
.I 1675 4
	scrintrp.$(o)\
	video.$(o)\
	ansisys.$(o)\
	avatar.$(o)\
.D 1689 2
.I 1693 3
	strat.$(o)\
	xms.$(o)\
	ems.$(o)\
.D 1694 2
.D 1700 2
.I 1706 1
	maxline.$(o)\
