# This file makes the global library modules.
# It is appropriate for the SAS/C Development System Version 6.X by
# SAS Institute, Cary NC.  March 23, 1995, Andreas Scherer.

CC = sc
WMERGE = wmerge
MAKE = smake

DEFS = define=_STRICT_ANSI
CFLAGS = math=ieee noicons optimize
CPPFLAGS = idir=../lib idir=../.. $(DEFS) $(LIB20)

AR = oml
ARFLAGS = R

# Name of the file we make.
lib = lib.lib
lib_20 = lib_20.lib

# We don't make `openinout.o' or `texmf.o', since TeX and Metafont need
# to use different routine names, hence they need different .o files.
objs = alloca.o eofeoln.o fprintreal.o getopt.o getopt1.o inputint.o \
	main.o ourpaths.o strpascal.o uexit.o version.o xfopen-pas.o zround.o

.SUFFIXES: .o .c
.c.o:
	$(CC) $(CPPFLAGS) $(CFLAGS) $*.c

default: all
triptrap: all

all: $(lib) $(lib_20) andysource

andysource: andyconfig.h andycpascal.h andyourpaths.h andyopeninout.c \
	andytexmf.h andytexmf.c andytexmfmem.h

library: $(objs)

$(lib): stamp-no20
$(lib_20): stamp-20

stamp-no20:
	- delete $(lib) \#?.o stamp-no20
	$(MAKE) library
	$(AR) $(lib) $(ARFLAGS) $(objs)
	echo "" > stamp-no20

stamp-20:
	- delete $(lib_20) \#?.o stamp-20
	$(MAKE) LIB20=cpu=68020 library
	$(AR) $(lib_20) $(ARFLAGS) $(objs)
	echo "" > stamp-20

alloca.o:	andyalloca.o
	copy andyalloca.o alloca.o
andyalloca.o:	andyalloca.c andyconfig.h getopt.h andyourpaths.h c-auto.h
andyalloca.c:	alloca.c alloca.ch
	$(WMERGE) alloca.c alloca.ch andyalloca.c
eofeoln.o:	andyeofeoln.o
	copy andyeofeoln.o eofeoln.o
andyeofeoln.o:	andyeofeoln.c andyconfig.h getopt.h andyourpaths.h c-auto.h
andyeofeoln.c:	eofeoln.c eofeoln.ch
	$(WMERGE) eofeoln.c eofeoln.ch andyeofeoln.c
fprintreal.o:		andyfprintreal.o
	copy andyfprintreal.o fprintreal.o
andyfprintreal.o:	andyfprintreal.c andyconfig.h getopt.h andyourpaths.h c-auto.h
andyfprintreal.c:	fprintreal.c fprintreal.ch
	$(WMERGE) fprintreal.c fprintreal.ch andyfprintreal.c
getopt.o:	andygetopt.o
	copy andygetopt.o getopt.o
andygetopt.o:	andygetopt.c andyconfig.h getopt.h andyourpaths.h c-auto.h
andygetopt.c:	getopt.c getopt.ch
	$(WMERGE) getopt.c getopt.ch andygetopt.c
getopt1.o:	andygetopt1.o
	copy andygetopt1.o getopt1.o
andygetopt1.o:	andygetopt1.c andyconfig.h getopt.h andyourpaths.h c-auto.h
andygetopt1.c:	getopt1.c getopt1.ch
	$(WMERGE) getopt1.c getopt1.ch andygetopt1.c
inputint.o:	andyinputint.o
	copy andyinputint.o inputint.o
andyinputint.o:	andyinputint.c andyconfig.h getopt.h andyourpaths.h c-auto.h
andyinputint.c:	inputint.c inputint.ch
	$(WMERGE) inputint.c inputint.ch andyinputint.c
main.o:		andymain.o
	copy andymain.o main.o
andymain.o:	andymain.c andyconfig.h getopt.h andyourpaths.h c-auto.h
andymain.c:	main.c main.ch
	$(WMERGE) main.c main.ch andymain.c
ourpaths.o:	andyourpaths.o
	copy andyourpaths.o ourpaths.o
andyourpaths.o:	andyourpaths.c andyconfig.h getopt.h andyourpaths.h \
	../../kpathsea/paths.h c-auto.h
andyourpaths.c: ourpaths.c ourpaths.ch
	$(WMERGE) ourpaths.c ourpaths.ch andyourpaths.c
strpascal.o:		andystrpascal.o
	copy andystrpascal.o strpascal.o
andystrpascal.o:	andystrpascal.c andyconfig.h getopt.h andyourpaths.h c-auto.h
andystrpascal.c:	strpascal.c strpascal.ch
	$(WMERGE) strpascal.c strpascal.ch andystrpascal.c
uexit.o:	andyuexit.o
	copy andyuexit.o uexit.o
andyuexit.o:	andyuexit.c andyconfig.h getopt.h andyourpaths.h c-auto.h
andyuexit.c:	uexit.c uexit.ch
	$(WMERGE) uexit.c uexit.ch andyuexit.c
version.o:	version.c
xfopen-pas.o:		andyxfopen-pas.o
	copy andyxfopen-pas.o xfopen-pas.o
andyxfopen-pas.o:	andyxfopen-pas.c andyconfig.h getopt.h andyourpaths.h c-auto.h
andyxfopen-pas.c:	xfopen-pas.c xfopen-pas.ch
	$(WMERGE) xfopen-pas.c xfopen-pas.ch andyxfopen-pas.c
zround.o:	andyzround.o
	copy andyzround.o zround.o
andyzround.o:	andyzround.c andyconfig.h getopt.h andyourpaths.h c-auto.h
andyzround.c:	zround.c zround.ch
	$(WMERGE) zround.c zround.ch andyzround.c

andyconfig.h:	config.h config.hch
	$(WMERGE) config.h config.hch andyconfig.h
andycpascal.h:	cpascal.h cpascal.hch
	$(WMERGE) cpascal.h cpascal.hch andycpascal.h
andyourpaths.h:	ourpaths.h ourpaths.hch
	$(WMERGE) ourpaths.h ourpaths.hch andyourpaths.h
andyopeninout.c: openinout.c openinout.ch
	$(WMERGE) openinout.c openinout.ch andyopeninout.c
andytexmf.h: texmf.h texmf.hch
	$(WMERGE) texmf.h texmf.hch andytexmf.h
andytexmf.c: texmf.c texmf.ch
	$(WMERGE) texmf.c texmf.ch andytexmf.c
andytexmfmem.h: texmfmem.h texmfmem.hch
	$(WMERGE) texmfmem.h texmfmem.hch andytexmfmem.h

c-auto.h: c-auto.h.in c-auto.h.ch
	$(WMERGE) c-auto.h.in c-auto.h.ch c-auto.h

clean:
	- delete andy\#? \#?.(bak|o|lnk|info) stamp-\#?
	$(MAKE) andysource

veryclean: clean
	- delete $(lib) $(lib_20) c-auto.h andy\#?
