CC= gcc
OPT= -Wall

all: error.o pathalloc.o tellwait.o \
     access  cdpwd changemod conf copy copy1 devrdev devzero fileflags \
     ftw2 ftw3 ftw4 hello hole longpath ls1 mcopy mycd nonblockw nonblockws pipe pipef pipew \
     pollpipe pollpipe1 seek selectpipe selectpipe0 selectpipe1 testerror uidgid umask unlink zap filetype filesize \
     s_sock c_sock changeroot changeroot selectpipe2 fcntlock\
     flock flock1 flock2 fifoin README.ps README.pdf

README.ps: README
	a2ps  --prologue=bold -c --columns=1  -R  -L 50 \
	--output=README.ps -B \
	--center-title="6. I/O und 7. Files" \
	--right-title="%F" \
	--right-footer="Seite %p.    " \
	--left-footer="  j-p bell" README
README.pdf: README.ps
	ps2pdf -sPAPERSIZE=a4 README.ps README.pdf

access: access.c error.o
	${CC} ${OPT} -o access access.c error.o

changeroot: changeroot.c error.o
	${CC} ${OPT} -o changeroot changeroot.c error.o

catgetmsg: catgetmsg.c error.o
	${CC} ${OPT} -o catgetmsg catgetmsg.c error.o

cdpwd: cdpwd.c pathalloc.o error.o
	${CC} ${OPT} -o cdpwd cdpwd.c error.o pathalloc.o

changemod: changemod.c error.o
	${CC} ${OPT} -o changemod changemod.c error.o

conf: conf.c error.o
	${CC} ${OPT} -o conf conf.c error.o

copy: copy.c
	${CC} ${OPT} -o copy copy.c 

copy1: copy1.c
	${CC} ${OPT} -o copy1 copy1.c 

devrdev: devrdev.c error.o
	${CC} ${OPT} -o devrdev devrdev.c error.o

devzero: devzero.c error.o tellwait.o
	${CC} ${OPT} -o devzero devzero.c error.o tellwait.o

fileflags: fileflags.c error.o
	${CC} ${OPT} -o fileflags fileflags.c error.o

filetype: filetype.c error.o
	${CC} ${OPT} -o filetype filetype.c error.o

filesize: filesize.c error.o
	${CC} ${OPT} -o filesize filesize.c error.o

ftw2: ftw2.c error.o
	${CC} ${OPT} -o ftw2 ftw2.c error.o pathalloc.o

ftw3: ftw3.c error.o pathalloc.o
	${CC} ${OPT} -o ftw3 ftw3.c error.o pathalloc.o

ftw4: ftw4.c error.o
	${CC} ${OPT} -o ftw4 ftw4.c error.o pathalloc.o

hello: hello.c error.o
	${CC} ${OPT} -o hello hello.c error.o

hole: hole.c error.o
	${CC} ${OPT} -o hole hole.c error.o

longpath: longpath.c error.o
	${CC} ${OPT} -o longpath longpath.c error.o pathalloc.o

ls1: ls1.c error.o
	${CC} ${OPT} -o ls1 ls1.c error.o

mcopy: mcopy.c error.o
	${CC} ${OPT} -o mcopy mcopy.c error.o

mycd: mycd.c error.o
	${CC} ${OPT} -o mycd mycd.c error.o

nonblockw: nonblockw.c error.o
	${CC} ${OPT} -o nonblockw nonblockw.c error.o

nonblockws: nonblockws.c error.o
	${CC} ${OPT} -o nonblockws nonblockws.c error.o

pipe: pipe.c error.o
	${CC} ${OPT} -o pipe pipe.c error.o

pipef: pipef.c error.o
	${CC} ${OPT} -o pipef pipef.c error.o

pipew: pipew.c error.o
	${CC} ${OPT} -o pipew pipew.c error.o

pollpipe: pollpipe.c error.o
	${CC} ${OPT} -o pollpipe pollpipe.c error.o

pollpipe1: pollpipe1.c error.o
	${CC} ${OPT} -o pollpipe1 pollpipe1.c error.o

seek: seek.c
	${CC} ${OPT} -o seek seek.c

selectpipe: selectpipe.c error.o
	${CC} ${OPT} -o selectpipe selectpipe.c error.o

selectpipe0: selectpipe0.c error.o
	${CC} ${OPT} -o selectpipe0 selectpipe0.c error.o

selectpipe1: selectpipe1.c error.o
	${CC} ${OPT} -o selectpipe1 selectpipe1.c error.o

selectpipe2: selectpipe2.c error.o
	${CC} ${OPT} -o selectpipe2 selectpipe2.c error.o

c_sock: c_sock.c
	${CC} ${OPT} -o c_sock c_sock.c 

s_sock: s_sock.c
	${CC} ${OPT} -o s_sock s_sock.c 

testerror: testerror.c error.o
	${CC} ${OPT} -o testerror testerror.c error.o

uidgid: uidgid.c error.o
	${CC} ${OPT} -o uidgid uidgid.c error.o

umask: umask.c error.o
	${CC} ${OPT} -o umask umask.c error.o

unlink: unlink.c error.o
	${CC} ${OPT} -o unlink unlink.c error.o

zap: zap.c error.o
	${CC} ${OPT} -o zap zap.c error.o

flock: flock.c error.o
	${CC} ${OPT} -o flock flock.c error.o

fcntlock: fcntlock.c error.o
	${CC} ${OPT} -o fcntlock fcntlock.c error.o

flock1: flock1.c error.o
	${CC} ${OPT} -o flock1 flock1.c error.o

flock2: flock2.c error.o
	${CC} ${OPT} -o flock2 flock2.c error.o

fifoin: fifoin.c error.o
	${CC} ${OPT} -o fifoin fifoin.c error.o

error.o: error.c
	${CC} -c error.c

pathalloc.o: pathalloc.c
	${CC} -c pathalloc.c
tellwait.o: tellwait.c
	${CC} -c tellwait.c




clean: 
	rm -f access  cdpwd changemod conf copy devrdev devzero fileflags \
	ftw2 ftw3 ftw4 hello hole longpath ls1 mcopy mycd nonblockw nonblockws pipe pipew \
	pollpipe pollpipe1 seek selectpipe1 selectpipe testerror uidgid umask unlink zap \
	filetype error.o tellwait.o pathalloc.o copy1 filesize flock flock1 flock2 \
	fifoin fcntlock \
	README.ps* changeroot c_sock s_sock pipef selectpipe0 selectpipe2 README.pdf

clear: clean
