[Enterprise Extensions only]

IDL-to-Java: Emitting makefiles and specifying the path separator character

When the Java bindings are compiled using a makefile, it can become tedious to build the makefile by hand. There are two arguments to the IDL-to-Java compiler which help to build the makefile.

idlj -m My.idl

Besides the usual bindings, this will generate bfile My.u that will contain the following lines:

MyHelper.java: My.idl
My.java: My.idl
MyHolder.java: My.idl
MyPackage/E.java: Embedded.idl
MyPackage/EHelper.java: Embedded.idl
MyPackage/EHolder.java: Embedded.idl
_MyStub.java: My.idl
 
MyHelper.java \
My.java \
MyHolder.java \
MyPackage/E.java \
MyPackage/EHelper.java \
MyPackage/EHolder.java \
_MyStub.java

If you are building a makefile that will run on multiple platforms, the slash (/) character is not necessarily the file separator character. Perhaps the build environment has a special variable for the file separator character. If this variable were $(Sep), then the compiler can place this in place of the slash in My.u with the following command:

idlj -m -sep \$\(Sep\) My.idl

Now My.u contains the following:

MyHelper.java: My.idl
My.java: My.idl
MyHolder.java: My.idl
MyPackage$(Sep)E.java: Embedded.idl
MyPackage$(Sep)EHelper.java: Embedded.idl
MyPackage$(Sep)EHolder.java: Embedded.idl
_MyStub.java: My.idl
 
MyHelper.java \
My.java \
MyHolder.java \
MyPackage$(Sep)E.java \
MyPackage$(Sep)EHelper.java \
MyPackage$(Sep)EHolder.java \
_MyStub.java