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.

Foi útil?

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
scroll top