Arquivos embutidos em um makefile
Um arquivo embutido contém o texto que você especifica no makefile. O nome desse arquivo pode ser usado em comandos como entrada (por exemplo, um arquivo de comando do LINK) ou pode passar comandos para o sistema operacional. O arquivo é criado no disco quando um comando que cria o arquivo é executado.
Especificar um arquivo embutido
Especifique dois colchetes angulares (<<
) no comando em que o nome do arquivo deve aparecer. Os colchetes angulares não podem ser uma expansão de macro. O nome do arquivo é opcional:
<<filename
Quando o comando é executado, os colchetes angulares são substituídos pelo nome do arquivo, se especificado, ou por um nome exclusivo gerado pelo NMAKE. Se especificado, o nome do arquivo deverá seguir colchetes angulares sem espaços nem tabulações. Um caminho é permitido. Nenhuma extensão é necessária nem assumida. Se o nome do arquivo for especificado, o arquivo será criado no diretório atual ou especificado, substituindo qualquer arquivo existente por esse nome. Caso contrário, ele será criado no diretório TMP
(ou no diretório atual, se a variável de ambiente TMP
não estiver definida). Se um nome de arquivo anterior for reutilizado, o NMAKE substituirá o arquivo anterior.
Criar texto de arquivo embutido
Os arquivos embutidos são temporários ou permanentes.
inline_text
.
.
.
<<[KEEP | NOKEEP]
Especifique o inline_text na primeira linha após o comando. Marque o final com colchetes angulares duplos (<<
) no início de outra linha separada, seguido por um KEEP
ou NOKEEP
opcional. O arquivo conterá todo o inline_text que está antes dos colchetes delimitadores. O inline_text pode ter expansões e substituições de macro, mas não diretivas nem comentários de makefile. Espaços, tabulações e caractere de nova linha são tratados literalmente.
Haverá um arquivo temporário durante toda a sessão e ele poderá ser reutilizado por outros comandos. Especifique KEEP
após os colchetes angulares de fechamento para manter o arquivo após a sessão do NMAKE; um arquivo sem nome será preservado no disco com o nome de arquivo gerado. Especifique NOKEEP
ou nada em um arquivo temporário. KEEP
e NOKEEP
não diferenciam maiúsculas de minúsculas.
Reutilizar arquivos embutidos
Para reutilizar um arquivo embutido, especifique <<filename
no local em que o arquivo é definido e usado pela primeira vez e, em seguida, reutilize o nome do arquivo sem <<
posteriormente no mesmo comando ou em outro comando. O comando para criar o arquivo embutido deve ser executado antes de todos os comandos que usam o arquivo.
Vários arquivos embutidos
Um comando pode criar mais de um arquivo embutido:
command << <<
inline_text
<<[KEEP | NOKEEP]
inline_text
. . .
inline_text
<<[KEEP | NOKEEP]
Para cada arquivo, especifique uma ou mais linhas de texto embutido seguidas por uma linha de fechamento que contém o delimitador e o KEEP
ou NOKEEP
opcional. Inicie o texto do segundo arquivo na linha que vem após a linha delimitadora do primeiro arquivo.