CC=cc
OPS=-g
LINT=lint
LOPS=

all:	myarray1 myarray2 keeplog procid twoprocs chain fan tree getreturn\
 simplewait simplewait1 simplewait2 simplewait3 fan1 chain1 exec1 execcmd\
 execcmd1 execcmd2 mybiff environ1 mailck showtimes simplefork 

myarray1: myarray1.c
	$(CC) $(OPS) -o myarray1 myarray1.c

myarray2: myarray2.c
	$(CC) $(OPS) -o myarray2 myarray2.c

keeplog: keeplog.c keeploglib.c listlib.c list.h
	cc $(OPS) -o keeplog keeplog.c keeploglib.c listlib.c

procid:  procid.c
	cc $(OPS) -o procid procid.c

twoprocs: twoprocs.c
	cc $(OPS) -o twoprocs twoprocs.c

chain: chain.c
	cc $(OPS) -o chain chain.c

fan: fan.c
	cc $(OPS) -o fan fan.c

tree: tree.c
	cc $(OPS) -o tree tree.c

getreturn:  getreturn.c
	cc $(OPS) -o getreturn getreturn.c

simplewait: simplewait.c
	cc $(OPS) -o simplewait simplewait.c

simplewait1: simplewait1.c
	cc $(OPS) -o simplewait1 simplewait1.c

simplewait2: simplewait2.c
	cc $(OPS) -o simplewait2 simplewait2.c

simplewait3: simplewait3.c
	cc $(OPS) -o simplewait3 simplewait3.c

fan1: fan1.c
	cc $(OPS) -o fan1 fan1.c

chain1: chain1.c
	cc $(OPS) -o chain1 chain1.c

exec1: exec1.c
	cc $(OPS) -o exec1 exec1.c

execcmd: execcmd.c
	cc $(OPS) -o execcmd execcmd.c

execcmd1: execcmd1.c
	cc $(OPS) -o execcmd1 execcmd1.c makeargv.c

execcmd2: execcmd2.c
	cc $(OPS) -o execcmd2 execcmd2.c makeargv.c

mybiff: mybiff.c
	cc $(OPS) -o mybiff mybiff.c

environ1:  environ1.c
	cc $(OPS) -o environ1 environ1.c

mailck:  mailck.c
	cc $(OPS) -o mailck mailck.c

showtimes:  showtimes.c
	cc $(OPS) -o showtimes showtimes.c

simplefork:  simplefork.c
	cc $(OPS) -o simplefork simplefork.c

lintmyarray1: myarray1.c
	$(LINT) $(LOPS) myarray1.c

lintmyarray2: myarray2.c
	$(LINT) $(LOPS) myarray2.c

lintkeep: keeplog.c
	lint $(LOPS) keeplog.c keeploglib.c listlib.c

lintprocid: procid.c
	lint $(LOPS) procid.c

linttwoprocs: twoprocs.c
	lint $(LOPS) twoprocs.c

lintchain: chain.c
	lint $(LOPS) chain.c

lintfan: fan.c
	lint $(LOPS) fan.c

linttree: tree.c
	lint $(LOPS) tree.c

lintgetreturn: getreturn.c
	lint $(LOPS) getreturn.c

lintsimplewait: simplewait.c
	lint $(LOPS) simplewait.c

lintsimplewait1: simplewait1.c
	lint $(LOPS) simplewait1.c

lintsimplewait2: simplewait2.c
	lint $(LOPS) simplewait2.c

lintsimplewait3: simplewait3.c
	lint $(LOPS) simplewait3.c

lintfan1: fan1.c
	lint $(LOPS) fan1.c

lintchain1: chain1.c
	lint $(LOPS) chain1.c

lintexec1: exec1.c
	lint $(LOPS) exec1.c

lintexeccmd: execcmd.c
	lint $(LOPS) execcmd.c

lintexeccmd1: execcmd1.c makeargv.c
	lint $(LOPS) execcmd1.c makeargv.c

lintexeccmd2: execcmd2.c makeargv.c
	lint $(LOPS) execcmd2.c makeargv.c

lintmybiff: mybiff.c
	lint $(LOPS) mybiff.c

lintenviron1: environ1.c
	lint $(LOPS) environ1.c

lintmailck: mailck.c
	lint $(LOPS) mailck.c

lintshowtimes: showtimes.c
	lint $(LOPS) showtimes.c

lintsimplefork: simplefork.c
	lint $(LOPS) simplefork.c

clean:
	rm -f myarray1 myarray2 keeplog procid twoprocs chain fan tree 
	rm -f getreturn chain1
	rm -f fan1 exec1 execcmd simplewait simplewait? execcmd1 execcmd2
	rm -f mybiff environ1 mailck showtimes simplefork getreturn core *.o
