Regras internas para o programa de make
As regras internas para o comando make estão localizadas em um arquivo que se parece com um arquivo de descrição.
Quando a sinalização -r é especificada, o comando make não usa o arquivo de regras internas. Você deve fornecer as regras para criar os arquivos em seu arquivo de descrição. O arquivo de regras internas contém uma lista de sufixos de nome de arquivo (como .o ou .a) que o comando make compreende, e regras que informaam o comando make como criar um arquivo com um sufixo de um arquivo com outro sufixo. Se você não alterar a lista, o comando make compreende os seguintes sufixos:
| Sufixo | Descrição |
|---|---|
| .a | Biblioteca de arquivo |
| .C | Arquivo do Fonte em C |
| .C\ ~ | Arquivo de Código de Controle de Código de Origem (SCCS) contendo arquivo de origem C++ |
| .c | Arquivo do Fonte em C |
| .c ~ | Arquivo SCCS contendo arquivo de origem C |
| .f | Arquivo de origem FORTRAN |
| .f ~ | Arquivo SCCS contendo arquivo de origem FORTRAN |
| .h | Arquivo de cabeçalho de linguagem C. |
| .h ~ | Arquivo SCCS contendo arquivo de cabeçalho de linguagem C |
| .l | Gramática de origem lex |
| .l ~ | Arquivo SCCS contendo a gramática de origem lex . |
| .o | Arquivo de objeto. |
| .s | Arquivo de origem do assembler. |
| .s ~ | Arquivo SCCS contendo arquivo de origem do assembler. |
| .sh | Arquivo de origem do shell-comando. |
| .sh ~ | Arquivo SCCS contendo arquivo de origem shell-comando. |
| .y | Gramática de origem yacc-c . |
| .y ~ | Arquivo SCCS contendo gramática de origem yacc-c . |
A lista de sufixos é semelhante a uma lista de dependência em um arquivo de descrição e segue o nome falso de destino de .SUFFIXES. Como o comando make olha para a lista de sufixos em ordem da esquerda para a direita, a ordem das entradas é importante.
O comando make usa a primeira entrada na lista que satisfaz as seguintes equitações:
- A entrada corresponde aos requisitos de sufixo de entrada e saída para os arquivos de destino e de dependência atuais.
- A entrada tem uma regra atribuída a ele.
O comando make cria o nome da regra a partir dos dois sufixos dos arquivos que a regra define. Por exemplo, o nome da regra para transformar um arquivo .c em um arquivo .o é .c.o.
Para adicionar mais sufixos à lista, inclua uma entrada para o nome de destino falso de .SUFFIXES no arquivo de descrição. Para uma linha .SUFFIXES sem nenhum sufixo seguindo o nome do destino no arquivo de descrição, o comando make apaga a lista atual. Para alterar a ordem dos nomes na lista, apague a lista atual e, em seguida, atribua um novo conjunto de valores para .SUFIXOS.