Many programs consist of a single source file. make handles this case by the null suffix rule. To maintain the operating system program cat, a rule in the makefile of the following form is needed:
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $<
In fact, this .c: rule is internally defined so no makefile is necessary at all. The user only needs to enter $ make cat dd echo date (these are all operating system single-file programs) and all four C language source files are passed through the above shell command line associated with the .c: rule. The internally defined single suffix rules are:
.c: | .sh: | .f,: |
.c,: | .sh,: | .C: |
.s: | .f: | .C,: |
.s,: |
Others can be added in the makefile by the user.