CC = gcc CFLAGS = -Og -g LDLIBS = -lpthread -lrt PROGS = forks execs internal shellex signaldeadlock loop sigint sigintsafe sigintsafe-new \ procmask1 procmask2 waitforsignal sigsuspend setjmp restart delay myfork.so all: $(PROGS) myfork.so: myfork.c ms_delay.h ms_delay.c $(CC) $(CFLAGS) -shared -fpic -o myfork.so myfork.c ms_delay.c -ldl -lrt process-race: process-race.c ms_delay.c csapp.c sigintsafe-new: sigintsafe.c csapp.c sio_printf.c $(CC) $(CFLAGS) -DNEW sigintsafe.c csapp.c sio_printf.c -o sigintsafe-new $(LDLIBS) signaldeadlock: signaldeadlock.c csapp.c shellex: shellex.c csapp.c forks: forks.c csapp.c execs: execs.c internal: internal.c csapp.c sigint: sigint.c csapp.c sigintsafe: sigintsafe.c csapp.c sio_printf.c loop: loop.c procmask1: procmask1.c csapp.c procmask2: procmask2.c csapp.c waitforsignal: waitforsignal.c csapp.c sigsuspend: sigsuspend.c csapp.c setjmp: setjmp.c csapp.c restart: restart.c csapp.c clean: rm -rf *~ $(PROGS)