Обращаюсь к знатокам.
фрагмент из pro файла
QLALRSOURCES = $$PWD/engine/t.g
QLALRCPPGEN = $$PWD/engine/QLalrOracleParser.cpp \
$$PWD/engine/qlalroracleparsertable.cpp
OTHER_FILES += $$QLALRSOURCES
qlalrsource.input = QLALRSOURCES
qlalrsource.output = $$QLALRCPPGEN
qlalrsource.commands = @echo "============== qlalr started ================" && cd $$PWD/engine && qlalr.exe --qt --no-debug --no-lines $$PWD/engine/t.g
qlalrsource.variable_out = SOURCES
qlalrsource.name = QLALR Parser Generation
qlalrsource.CONFIG += combined
#qlalrsource.depends = $$QLALRCPPGEN $$QLALRSOURCES
QMAKE_EXTRA_COMPILERS += qlalrsource
...
SOURCES += $$QLALRCPPGEN
Все, в общем-то, хорошо работает, но есть два раздражающих момента:
1. Выдается предупреждение при линковке: LNK4042: object specified more than once; extras ignored
2. При изменении исходного файла t.g перекомпилируется только один файл QLalrOracleParser.cpp.
А что еще интересней - при повторной компиляции (исходные тексты не меняются) происходит перекомпиляция всего остального.
То есть при изменении t.g приходится выполнять построение два раза.
Что я делаю не как. Вразумите, плз...