The following tables show the standard set of suffix rules and predefined macros supplied to make in the default makefile, /usr/share/lib/make/make.rules.
Table 4-8 Standard Suffix Rules|
Use |
Suffix Rule Name |
Command Line(s) |
|---|---|---|
|
Assembly Files | .s.o | $(COMPILE.s) -o $@ $< |
| .s | $(COMPILE.s) -o $@ $< | |
| .s.a | $(COMPILE.s) -o $% $< | |
| $(AR) $(ARFLAGS) $@ $% | ||
| $(RM) $% | ||
| .S.o | $(COMPILE.S) -o $@ $< | |
| .S.a | $(COMPILE.S) -o $% $ | |
| $(AR) $(ARFLAGS) $@ $% | ||
| $(RM) $% | ||
|
C Files (.c Rules) | .c | $(LINK.c) -o $@ $< $(LDLIBS) |
| .c.ln | $(LINT.c) $(OUTPUT_OPTION) -i $< | |
| .c.o | $(COMPILE.c) $(OUTPUT_OPTION) $< | |
| .c.a | $(COMPILE.c) -o $% $< | |
| $(AR) $(ARFLAGS) $@ $% | ||
| $(RM) $% | ||
|
C++ Files | .cc | $(LINK.cc) -o $@ $< $(LDLIBS) |
| .cc.o | $(COMPILE.cc) $(OUTPUT_OPTION) $< | |
| .cc.a | $(COMPILE.cc) -o $% $< | |
| $(AR) $(ARFLAGS) $@ $% | ||
| $(RM) $% | ||
|
C++ Files (SVr4 style) | .C | $(LINK.C) -o $@ $< $(LDFLAGS) $*.c |
| .C.o | $(COMPILE.C) $< | |
| .C.a | $(COMPILE.C) $< | |
| $(AR) $(ARFLAGS) $@ $*.o | ||
| $(RM) -f $*.o | ||
|
FORTRAN 77 Files | .cc.o | $(LINK.f) -o $@ $< $(LDLIBS) |
| .cc.a | $(COMPILE.f) $(OUTPUT_OPTION) $< | |
| $(COMPILE.f) -o $% $< | ||
| $(AR) $(ARFLAGS) $@ $% | ||
|
| $(RM) $% | |
| .F | $(LINK.F) -o $@ $< $(LDLIBS) | |
| .F.o | $(COMPILE.F) $(OUTPUT_OPTION) $< | |
| .F.a | $(COMPILE.F) -o $% $< | |
| $(AR) $(ARFLAGS) $@ $% | ||
| $(RM) $% | ||
|
lex Files | .l | $(RM) $*.c |
| $(LEX.l) $< > $*.c | ||
| $(LINK.c) -o $@ $*.c $(LDLIBS) | ||
| $(RM) $*.c | ||
| .l.c | $(RM) $@ | |
| $(LEX.l) $< > $@ | ||
| .l.ln | $(RM) $*.c | |
| $(LEX.l) $< > $*.c | ||
| $(LINT.c) -o $@ -i $*.c | ||
| $(RM) $*.c | ||
| .l.o | $(RM) $*.c | |
| $(LEX.l) $< > $*.c | ||
| $(COMPILE.c) -o $@ $*.c | ||
| $(RM) $*.c | ||
| .L.C | $(LEX) $(LFLAGS) $< | |
| .L.o | $(LEX)(LFLAGS) $< | |
| $(COMPILE.C) lex.yy.c | ||
| .L.o | rm -f lex.yy.c | |
| mv lex.yy.o $@ | ||
|
Modula 2 Files | .mod | $(COMPILE.mod) -o $@ -e $@ $< |
| .mod.o | $(COMPILE.mod) -o $@ $< | |
| .def.sym | $(COMPILE.def) -o $@ $< | |
|
NeWS | .cps.h | $(CPS) $(CPSFLAGS) $*.cps |
|
Pascal Files | .p | $(LINK.p) -o $@ $< $(LDLIBS) |
| .p.o | $(COMPILE.p) $(OUTPUT_OPTION) $< | |
|
Ratfor Files | .r | $(LINK.r) -o $@ $< $(LDLIBS) |
| .r.o | $(COMPILE.r) $(OUTPUT_OPTION) $< | |
| .r.a | $(COMPILE.r) -o $% $< | |
| $(AR) $(ARFLAGS) $@ $% | ||
| $(RM) $% | ||
|
Shell Scripts | .sh | $(RM) $@ |
| cat $< >$@ | ||
| chmod +x $@ | ||
|
yacc Files (.yc Rules) | .y | $(YACC.y) $< |
| $(LINK.c) -o $@ y.tab.c $(LDLIBS) | ||
| $(RM) y.tab.c | ||
| .y.c | $(YACC.y) $< | |
| mv y.tab.c $@ | ||
| .y.ln | $(YACC.y) $< | |
| $(LINT.c) -o $@ -i y.tab.c | ||
| $(RM) y.tab.c | ||
| .y.o | $(YACC.y) $< | |
| $(COMPILE.c) -o $@ y.tab.c | ||
| $(RM) y.tab.c | ||
|
yacc Files (SVr4) | .Y.C | $(YACC) $(YFLAGS) $< |
| mv y.tab.c $@ | ||
| .Y.o | $(YACC) $(YFLAGS) $< | |
| $(COMPILE.c) y.tab.c | ||
| rm -f y.tab.c | ||
| mv y.tab.o $@ |
Table 4-9 Predefined and Dynamic Macros