#
#	System-wide makefile for pmake
#

.if $(MACHINE) == "vms"
.SUFFIXES:	.c \
		.h \
		.f \
		.l \
		.y \
		.for \
		.mar \
		.obj \
		.olb \
		.exe
.else
.SUFFIXES:	.out \
		.a \
		.o \
		.c \
		.c,v \
		.c~ \
		.F \
		.F,v \
		.F~ \
		.f \
		.f,v \
		.f~ \
		.e \
		.e,v \
		.e~ \
		.r \
		.r,v \
		.r~ \
		.y \
		.y,v \
		.y~ \
		.l \
		.l,v \
		.l~ \
		.s \
		.s,v \
		.s~ \
		.sh \
		.sh,v \
		.sh~ \
		.h \
		.h,v \
		.h~ \
		.def \
		.def,v \
		.inc \
		.inc,v \
		.p \
		.p,v \
		.p~
.endif

.if $(MACHINE) == "vms"
AR = libr
AS = macro
CC = cc
.else
AR = ar
AS = as
CC = cc
.endif
CI = ci
CO = co
GET = get
EC = f77
.if $(MACHINE) == "vms"
FC = fortran
LD = mcr dsp_exe:vmsld
.else
FC = f77
LD = ld
.endif
LEX = lex
PC = pc
RC = f77
.if $(MACHINE) == "vms"
MV = mcr usr$$angel:[bin]mv
RM = mcr usr$$angel:[bin]rm
RMFLAGS = -f
.else
MV = mv
RM = rm
RMFLAGS = -f
.endif
YACC = yacc

.if $(MACHINE) == "vms"
ARFLAGS = /replace/list
.else
ARFLAGS = rv
.endif
ASFLAGS = 
.if $(MACHINE) == "vms"
CFLAGS = 
.else
CFLAGS = -O
.endif
CIFLAGS = 
COFLAGS = 
EFLAGS = -O
FFLAGS =
LDFLAGS =
LFLAGS = 
PFLAGS = -O
RFLAGS = -O
YFLAGS =

LOADLIBES = 

.if $(MACHINE) == "vms"
.mar.obj:
	$(AS) /obj:$@ $(ASFLAGS) $(<:V)
	
.c.obj:
	$(CC) $(CFLAGS) $(<:V)
	
.f.obj:
	$(FC) /obj:$@ $(FFLAGS) $(<:V)
.else
.l~.out:
	$(GET) $(GFLAGS) -p $< > $*.l
	$(LEX) $(LFLAGS) $*.l
	$(CC) $(CFLAGS) $(LDFLAGS) lex.yy.c $(LOADLIBES) -ll -o $@
	-$(RM) $(RMFLAGS) $*.l lex.yy.c

.l.out:
	$(LEX) $(LFLAGS) $<
	$(CC) $(CFLAGS) $(LDFLAGS) lex.yy.c $(LOADLIBES) -ll -o $@
	-$(RM) $(RMFLAGS) lex.yy.c

.y~.out:
	$(GET) $(GFLAGS) -p $< > $*.y
	$(YACC) $(YFLAGS) $*.y
	$(CC) $(CFLAGS) $(LDFLAGS) y.tab.c $(LOADLIBES) -ly -o $@
	-$(RM) $(RMFLAGS) $*.y y.tab.c

.y,v.out:
	$(CO) $(COFLAGS) $< $*.y
	$(YACC) $(YFLAGS) $*.y
	$(CC) $(CFLAGS) $(LDFLAGS) y.tab.c $(LOADLIBES) -ly -o $@
	-$(RM) $(RMFLAGS) $*.y y.tab.c

.y.out:
	$(YACC) $(YFLAGS) $<
	$(CC) $(CFLAGS) $(LDFLAGS) y.tab.c $(LOADLIBES) -ly -o $@
	-$(RM) $(RMFLAGS) y.tab.c

.e~.out:
	$(GET) $(GFLAGS) -p $< > $*.e
	$(EC) $(EFLAGS) $(LDFLAGS) $*.e $(LOADLIBES) -o $@
	-$(RM) $(RMFLAGS) $*.[eo]

.e,v.out:
	$(CO) $(COFLAGS) $<  $*.e
	$(EC) $(EFLAGS) $(LDFLAGS) $*.e $(LOADLIBES) -o $@
	-$(RM) $(RMFLAGS) $*.[eo]

.e.out:
	$(EC) $(EFLAGS) $(LDFLAGS) $< $(LOADLIBES) -o $@
	-$(RM) $(RMFLAGS) $*.o

.r~.out:
	$(GET) $(GFLAGS) -p $< > $*.r
	$(RC) $(RFLAGS) $(LDFLAGS) $*.r $(LOADLIBES) -o $@
	-$(RM) $(RMFLAGS) $*.[ro]

.r,v.out:
	$(CO) $(COFLAGS) $< $*.r
	$(RC) $(RFLAGS) $(LDFLAGS) $*.r $(LOADLIBES) -o $@
	-$(RM) $(RMFLAGS) $*.[ro]

.r.out:
	$(RC) $(RFLAGS) $(LDFLAGS) $< $(LOADLIBES) -o $@
	-$(RM) $(RMFLAGS) $*.o

.F~.out:
	$(GET) $(GFLAGS) -p $< > $*.F
	$(FC) $(FFLAGS) $(LDFLAGS) $*.F $(LOADLIBES) -o $@
	-$(RM) $(RMFLAGS) $*.[Fo]

.F,v.out:
	$(CO) $(COFLAGS) $<  $*.F
	$(FC) $(FFLAGS) $(LDFLAGS) $*.F $(LOADLIBES) -o $@
	-$(RM) $(RMFLAGS) $*.[Fo]

.F.out:
	$(FC) $(FFLAGS) $(LDFLAGS) $< $(LOADLIBES) -o $@
	-$(RM) $(RMFLAGS) $*.o

.f~.out:
	$(GET) $(GFLAGS) -p $< > $*.f
	$(FC) $(FFLAGS) $(LDFLAGS) $*.f $(LOADLIBES) -o $@
	-$(RM) $(RMFLAGS) $*.[fo]

.f,v.out:
	$(CO) $(COFLAGS) $<  $*.f
	$(FC) $(FFLAGS) $(LDFLAGS) $*.f $(LOADLIBES) -o $@
	-$(RM) $(RMFLAGS) $*.[fo]

.f.out:
	$(FC) $(FFLAGS) $(LDFLAGS) $< $(LOADLIBES) -o $@
	-$(RM) $(RMFLAGS) $*.o

.s~.out:
	$(GET) $(GFLAGS) -p $< > $*.s
	$(CC) $(CFLAGS) $(LDFLAGS) $*.s $(LOADLIBES) -o $@
	-$(RM) $(RMFLAGS) $*.s

.s,v.out:
	$(CO) $(COFLAGS) $<  $*.s
	$(CC) $(CFLAGS) $(LDFLAGS) $*.s $(LOADLIBES) -o $@
	-$(RM) $(RMFLAGS) $*.s

.s.out:
	$(CC) $(CFLAGS) $(LDFLAGS) $< $(LOADLIBES) -o $@


.c~.out:
	$(GET) $(GFLAGS) -p $< > $*.c
	$(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LOADLIBES) -o $@
	-$(RM) $(RMFLAGS) $*.c

.c,v.out:
	$(CO) $(COFLAGS) $< $*.c
	$(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LOADLIBES) -o $@
	-$(RM) $(RMFLAGS) $*.c

.c.out:
	$(CC) $(CFLAGS) $(LDFLAGS) $< $(LOADLIBES) -o $@

.o.out:
	$(CC) $(CFLAGS) $(LDFLAGS) $< $(LOADLIBES) -o $@

.r~.o:
	$(GET) $(GFLAGS) -p $< > $*.r
	$(RC) $(RFLAGS) -c $*.r
	-$(RM) $(RMFLAGS) $*.r

.r,v.o:
	$(CO) $(COFLAGS) $< $*.r
	$(RC) $(RFLAGS) -c $*.r
	-$(RM) $(RMFLAGS) $*.r

.r.o:
	$(RC) $(RFLAGS) -c $<

.r~.r:
	$(GET) $(GFLAGS) -p $< > $*.r

.r,v.r:
	$(CO) $(COFLAGS) $< $*.r

.e~.o:
	$(GET) $(GFLAGS) -p $< > $*.e
	$(EC) $(EFLAGS) -c $*.e
	-$(RM) $(RMFLAGS) $*.e

.e,v.o:
	$(CO) $(COFLAGS) $< $*.e
	$(EC) $(EFLAGS) -c $*.e
	-$(RM) $(RMFLAGS) $*.e

.e.o:
	$(EC) $(EFLAGS) -c $<

.e~.e:
	$(GET) $(GFLAGS) -p $< > $*.e

.e,v.e:
	$(CO) $(COFLAGS) $<  $*.e

.f~.o:
	$(GET) $(GFLAGS) -p $< > $*.f
	$(FC) $(FFLAGS) -c $*.f
	-$(RM) $(RMFLAGS) $*.f

.f,v.o:
	$(CO) $(COFLAGS) $< $*.f
	$(FC) $(FFLAGS) -c $*.f
	-$(RM) $(RMFLAGS) $*.f
.f.o:
	$(FC) $(FFLAGS) -c $<


.f~.f:
	$(GET) $(GFLAGS) -p $< > $*.f

.f,v.f:
	$(CO) $(COFLAGS) $< $*.f

.F~.o:
	$(GET) $(GFLAGS) -p $< > $*.F
	$(FC) $(FFLAGS) -c $*.F
	-$(RM) $(RMFLAGS) $*.F

.F,v.o:
	$(CO) $(COFLAGS) $< $*.F
	$(FC) $(FFLAGS) -c $*.F
	-$(RM) $(RMFLAGS) $*.F

.F.o:
	$(FC) $(FFLAGS) -c $<


.F~.F:
	$(GET) $(GFLAGS) -p $< > $*.F

.F,v.F:
	$(CO) $(COFLAGS) $< $*.F

.p~.o:
	$(GET) $(GFLAGS) -p $< > $*.p
	$(PC) $(PFLAGS) -c $*.p
	-$(RM) $(RMFLAGS) $*.p

.p,v.o:
	$(CO) $(COFLAGS) $< $*.p
	$(PC) $(PFLAGS) -c $*.p
	-$(RM) $(RMFLAGS) $*.p

.p.o:
	$(PC) $(PFLAGS) -c $<

.p~.p:
	$(GET) $(GFLAGS) -p $< > $*.p

.p,v.p:
	$(CO) $(COFLAGS) $< $*.p

.l~.c:
	$(GET) $(GFLAGS) -p $< > $*.l
	$(LEX) $(LFLAGS) $*.l
	$(MV) lex.yy.c $@
	-$(RM) $(RMFLAGS) $*.l

.l,v.c:
	$(CO) $(COFLAGS) $< $*.l
	$(LEX) $(LFLAGS) $*.l
	$(MV) lex.yy.c $@
	-$(RM) $(RMFLAGS) $*.l

.l~.l:
	$(GET) $(GFLAGS) -p $<  > $*.y

.l,v.l:
	$(CO) $(COFLAGS) $< $*.l

.y~.y:
	$(GET) $(GFLAGS) -p $< > $*.y

.y,v.y:
	$(CO) $(COFLAGS) $< $*.y

.s~.s:
	$(GET) $(GFLAGS) -p $< > $*.s

.s,v.s:
	$(CO) $(COFLAGS) $< $*.s

.s.a:
	$(AS) $(ASFLAGS) -o $*.o $<
	$(AR) $(ARFLAGS) $@ $*.o
	-$(RM) $(RMFLAGS) -f $*.o

.h~.h:
	$(GET) $(GFLAGS) -p $< > $*.h

.h,v.h:
	$(CO) $(COFLAGS) $< $*.h

.def,v.def:
	$(CO) $(COFLAGS) $< $*.def

.inc,v.inc:
	$(CO) $(COFLAGS) $< $*.inc

.s~.a:
	$(GET) $(GFLAGS) -p $< > $*.s
	$(AS) $(ASFLAGS) -o $*.o $*.s
	$(AR) $(ARFLAGS) $@ $*.o
	-$(RM) $(RMFLAGS) -f $*.[so]

.s,v.a:
	$(CO) $(COFLAGS) $< $*.s
	$(AS) $(ASFLAGS) -o $*.o $*.s
	$(AR) $(ARFLAGS) $@ $*.o
	-$(RM) $(RMFLAGS) -f $*.[so]

.c~.a:
	$(GET) $(GFLAGS) -p $< > $*.c
	$(CC) -c $(CFLAGS) $*.c
	$(AR) $(ARFLAGS) $@ $*.o
	$(RM) $(RMFLAGS) -f $*.[co]

.c,v.a:
	$(CO) $(COFLAGS) $< $*.c
	$(CC) -c $(CFLAGS) $*.c
	$(AR) $(ARFLAGS) $@ $*.o
	$(RM) $(RMFLAGS) -f $*.[co]

.c.a:
	$(CC) -c $(CFLAGS) $<
	$(AR) $(ARFLAGS) $@ $*.o
	$(RM) $(RMFLAGS) -f $*.o

.s~.s:
	$(GET) $(GFLAGS) -p $< > $*.s

.s.a:
	$(AS) $(ASFLAGS) -o $*.o $<
	$(AR) $(ARFLAGS) $@ $*.o
	-$(RM) $(RMFLAGS) -f $*.o

.h~.h:
	$(GET) $(GFLAGS) -p $< > $*.h

.s~.a:
	$(GET) $(GFLAGS) -p $< > $*.s
	$(AS) $(ASFLAGS) -o $*.o $*.s
	$(AR) $(ARFLAGS) $@ $*.o
	-$(RM) $(RMFLAGS) -f $*.[so]

.c~.a:
	$(GET) $(GFLAGS) -p $< > $*.c
	$(CC) -c $(CFLAGS) $*.c
	$(AR) $(ARFLAGS) $@ $*.o
	$(RM) $(RMFLAGS) -f $*.[co]

.c.a:
	$(CC) -c $(CFLAGS) $<
	$(AR) $(ARFLAGS) $@ $*.o
	$(RM) $(RMFLAGS) -f $*.o

.p~.a:
	$(GET) $(GFLAGS) -p $< > $*.p
	$(PC) $(PFLAGS) -c $<
	$(AR) $(ARFLAGS) $@ $*.o
	$(RM) $(RMFLAGS) -f $*.[po]

.p.a:
	$(PC) $(PFLAGS) -c $<
	$(AR) $(ARFLAGS) $@ $*.o
	$(RM) $(RMFLAGS) -f $*.o

.l.c:
	$(LEX) $(LFLAGS) $<
	$(MV) lex.yy.c $@

.y~.c:
	$(GET) $(GFLAGS) -p $< > $*.y
	$(YACC) $(YFLAGS) $*.y
	$(MV) y.tab.c $*.c
	-$(RM) $(RMFLAGS) -f $*.y

.y.c:
	$(YACC) $(YFLAGS) $<
	$(MV) y.tab.c $@

.l~.o:
	$(GET) $(GFLAGS) -p $< > $*.l
	$(LEX) $(LFLAGS) $*.l
	$(CC) $(CFLAGS) -c lex.yy.c
	$(RM) $(RMFLAGS) -f lex.yy.c $*.l
	$(MV) lex.yy.o $*.o

.l,v.o:
	$(CO) $(COFLAGS) $< $*.l
	$(LEX) $(LFLAGS) $*.l
	$(CC) $(CFLAGS) -c lex.yy.c
	$(RM) $(RMFLAGS) -f lex.yy.c $*.l
	$(MV) lex.yy.o $*.o

.l.o:
	$(LEX) $(LFLAGS) $<
	$(CC) $(CFLAGS) -c lex.yy.c
	$(RM) $(RMFLAGS) lex.yy.c
	$(MV) lex.yy.o $@

.y~.o:
	$(GET) $(GFLAGS) -p $< > $*.y
	$(YACC) $(YFLAGS) $*.y
	$(CC) $(CFLAGS) -c y.tab.c
	$(RM) $(RMFLAGS) -f y.tab.c $*.y
	$(MV) y.tab.o $*.o

.y,v.o:
	$(CO) $(COFLAGS) $< $*.y
	$(YACC) $(YFLAGS) $*.y
	$(CC) $(CFLAGS) -c y.tab.c
	$(RM) $(RMFLAGS) -f y.tab.c $*.y
	$(MV) y.tab.o $*.o

.y.o:
	$(YACC) $(YFLAGS) $<
	$(CC) $(CFLAGS) -c y.tab.c
	$(RM) $(RMFLAGS) y.tab.c
	$(MV) y.tab.o $@

.s~.o:
	$(GET) $(GFLAGS) -p $< > $*.s
	$(AS) $(ASFLAGS) -o $*.o $*.s
	-$(RM) $(RMFLAGS) -f $*.s

.s,v.o:
	$(CO) $(COFLAGS) $< $*.s
	$(AS) $(ASFLAGS) -o $*.o $*.s
	-$(RM) $(RMFLAGS) -f $*.s

.s.o:
	$(AS) $(ASFLAGS) -o $@ $<

.c~.c:
	$(GET) $(GFLAGS) -p $< > $*.c

.c,v.c:
	$(CO) $(COFLAGS) $< $*.c

.c~.o:
	$(GET) $(GFLAGS) -p $< > $*.c
	$(CC) $(CFLAGS) -c $*.c
	-$(RM) $(RMFLAGS) -f $*.c

.c,v.o:
	$(CO) $(COFLAGS) $< $*.c
	$(CC) $(CFLAGS) -c $*.c
	-$(RM) $(RMFLAGS) -f $*.c

.c.o:
	$(CC) $(CFLAGS) -c $<

.p~:
	$(GET) $(GFLAGS) -p $< > $*.p
	$(PC) $(PFLAGS) $(LDFLAGS) $*.p -o $*
	-$(RM) $(RMFLAGS) -f $*.p $*.o

.p,v:
	$(CO) $(COFLAGS) $< $*.p
	$(PC) $(PFLAGS) $(LDFLAGS) $*.p -o $*
	-$(RM) $(RMFLAGS) -f $*.p $*.o

.p:
	$(PC) $(PFLAGS) $(LDFLAGS) $< -o $@


.sh~:
	$(GET) $(GFLAGS) -p $< > $*.sh
	$(CP) $*.sh $*; chmod +x $@
	-$(RM) $(RMFLAGS) -f $*.sh

.sh,v:
	$(CO) $(COFLAGS) $< $*.sh
	$(CP) $*.sh $*; chmod +x $@
	-$(RM) $(RMFLAGS) -f $*.sh

.sh:
	$(CP) $< $@; chmod +x $@

.s~:
	$(GET) $(GFLAGS) -p $< > $*.s
	$(CC) $(CFLAGS) $(LDFLAGS) $*.s -o $*
	-$(RM) $(RMFLAGS) $*.s

.s,v:
	$(CO) $(COFLAGS) $< $*.s
	$(CC) $(CFLAGS) $(LDFLAGS) $*.s -o $*
	-$(RM) $(RMFLAGS) $*.s

.s:
	$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@

.l~:
	$(GET) $(GFLAGS) -p $< > $*.l
	$(LEX) $(LFLAGS) $*.l
	$(CC) $(CFLAGS) $(LDFLAGS) lex.yy.c -ll -o $*
	-$(RM) $(RMFLAGS) lex.yy.c $*.l

.l,v:
	$(CO) $(COFLAGS) $< $*.l
	$(LEX) $(LFLAGS) $*.l
	$(CC) $(CFLAGS) $(LDFLAGS) lex.yy.c -ll -o $*
	-$(RM) $(RMFLAGS) lex.yy.c $*.l

.l:
	$(LEX) $(LFLAGS) $<
	$(CC) $(CFLAGS) $(LDFLAGS) lex.yy.c -ll -o $@
	-$(RM) $(RMFLAGS) lex.yy.c

.y~:
	$(GET) $(GFLAGS) -p $< > $*.y
	$(YACC) $(YFLAGS) $*.y
	$(CC) $(CFLAGS) $(LDFLAGS) y.tab.c -ly -o $*
	-$(RM) $(RMFLAGS) y.tab.c $*.y

.y,v:
	$(CO) $(COFLAGS) $< $*.y
	$(YACC) $(YFLAGS) $*.y
	$(CC) $(CFLAGS) $(LDFLAGS) y.tab.c -ly -o $*
	-$(RM) $(RMFLAGS) y.tab.c $*.y

.y:
	$(YACC) $(YFLAGS) $<
	$(CC) $(CFLAGS) $(LDFLAGS) y.tab.c -ly -o $@
	-$(RM) $(RMFLAGS) y.tab.c

.r~:
	$(GET) $(GFLAGS) -p $< > $*.r
	$(RC) $(RFLAGS) $(LDFLAGS) $*.r -o $*
	-$(RM) $(RMFLAGS) -f $*.r $*.o

.r,v:
	$(CO) $(COFLAGS) $< $*.r
	$(RC) $(RFLAGS) $(LDFLAGS) $*.r -o $*
	-$(RM) $(RMFLAGS) -f $*.r $*.o

.r:
	$(RC) $(RFLAGS) $(LDFLAGS) $< -o $@

.e~:
	$(GET) $(GFLAGS) -p $< > $*.e
	$(EC) $(EFLAGS) $(LDFLAGS) $*.e -o $*
	-$(RM) $(RMFLAGS) -f $*.e $*.o

.e,v:
	$(CO) $(COFLAGS) $< $*.e
	$(EC) $(EFLAGS) $(LDFLAGS) $*.e -o $*
	-$(RM) $(RMFLAGS) -f $*.e $*.o

.e:
	$(EC) $(EFLAGS) $(LDFLAGS) $< -o $@

.f~:
	$(GET) $(GFLAGS) -p $< > $*.f
	$(FC) $(FFLAGS) $(LDFLAGS) $*.f -o $*
	-$(RM) $(RMFLAGS) -f $*.f $*.o

.f,v:
	$(CO) $(COFLAGS) $< $*.f
	$(FC) $(FFLAGS) $(LDFLAGS) $*.f -o $*
	-$(RM) $(RMFLAGS) -f $*.f $*.o

.f:
	$(FC) $(FFLAGS) $(LDFLAGS) $< -o $@

.F~:
	$(GET) $(GFLAGS) -p $< > $*.F
	$(FC) $(FFLAGS) $(LDFLAGS) $*.F -o $*
	-$(RM) $(RMFLAGS) -f $*.F $*.o

.F,v:
	$(CO) $(COFLAGS) $< $*.F
	$(FC) $(FFLAGS) $(LDFLAGS) $*.F -o $*
	-$(RM) $(RMFLAGS) -f $*.F $*.o

.F:
	$(FC) $(FFLAGS) $(LDFLAGS) $< -o $@

.c~:
	$(GET) $(GFLAGS) -p $< > $*.c
	$(CC) $(CFLAGS) $(LDFLAGS) $*.c -o $*
	-$(RM) $(RMFLAGS) -f $*.c
.c,v:
	$(CO) $(COFLAGS) $< $*.c
	$(CC) $(CFLAGS) $(LDFLAGS) $*.c -o $*
	-$(RM) $(RMFLAGS) -f $*.c

.c:
	$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
.endif
