#
# Makefile 
#
# Type  make    to compile all the programs
# in the chapter 
#

all: 		p04-errors_demo \
		p09-createfile \
		p15-count \
		p17-writeafterend \
		p19-readwriteclose \
		p21-buffeffect \
		p25-filecontrol \
		p27-dupdup2 \
		p33-samplestat \
		p36-openreadclosedir \
		p38-morewithls \
		p53-sigSimExample \
		p54-sigIgnore \
		p56-alarm \
		p57-alarmpause \
		p61-lostsig \
		p68-sigaction \
		p70-sigaction2 \
		p72-sigaction3 \
		p75-sigprocmask

clean: 
	rm -f 	p04-errors_demo \
		p09-createfile \
		p15-count \
		p17-writeafterend \
		p19-readwriteclose \
		p21-buffeffect \
		p25-filecontrol \
		p27-dupdup2 \
		p33-samplestat \
		p36-openreadclosedir \
		p38-morewithls \
		p53-sigSimExample \
		p54-sigIgnore \
		p56-alarm \
		p57-alarmpause \
		p61-lostsig \
		p68-sigaction \
		p70-sigaction2 \
		p72-sigaction3 \
		p75-sigprocmask
	rm -rf *.dSYM		# for OSX

cleanosx:
	rm -rf *.dSYM		# for OSX

p04-errors_demo: p04-errors_demo.c 
	gcc -g p04-errors_demo.c -o p04-errors_demo 

p09-createfile: p09-createfile.c
	gcc -g p09-createfile.c -o p09-createfile

p15-count: p15-count.c
	gcc -g p15-count.c -o p15-count

p17-writeafterend: p17-writeafterend.c
	gcc -g p17-writeafterend.c -o p17-writeafterend

p19-readwriteclose: p19-readwriteclose.c
	gcc -g p19-readwriteclose.c -o p19-readwriteclose

p21-buffeffect:	p21-buffeffect.c
	gcc -g p21-buffeffect.c -o p21-buffeffect

p25-filecontrol: p25-filecontrol.c
	gcc -g p25-filecontrol.c -o p25-filecontrol

p27-dupdup2: p27-dupdup2.c
	gcc -g p27-dupdup2.c -o p27-dupdup2

p33-samplestat: p33-samplestat.c
	gcc -g p33-samplestat.c -o p33-samplestat

p36-openreadclosedir: p36-openreadclosedir.c
	gcc -g p36-openreadclosedir.c -o p36-openreadclosedir

p38-morewithls: p38-morewithls.c
	gcc -g p38-morewithls.c -o p38-morewithls

p53-sigSimExample: p53-sigSimExample.c
	gcc -g p53-sigSimExample.c -o p53-sigSimExample

p54-sigIgnore: p54-sigIgnore.c
	gcc -g p54-sigIgnore.c -o p54-sigIgnore

p56-alarm: p56-alarm.c
	gcc -g p56-alarm.c -o p56-alarm

p57-alarmpause: p57-alarmpause.c
	gcc -g p57-alarmpause.c -o p57-alarmpause

p61-lostsig: p61-lostsig.c
	gcc -g p61-lostsig.c  -o p61-lostsig

p68-sigaction: p68-sigaction.c
	gcc -g p68-sigaction.c -o p68-sigaction

p70-sigaction2: p70-sigaction2.c
	gcc -g p70-sigaction2.c -o p70-sigaction2

p72-sigaction3: p72-sigaction3.c
	gcc -g p72-sigaction3.c -o p72-sigaction3

p75-sigprocmask: p75-sigprocmask.c
	gcc -g p75-sigprocmask.c -o p75-sigprocmask
