#
# Makefile for ADOS/SAS-C
#
# Version 1.0: Oct 1995
#

SHELL = /bin/sh

# TeX root
TEXMF = tex:

# Here we install the binaries:
BINDIR = ${TEXMF}/bin

# Here we install the manual pages:
MANDIR = ${TEXMF}/doc

# Common library (SAS-C link library!!)
COMMONLIBRARY = common.lib
COMMONHDR =  idir=/common
COMMONLIB = lib=/common/common.lib
COMMON_LIB = /common/$(COMMONLIBRARY)

# Compiler directives and other goodies
CC = sc
SYSTEM = UNIX
CFLAGS = DEFINE $(SYSTEM) $(COMMONHDR) ign=85+86+88+100+154+161
CLIB=
OLIBS = $(CLIB) math=s

# BSD install program
INSTALL = install -c

# PS resource library (SAS-C link library!!)
PSRESLIBRARY = psres.lib
PSRESHDR =  idir=/PSres
PSRESLIB = lib=/PSres/psres.lib
PSRES_LIB = /PSres/$(PSRESLIBRARY)

tools: mag pfb2pfa

mag: mag.o $(COMMON_LIB)
	$(CC) link to=mag mag.o $(COMMONLIB) $(OLIBS)

mag.o: mag.c
   $(CC) $(CFLAGS) $(COMMONHDR) mag.c

pfb2pfa: pfb2pfa.o $(COMMON_LIB)
	$(CC) link to=pfb2pfa pfb2pfa.o $(COMMONLIB)

pfb2pfa.o: pfb2pfa.c
   $(CC) $(CFLAGS) $(COMMONHDR) pfb2pfa.c

tests: basename lspsres psargs psearch sexpr

test: tests config.ps utopia.map PSres.upr
	echo "=== testing: basename Pieter.Nel .Nel ===="
	basename Pieter.Nel .Nel
	echo "==== testing: sexpr 1+300/500 ======="
	sexpr 1+300/500
	echo "==== testing: psearch // psearch.c ===="
	psearch // psearch.c
	echo "======== testing: lspsres ==========="
	lspsres
	echo "====== testing: psargs putr80r ======"
	psargs putro8r

basename: basename.o $(COMMON_LIB)
	$(CC) link to=basename basename.o $(COMMONLIB)

lspsres: lspsres.o $(COMMON_LIB) $(PSRES_LIB)
	$(CC) link to=lspsres lspsres.o $(COMMONLIB) $(PSRESLIB) $(OLIBS)

lspsres.o: lspsres.c $(COMMON_LIB) $(PSRES_LIB)
	$(CC) $(CFLAGS) $(COMMONHDR) $(PSRESHDR) lspsres.c

sexpr: sexpr.o $(COMMON_LIB)
	$(CC) link to=sexpr sexpr.o $(COMMONLIB)

sexpr.o: sexpr.c $(COMMON_LIB)
	$(CC) $(CFLAGS) $(COMMONHDR) sexpr.c

PSINFO = /mtpk/psinfo
CFG    = /mtpk/cfg

psargs: psargs.o $(COMMON_LIB) $(PSINFO).o $(CFG).o
	$(CC) link to=psargs psargs.o $(PSINFO).o $(CFG).o $(COMMONLIB) $(OLIBS)

psargs.o: psargs.c $(COMMON_LIB) $(PSINFO).h $(CFG).h
	$(CC) $(CFLAGS) $(COMMONHDR) idir=/mtpk psargs.c

psearch: psearch.o $(COMMON_LIB)
	$(CC) link to=psearch psearch.o $(COMMONLIB) $(OLIBS)

$(PSINFO).o: $(PSINFO).c
	cd /mtpk
   smake -f Makefile.sas psinfo.o
   cd /misc

$(CFG).o: $(CFG).c
	cd /mtpk
   smake -f Makefile.sas cfg.o
   cd /misc

PSres.upr: /PSres/mkpsres
	/PSres/mkpsres /PSources

config.ps:
	echo "p +utopia.map" > config.ps

utopia.map:
	echo "putro8r Utopia-Regular \" .167 SlantFont TeXBase1Encoding \
	      ReEncodeFont \" <8r.enc" > utopia.map

# Common modules
BASICS    = /common/basics
FILENAMES = /common/filenames
PSEARCH   = /common/psearch
TEXFILES  = /common/texfiles
STREXPR   = /common/strexpr

HEADERS   = $(BASICS).h $(FILENAMES).h $(PSEARCH).h $(TEXFILES).h
SOURCES   = $(BASICS).c $(FILENAMES).c $(PSEARCH).c $(TEXFILES).c $(STREXPR).c

$(COMMON_LIB): $(HEADERS) $(SOURCES)
	cd /common
   smake -f Makefile.sas $(COMMONLIBRARY)
   cd /misc

/PSres/mkpsres: /PSres/mkpsres.c
	cd /PSres
   smake -f Makefile.sas mkpsres
   cs /misc

$(PSRES_LIB): /PSres/PSres.h /PSres/PSres.c
	cd /PSres
   smake -f Makefile.sas $(PSRESLIBRARY)
   cd /misc

install: mag mag.1 pfb2pfa pfb2pfa.1
	copy mag              ${BINDIR}/mag
	copy mag.1            ${MANDIR}/mag.doc
	copy pfb2pfa          ${BINDIR}/pfb2pfa
	copy pfb2pfa.1        ${MANDIR}/pfb2pfa.doc

clean:
	delete basename lspsres mag pfb2pfa psargs psearch sexpr *.o 
	delete config.ps utopia.map PSres.upr *.lnk *.a *.pk *.info
	cd /common
   smake -f Makefile.sas  clean
	cd /PSres
   smake -f Makefile.sas clean
   cd /misc
