Simplifying the description file
To make this file simpler, use the internal rules of themake program.
Based on file-system naming conventions, the make command recognizes three .c files corresponding to the needed .o files. This command can also generate an object from a source file, by issuing a cc -c command.
Based on these internal rules, the description file becomes:
# Make prog from 3 object files
prog: x.o y.o z.o
# Use the cc program to make prog
cc x.o y.o z.o -o prog
# Use the file defs and the .c file
# when making x.o and y.o
x.o y.o: defs