[omniORB] How to make OmniORB's IDL compiler
Doru-Catalin Togea
doru-cat@ifi.uio.no
Tue Apr 8 15:20:02 2003
On Thu, 3 Apr 2003, Duncan Grisby wrote:
> On Thursday 3 April, Doru-Catalin Togea wrote:
>
> > After making changes to "idl.ll" or
> > "idl.yy" files, (I don't remember which one it was), I tried to issue the
> > make command from both the cxx directory and from the omniorb directory.
> > In both cases make went through some underdirecories and reported for each
> > one that there is nothing to be done. I had hope that some make rule would
> > would catch up the fact that either "idl.yy" or "idl.ll" has been changed
> > after the last time make was run, and that it would trigger the making of
> > the compiler again.
>
> The make rules to rebuild when idl.yy and idl.ll are changed are
> commented out in cxx/dir.mk. Just put them back in, remove the source
> files from the source tree, and run make.
Except for sporadic comemnts, the only lines which were comemnted out were
the following (now uncommented):
y.tab.h y.tab.cc: $(YYSRC)
@-$(RM) $@ # my comment: line 43
$(BISON) $<
mv -f y.tab.c y.tab.cc
lex.yy.cc: $(LLSRC) y.tab.h
$(FLEX) $< | sed -e 's/^#include <unistd.h>//' > $@
echo '#ifdef __VMS' >> $@
echo '// Some versions of DEC C++ for OpenVMS set the module name
used by the' >> $@
echo '// librarian based on the last #line encountered.' >> $@
echo '#line' `cat $@ | wc -l` '"lex_yy.cc"' >> $@
echo '#endif' >> $@
So I guess I uncommented the right lines. (Besides they refer to the YYSRC
and LLSRC variables, so they must be the right lines.)
I have to problems now:
1) After removing the comment signs, Emacs warns me when I try to save
the changes that there is a "Suspicious line 43. Save anyway (y or n)?" I
can save the file by choosing "y" but neither make nor gmake would compile
any more. When issued in the ../cxx/ directory both commands report:
"dir.mk:43: *** missing separator. Stop."
Should there be any "\" sign anywhere?
2) what do you mean by "remove the source files from the source tree". Do
you mean that I should remove all C and C++ files (that is all .c, .cc,
.h files)? Or just the object files or all? I hope all I need to do is
"make clean", because I am affraid I will have to make the compiler many
times.
Thanks for your help so far,
Catalin
--
<<<< ================================== >>>>
<< We are what we repeatedly do. >>
<< Excellence, therefore, is not an act >>
<< but a habit. >>
<<<< ================================== >>>>