This is done by first clearing the standard rule using the
.CLEAR atom, then writing your own.
Rewriting the rule without clearing it would result
in the new prerequisites and/or attributes being appended
to the existing standard rule.
For example to write your own rule for creating a SHARED object you would do the following:
.SHARED.o : .CLEAR .USE (CC) $(CC) $(CC.SHARED) $(CCLDFLAGS:N=-ptr*) -o $(<) $(*$(**):N!=*$(CC.SUFFIX.ARCHIVE))