make: Combine By Prerequisite

 
 2.6 Another Style of Makefile
 =============================
 
 When the objects of a makefile are created only by implicit rules, an
 alternative style of makefile is possible.  In this style of makefile,
 you group entries by their prerequisites instead of by their targets.
 Here is what one looks like:
 
      objects = main.o kbd.o command.o display.o \
                insert.o search.o files.o utils.o
 
      edit : $(objects)
              cc -o edit $(objects)
 
      $(objects) : defs.h
      kbd.o command.o files.o : command.h
      display.o insert.o search.o files.o : buffer.h
 
 Here 'defs.h' is given as a prerequisite of all the object files;
 'command.h' and 'buffer.h' are prerequisites of the specific object
 files listed for them.
 
    Whether this is better is a matter of taste: it is more compact, but
 some people dislike it because they find it clearer to put all the
 information about each target in one place.