|
|
Both significant suffix rules and the rules used in transforming files of one suffix-type into another can be modified. Including the following line in the makefile adds .q, .w, .t to the list of available suffixes:
.SUFFIXES : .q .w .tTo delete all currently recognized suffixes, add this line:
.SUFFIXES :Therefore, the combination of the two lines replaces the current suffixes with .q, .w, and .t:
.SUFFIXES : .SUFFIXES : .q .w .t
To define new suffix rules, simply add the rules to the makefile. This appears as a normal entry. For example, make is required to help maintain a set of text files requiring formatting and printing. Add the suffixes and define suffix rules as follows:
.SUFFIXES : .SUFFIXES : .s .t .l TBL = tbl EQN = eqn NEQN= neqn ROFFARGS =The first line of the makefile nullifies the default suffix rule of make. The second line establishes three suffixes as significant. These suffixes are interpreted as .s suffixes, indicating their use of the -ms formatting macros. The first entry declares how to make a .l file out of an .s file. That provides the rule for converting a source file containing -ms macros into a formatted output file for a line printer. Similarly, the third entry describes how to create a .a file (for output to a laser printer). These rules work in the same manner as regular entries: the second suffix belongs to the `target' and the first suffix belongs to the `component'..s.l : #format troff -ms source file for line printer $(TBL) $<|$(NEQN)| troff -ms -e -Tlp -u5 $(ROFFARGS)>$*.l .s.t : #format troff -ms source file for terminal $(TBL) $<|$(NEQN)| troff -ms -e -Tlp -u5 $(ROFFARGS)| ul -i>$*.t .s.a : #format troff -ms source file for apple laser printer $(TBL) $<|$(EQN)| troff -ms -e -Tspc $(ROFFARGS)>$*.a