SRC=	IntegerPlus.c RealPlus.c DoublePlus.c IntegerTimes.c \
	RealTimes.c DoubleTimes.c IntegerMin.c IntegerMinus.c \
	RealMin.c DoubleMin.c IntegerMax.c RealMax.c DoubleMax.c\
	RealMinus.c DoubleMinus.c IntegerDiv.c RealDiv.c DoubleDiv.c\
	IntegerMod.c IntegerIntegerExp.c IntegerRealExp.c\
	IntegerDoubleExp.c RealIntegerExp.c RealRealExp.c\
	RealDoubleExp.c DoubleIntegerExp.c DoubleRealExp.c\
	DoubleDoubleExp.c IntegerAbs.c RealAbs.c DoubleAbs.c\
	IntegerNeg.c RealNeg.c DoubleNeg.c BooleanInteger.c\
	CharacterInteger.c RealInteger.c DoubleInteger.c IntegerLess.c\
	RealLess.c DoubleLess.c CharacterLess.c IntegerLessEqual.c\
	RealLessEqual.c DoubleLessEqual.c CharacterLessEqual.c\
	IntegerEqual.c RealEqual.c DoubleEqual.c CharacterEqual.c\
	IntegerNotEqual.c RealNotEqual.c DoubleNotEqual.c\
	CharacterNotEqual.c DoubleFloor.c RealFloor.c DoubleTrunc.c\
	RealTrunc.c IntegerBoolean.c IntegerCharacter.c IntegerDouble.c\
	RealDouble.c IntegerReal.c DoubleReal.c \
	deflink.c \
	PostProcessReal.c StringToBoolean.c BooleanToString.c \
	StringToCharacter.c CharacterToString.c \
	StringToDouble.c DoubleToString.c StringToInteger.c \
	IntegerToString.c StringToReal.c RealToString.c \
	package.c


OBJ=	IntegerPlus.o RealPlus.o DoublePlus.o IntegerTimes.o \
	RealTimes.o DoubleTimes.o IntegerMin.o IntegerMinus.o \
	RealMin.o DoubleMin.o IntegerMax.o RealMax.o DoubleMax.o\
	RealMinus.o DoubleMinus.o IntegerDiv.o RealDiv.o DoubleDiv.o\
	IntegerMod.o IntegerIntegerExp.o IntegerRealExp.o\
	IntegerDoubleExp.o RealIntegerExp.o RealRealExp.o\
	RealDoubleExp.o DoubleIntegerExp.o DoubleRealExp.o\
	DoubleDoubleExp.o IntegerAbs.o RealAbs.o DoubleAbs.o\
	IntegerNeg.o RealNeg.o DoubleNeg.o BooleanInteger.o\
	CharacterInteger.o RealInteger.o DoubleInteger.o IntegerLess.o\
	RealLess.o DoubleLess.o CharacterLess.o IntegerLessEqual.o\
	RealLessEqual.o DoubleLessEqual.o CharacterLessEqual.o\
	IntegerEqual.o RealEqual.o DoubleEqual.o CharacterEqual.o\
	IntegerNotEqual.o RealNotEqual.o DoubleNotEqual.o\
	CharacterNotEqual.o DoubleFloor.o RealFloor.o DoubleTrunc.o\
	RealTrunc.o IntegerBoolean.o IntegerCharacter.o IntegerDouble.o\
	RealDouble.o IntegerReal.o DoubleReal.o \
	deflink.o  \
	PostProcessReal.o StringToBoolean.o BooleanToString.o \
	StringToCharacter.o CharacterToString.o \
	StringToDouble.o DoubleToString.o StringToInteger.o \
	IntegerToString.o StringToReal.o RealToString.o \
	package.o

FILES= Makefile $(SRC)
FLAGS= -I../INCLUDES -DPACKAGES -D$(MACHINE) -D$(OS)
CFLAGS= $(OPTFLAGS) $(FLAGS)

#------------------------------------------------------------
# Make the loader library
libtwinedef.a: $(OBJ)
	rm -f libtwinedef.a
	ar r libtwinedef.a $(OBJ)
	-ranlib libtwinedef.a

# Make the lintlibrary
ln:llib-ltwinedef.ln
llib-ltwinedef.ln: $(SRC)
	lint -Ctwinedef $(FLAGS) $(SRC)
# ------------------------------------------------------------
lint:
	lint $(SRC) $(FLAGS) | egrep -v "but not defined" > lint.out

clean:
	-@ls $(FILES) > KeepList
	-@/bin/rm `ls | fgrep -v -x -f KeepList`

install: libtwinedef.a
	@if ( test "$(REL)" != "" ) then \
	cp libtwinedef.a $(REL)/lib; \
	if ( test -x /usr/bin/ranlib ) then ranlib $(REL)/lib/libtwinedef.a; fi;\
	chmod 777 $(REL)/lib/libtwinedef.a; \
	else echo No release directory; fi
#
