Cabeçalhos Moc Qt automaticamente usando make
Pergunta
Estou tentando copiar todos os arquivos de cabeçalho com a macro Q_OBJECT usando make.Aqui está o que tenho agora.
HEADERS = *.h
MOCS := $(shell grep -l Q_OBJECT $(HEADERS))
MOC_SOURCES := $(MOCS:%.h=moc_%.cpp)
$(MOC_SOURCES) : moc_%.cpp: %.h
@echo "Building Moc: $@ from $<"
/opt/Qt5.1.1/5.1.1/gcc/bin/moc $< -o $@
Mas tenho um problema nesta solução.Apenas o primeiro arquivo está sendo moc'ing.
Obrigado.
Solução
Se a primeira regra no makefile tiver vários alvos, apenas o primeiro alvo na regra se tornará o objetivo padrão, e não a lista inteira.
Portanto, acredito que você precise definir um alvo "todos" acima, dependendo do $(MOC_SOURCES).
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow