Я пытаюсь собрать все заголовочные файлы с помощью макроса Q_OBJECT, используя make. Вот что у меня сейчас.
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 $@
Но у меня есть проблема в этом решении. Только первый файл движется.
Благодарю.
Если первое правило в make-файле имеет несколько целей, то целью по умолчанию становится только первая цель в правиле, а не весь список.
Поэтому я считаю, что вам нужно определить цель «все» выше в зависимости от $ (MOC_SOURCES).
Других решений пока нет …