As IDL files use standard C preprocessor syntax for dependent
inclusion, is it not possible to wrap the idl compile in depcomp?
My IDL build rules are already structured as suffix rules, with a
small wrapper script around the IDL compiler that uses lockfile(1) to
prevent two targets (e.g. client and server stub) from the same source
being built in parallel (for make -j n)
If I were to add depcomp support to the wrapper script or suffix
rules, I think I would be able to do something like:
depmode=cpp source=Trader.idl object=Trader_c depfile='.deps/Trader.Po'
tmpdepfile='.deps/Trader.TPo' $ATESRC/config/depcomp tao_idl Trader.idl
The only remaining problem is that now two rules write to
.deps/Trader.Po ( the idl->c++ and c++->.o rules). These seem to
overwrite each other.
Trader_c: /tmp//idli_IPp7em.cc
Trader_c: Trader.idl
Trader_c: DataItem.idl 1
Trader_c: ATE.idl 1
Trader_c: DataItem.idl 2
Trader_c: ATEFilter.idl 1
Trader_c: ATEControl.idl 1
Trader_c: Pingable.idl 1
Trader_c: ATEControl.idl 2
Trader_c: ATEAuth.idl 1
Trader_c: ATEControl.idl 2
Trader_c: ATEFilter.idl 2
Trader_c: DataItem.idl 2
Trader_c: Trader.idl 2
/tmp//idli_IPp7em.cc :
Trader.idl :
DataItem.idl 1 :
ATE.idl 1 :
DataItem.idl 2 :
ATEFilter.idl 1 :
ATEControl.idl 1 :
Pingable.idl 1 :
ATEControl.idl 2 :
ATEAuth.idl 1 :
ATEControl.idl 2 :
ATEFilter.idl 2 :
DataItem.idl 2 :
Trader.idl 2 :
I think this is really close. Could a depcomp guru please confirm or
deny? :)
Alex.