qtPrepareTool(QMAKE_DUMPCPP, dumpcpp)

dumpcpp_decl.depends += $$QMAKE_DUMPCPP_EXE
dumpcpp_decl.commands = $$QMAKE_DUMPCPP ${QMAKE_FILE_IN} -o ${QMAKE_FILE_BASE}
qaxcontainer_compat: dumpcpp_decl.commands += -compat
dumpcpp_decl.output = ${QMAKE_FILE_BASE}.h
dumpcpp_decl.input = TYPELIBS
dumpcpp_decl.variable_out = HEADERS
dumpcpp_decl.name = DUMP
dumpcpp_decl.CONFIG += no_link

QMAKE_EXTRA_COMPILERS += dumpcpp_decl


dumpcpp_impl.commands = $$escape_expand(\\n)    # dummy command
dumpcpp_impl.output = ${QMAKE_FILE_BASE}.cpp
dumpcpp_impl.input = TYPELIBS
dumpcpp_impl.variable_out = SOURCES
dumpcpp_impl.name = CPP
dumpcpp_impl.depends += ${QMAKE_FILE_BASE}.h

QMAKE_EXTRA_COMPILERS += dumpcpp_impl


# Create dependencies from every object file to our generated header files.
if(isEmpty(BUILDS)|build_pass):have_target:!contains(TEMPLATE, vc.*) {
    for(tlb, TYPELIBS) {
        hdr = $$basename(tlb)
        hdr = $$section(hdr, ., 0, -2).h
        TYPELIB_HEADERS += $$hdr
    }

    objtgt.target = $(OBJECTS)
    objtgt.depends += $$TYPELIB_HEADERS
    QMAKE_EXTRA_TARGETS += objtgt
}
