#!/bin/sh 
# 
# script to execute every compilation command in the text 
# 
 
BIN=bin 
 
# 
# make the bin dir if not already there 
# 
test -d $BIN || mkdir $BIN || exit 
 
# 
# then compile all the programs and put the 
# results in $BIN 
# 
set -x		# turn on narrate mode

cc -o $BIN/more01 more01.c 
cc -o $BIN/more02 more02.c 
cc -o $BIN/who1 who1.c 
cc -o $BIN/who2 who2.c 
cc -o $BIN/who3 who3.c utmplib.c
cc -o $BIN/cp1 cp1.c 
cc -o $BIN/ls1 ls1.c 
cc -o $BIN/ls2 ls2.c 
cc -o $BIN/filesize filesize.c 
cc -o $BIN/fileinfo fileinfo.c 
cc -o $BIN/spwd spwd.c 
cc -o $BIN/write0 write0.c 
cc -o $BIN/write1 write1.c 
cc -o $BIN/listchars listchars.c 
cc -o $BIN/echostate echostate.c 
cc -o $BIN/setecho setecho.c 
cc -o $BIN/showtty showtty.c 
cc -o $BIN/rotate rotate.c 
cc -o $BIN/play_again0 play_again0.c
cc -o $BIN/play_again1 play_again1.c
cc -o $BIN/play_again2 play_again2.c
cc -o $BIN/play_again3 play_again3.c
cc -o $BIN/play_again4 play_again4.c
cc -o $BIN/rotate rotate.c
cc -o $BIN/sigdemo1 sigdemo1.c
cc -o $BIN/sigdemo2 sigdemo2.c
cc -o $BIN/hello1 hello1.c -lcurses
cc -o $BIN/hello2 hello2.c -lcurses
cc -o $BIN/hello3 hello3.c -lcurses
cc -o $BIN/hello4 hello4.c -lcurses
cc -o $BIN/hello5 hello5.c -lcurses
cc -o $BIN/sleep1 sleep1.c 
cc -o $BIN/ticker_demo ticker_demo.c 
cc -o $BIN/sigdemo3 sigdemo3.c
cc -o $BIN/sigactdemo sigactdemo.c
cc -o $BIN/bounce1d bounce1d.c set_ticker.c -lcurses
cc -o $BIN/bounce2d bounce2d.c set_ticker.c -lcurses
cc -o $BIN/bounce_async bounce_async.c set_ticker.c -lcurses
cc -o $BIN/bounce_aio bounce_aio.c set_ticker.c -lrt  -lcurses
cc -o $BIN/exec1 exec1.c
cc -o $BIN/psh1 psh1.c
cc -o $BIN/forkdemo1 forkdemo1.c
cc -o $BIN/forkdemo2 forkdemo2.c
cc -o $BIN/forkdemo3 forkdemo3.c
cc -o $BIN/waitdemo1 waitdemo1.c
cc -o $BIN/waitdemo2 waitdemo2.c
cc -o $BIN/psh2 psh2.c
cc -o $BIN/smsh1 smsh1.c splitline.c execute.c
cc -o $BIN/smsh2 smsh2.c splitline.c execute.c process.c controlflow.c 
cc -o $BIN/showenv showenv.c
cc -o $BIN/changeenv changeenv.c
cc -o $BIN/smsh3 smsh2.c splitline.c execute.c process2.c controlflow.c builtin.c varlib.c 
cc -o $BIN/smsh4 smsh4.c splitline.c execute2.c process2.c controlflow.c builtin.c varlib.c 
cc -o $BIN/listargs listargs.c
cc -o $BIN/stdinredir1 stdinredir1.c
cc -o $BIN/stdinredir2 stdinredir2.c
cc -o $BIN/whotofile whotofile.c
cc -o $BIN/pipedemo pipedemo.c
cc -o $BIN/pipedemo2 pipedemo2.c
cc -o $BIN/pipe pipe.c
cc -o $BIN/tinybc tinybc.c
cc -o $BIN/popendemo popendemo.c
cc -o $BIN/popen_ex3 popen_ex3.c
cc -o $BIN/popen popen.c
cc -o $BIN/timeserv timeserv.c
cc -o $BIN/timeclnt timeclnt.c
cc -o $BIN/rls rls.c
cc -o $BIN/rlsd rlsd.c
cc -o $BIN/testbdp testbdp.c
cc -o $BIN/webserv webserv.c socklib.c
cc -o $BIN/dgrecv dgrecv.c dgram.c
cc -o $BIN/dgsend dgsend.c dgram.c
cc -o $BIN/dgrecv2 dgrecv2.c dgram.c
cc -o $BIN/lserv1 lserv1.c lserv_funcs1.c dgram.c
cc -o $BIN/lclnt1 lclnt1.c lclnt_funcs1.c dgram.c
cc -o $BIN/lserv2 lserv2.c lserv_funcs2.c dgram.c
cc -o $BIN/lclnt2 lclnt2.c lclnt_funcs2.c dgram.c
cc -o $BIN/logfiled logfiled.c
cc -o $BIN/logfilec logfilec.c
cc -o $BIN/hello_single hello_single.c
cc -o $BIN/hello_multi hello_multi.c -lpthread
cc -o $BIN/incprint incprint.c -lpthread
cc -o $BIN/twc1 twordcount1.c -lpthread
cc -o $BIN/twc2 twordcount2.c -lpthread
cc -o $BIN/twc3 twordcount3.c -lpthread
cc -o $BIN/twc4 twordcount4.c -lpthread
cc -o $BIN/twebserv twebserv.c socklib.c -lpthread 
cc -o $BIN/tbounce1d tbounce1d.c -lcurses -lpthread 
cc -o $BIN/tanimate tanimate.c -lcurses -lpthread 
cc -o $BIN/selectdemo selectdemo.c
cc -o $BIN/file_ts file_ts.c
cc -o $BIN/file_tc file_tc.c
cc -o $BIN/shmserv1 shm_ts.c
cc -o $BIN/shmclnt1 shm_tc.c
cc -o $BIN/shmserv2 shm_ts2.c
cc -o $BIN/shmclnt2 shm_tc2.c
