Pergunta

Em um Makefile, tenho a seguinte linha:

helper.cpp: dtds.h

O que garante que o Helper.cpp seja reconstruído sempre que o DTDS.H é alterado. No entanto, quero que todos os arquivos do projeto sejam reconstruídos se qualquer um dos dois outros arquivos de cabeçalho mudar, gentil como este:

*.cpp: h1.h h2.h

Obviamente, isso não funciona, mas não sei o caminho certo para fazer Nmake fazer o que eu quero. Alguém pode ajudar? Não quero ter que especificar manualmente que cada arquivo individual depende de H1.H e H2.H.

Obrigado. (Estou usando o Nmake incluído no Visual Studio 2005.)

Foi útil?

Solução 2

Obrigado pela sua ajuda, Christoph. Eu tentei:

.cpp.obj: h1.h h2.h

E recebi a mensagem de erro útil:

makefile(58) : fatal error U1086: inference rule cannot have dependents

Acabei resolvendo -o fazendo uma lista dos arquivos que eu queria compilar e adicionando a dependência a toda a lista.

files = file1.obj file2.obj file3.obj
$(files): h1.h h2.h

Outras dicas

Tentar

%.cpp : h1.h h2.h

Isso funciona no GNU Make - não faço ideia se Nmake é compatível ...

Editar: E btw: não deveria ser

helper.o : dtds.h

%.o :  h1.h h2.h

Afinal, você não quer refazer o .cpp Arquivo (Como você faz um arquivo de origem?), Mas recompile ...

Edit2: Verifica a Referência de Nmake. De acordo com isto, algo como

.cpp.obj: h1.h h2.h

Pode funcionar ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top