all: all1D all2D all3D all6D

all1D: step-1D.o newton-1D whole-1D
all2D: step-2D.o newton-2D whole-2D
all3D: step-3D.o newton-3D whole-3D
all6D: step-6D.o newton-6D whole-6D

step-1D.o: step-1D.c
	gcc -c step-1D.c

newton-1D: newton-1D.c step-1D.o
	gcc -lm step-1D.o newton-1D.c -o newton-1D

whole-1D: whole-1D.c
	gcc -lm whole-1D.c -o whole-1D

step-2D.o: step-2D.c
	gcc -c step-2D.c

newton-2D: newton-2D.c step-2D.o
	gcc -lm step-2D.o newton-2D.c -o newton-2D

whole-2D: whole-2D.c 
	gcc -lm whole-2D.c -o whole-2D

step-3D.o: step-3D.c
	gcc -c step-3D.c

newton-3D: newton-3D.c step-3D.o
	gcc -lm step-3D.o newton-3D.c -o newton-3D

whole-3D: whole-3D.c 
	gcc -lm whole-3D.c -o whole-3D

step-6D.o: step-6D.c
	gcc -c step-6D.c

newton-6D: newton-6D.c step-6D.o
	gcc -lm step-6D.o newton-6D.c -o newton-6D

whole-6D: whole-6D.c 
	gcc -lm whole-6D.c -o whole-6D

clean: 
	rm -rf newton-1D newton-2D newton-3D newton-6D whole-1D whole-2D whole-3D whole-6D step-1D.o step-2D.o step-3D.o step-6D.o
 
