2014-02-27 4 views
0

make를 사용하여 Q_OBJECT 매크로로 모든 헤더 파일을 moc하려고합니다. 여기 내가 지금 가지고있는 것이있다.make를 사용하여 자동으로 Moc Qt 헤더 만들기

HEADERS = *.h 
MOCS := $(shell grep -l Q_OBJECT $(HEADERS))  
MOC_SOURCES := $(MOCS:%.h=moc_%.cpp) 
$(MOC_SOURCES) : moc_%.cpp: %.h 
    @echo "Building Moc: [email protected] from $<" 
    /opt/Qt5.1.1/5.1.1/gcc/bin/moc $< -o [email protected] 

그러나이 솔루션에는 문제가 있습니다. 첫 번째 파일 만 모핑 중입니다.

감사합니다.

답변

2

makefile의 첫 번째 규칙에 여러 개의 대상이있는 경우 규칙의 첫 번째 대상 만 전체 목록이 아닌 기본 목표가됩니다.

따라서 위의 "모든"목표를 $ (MOC_SOURCES)에 의존하여 정의해야한다고 생각합니다.

+0

감사합니다. 문제가 해결되었습니다. – yaroslav

관련 문제