CC=gcc

all: signals cleanup ctrl-c child 

signals: signals.o err.o
	$(CC) -Wall -o signals signals.o err.o

cleanup: cleanup.o err.o
	$(CC) -Wall -o cleanup cleanup.o err.o

ctrl-c: ctrl-c.o err.o
	$(CC) -Wall -o ctrl-c ctrl-c.o err.o

child: child.o err.o
	$(CC) -Wall -o child child.o err.o

signals.o: signals.c err.h
	$(CC) -Wall -c signals.c

cleanup.o: cleanup.c err.h
	$(CC) -Wall -c cleanup.c

ctrl-c.o: ctrl-c.c err.h
	$(CC) -Wall -c ctrl-c.c

child.o: child.c err.h
	$(CC) -Wall -c child.c

err.o: err.c err.h
	$(CC) -Wall -c err.c
	
clean:
	rm -f signals cleanup ctrl-c child *.o
