[ ESO ]

ALMA Software Engineering


ALMA SW Engineering

System Snapshot

Reference

Links

 
Makefile Support

Makefile Java support (from acs 1.48)

  1. users put *.java files in src directory, under the respective packages directory structure.
  2. the variables JARFILES is used to specify the jarfiles (without .jar extension) which will be generated when making this module.
  3. For each jarfile <jjj> specified in JARFILES, the variable <jjj>_DIRS specifies a space-separated list of directories containing java files to go in the jarfile <jjj>.
  4. For each jarfile <jjj> specified in JARFILES, the variable <jjj>_EXTRAS specifies a space-separated list of directories or files to be added to the jarfile. This is to be used for non class files.
  5. CLASSPATH: is generated by a custom script. It takes the initial value of CLASSPATH from the shell and augments it with all jarfiles contained in <module>/lib, $INTROOT/lib and $ACSROOT/lib, in that sequence.
  6. Java byte compiled code goes under <module>/object, possibly under a directory structure reflecting the Java package structure. Jarfiles is created, as specified in the JARFILES variable and moved to the lib directory.
  7. Jarfile only contain *.class, no sources. A switch to override this behaviour might be supplied in the future.
  8. make clean deletes all *.class files from object
  9. There is no directory java under the module.
  10. Compiler options to the javac compiler can be passed by setting the USER_JFLAGS variable.

Makefile Python support

  1. Available variables are:
    1. PY_SCRIPTS and PY_SCRIPTS_L:
      These scripts, specified without the .py extension, will be copied to the local bin directory of the module. make install copies them to the $INTROOT/bin. No further handling is done. As for any generic script, the PY_SCRIPTS_L are not installed by make install
    2. PY_MODULES:
      : These scripts, specified without the .py extension, will be copied to the local lib/python/site-packages/module directory. Notice that they are scripts, not directories.
    3. PY_PACKAGES:
      Packages specified in here must be under the corresponding directory under src. They are copied to the local lib/python/site-packages/package

Makefile IDL support

  1. Should src only contain contributed code ? (this is evidently not the case for C++ stubs, which are put in src by the makefile). This decision may influence the capacity of 'make clean' to clean all non-developer contributed code from a module prior to archival
    [Response: yes, but only in the long term, for the short term we will just
    avoid having Python and Java stubs in there]
  2. which signal should trigger stub generation for a type should the presence of one file for each type be enough to trigger the stub generation ? Should stub generation occur by default for all the types (potentially mixing water with wine?)
    	[Response: yes, all types will be generated by default ]
    	
  3. Orbacus generates a directory with the name of the idl file (possibly more than one) which contains several tens of Java files, with names which cannot be foreseen. Caveat: the produced java files will have a certain package


 [ESO IT Project Web Site]  [IT Project]  [ESO]  [Index]  [Search]  [Help]  [News]