Differences

This shows you the differences between two versions of the page.

sep:software:environment [2008/07/24 17:45]
altheyab
sep:software:environment [2015/05/27 02:06] (current)
Line 17: Line 17:
===== Environmental Variables ===== ===== Environmental Variables =====
 +<code>
 +setenv VPLOTSPOOLDIR /tmp
 +</code>
 +The next step is to tell SEPlib where to put temporary vplot files. It is best to put these in a location such as ''/tmp/'' which is periodically cleaned.
-    * <code>setenv VPLOTSPOOLDIR /tmp</code> +<code> 
-      The next step is to tell SEPlib where to put temporary vplot files. It is best to put these in a location such as /tmp/ which is periodically cleaned. +setenv SEP_DOC_PATH docpath 
-    * <code>setenv SEP_DOC_PATH docpath</code> +</code> 
-      If you move the SEP sources you can set this enviorenmental variable. If set self-doc will look in the sub-directiories of "docpath" for documentation. + 
-    * <code>setenv SEP my/sep/path/</code> +If you move the SEP sources you can set this enviorenmental variable. If set self-doc will look in the sub-directiories of "docpath" for documentation. 
-      The location of the SEP install (''--prefix'' which defaults to ''/usr/local/SEP'') + 
 +<code> 
 +setenv SEP my/sep/path/ 
 +</code> 
 + 
 +The location of the SEP install (''--prefix'' which defaults to ''/usr/local/SEP'')  
 + 
 +<code> setenv PYTHONPATH $SEP/lib/python/</code>
-<code># setenv PYTHONPATH $SEP/lib/python/</code> 
You need to set this variable to use ''Rm'' and to access SEP's python modules Add the ''mandir'' and the ''bindir'' you specified to your ''MANPATH'' and ''PATH'' variables. You need to set this variable to use ''Rm'' and to access SEP's python modules Add the ''mandir'' and the ''bindir'' you specified to your ''MANPATH'' and ''PATH'' variables.
-If you prefer you can use the HTML version of the documentation in docs/html With the distribution comes a set of makerules customized to your system that are by default installed in the include directory. +If you prefer you can use the HTML version of the documentation in ''docs/html'' With the distribution comes a set of makerules customized to your system that are by default installed in the include directory.
-SEP Compiling rules +
-To use these you must:+
-    * 1. setenv SEPINC sepincdir +===== SEP Compiling rules =====
-    * 2. In your makefile put:+
-      include ${SEPINC}/SEP.top+==== To use these you must: ====
 +  - setenv SEPINC sepincdir
 +  - In your makefile put:
 +<code>
 +      include ${SEPINC}/SEP.top
-      include ${SEPINC}/SEP.bottom+      ...
-    * 3. In between these is where your local compile rules should go.  
-To compile a program+      include ${SEPINC}/SEP.bottom 
 +</code> 
 +    - In between these is where your local compile rules should go.  
 +==== To compile a program ====
-    1. Set some general variables 
-          o BINDIR = /my/bin/dir {if not set, current directory} 
-          o SRCIDR = /my/src/dir {if not set, current directory} 
-          o OBJDIR = /my/obj/dir {my object directory}  
-    2. Set additional compiler flags 
-          o a. UCFLAGS, UF77FLAGS, UF90FLAGS - additional flags needed to compile a C, F77, or F90 program 
-          o b. UCLIBDIR, UF77LIBDIR, UF90LIBDIR a list of directories where additional libraries can be found 
-          o c. UCLIBS, UF77LIBS, UF90LIBS addition libaries to compile with  
-    3. Setting up the make rules 
-          o a. C code 
-            if you are compiling a code made up of a single source file, you shouldn't need any additional rules. If the code comes from multiple files ....+    - Set some general variables 
 +<code> 
 +           BINDIR = /my/bin/dir {if not set, current directory} 
 +           SRCIDR = /my/src/dir {if not set, current directory} 
 +           OBJDIR = /my/obj/dir {my object directory}  
 +</code> 
 +    - Set additional compiler flags 
 +          * ''UCFLAGS'', ''UF77FLAGS'', ''UF90FLAGS'' - additional flags needed to compile a C, F77, or F90 program 
 +          * ''UCLIBDIR'', ''UF77LIBDIR'', ''UF90LIBDIR'' a list of directories where additional libraries can be found 
 +          * ''UCLIBS'', ''UF77LIBS'', ''UF90LIBS'' addition libaries to compile with  
 +    - Setting up the make rules 
 +          * **C code**: if you are compiling a code made up of a single source file, you shouldn't need any additional rules. If the code comes from multiple files ...
 +Assuming that the main program is my_prog.o and you need the additional sub1, sub2, and sub3 compiled (and linked with the C linker) 
 +<code> 
 +${BINDIR}/my_prog.x: $(addprefix ${OBJDIR}/, sub1.o sub2.o sub3.o) 
 +</code> 
 +Note if your OBJDIR is the local directory you just need to list the object files, the add prefix portion is not necessary.
-            Assuming that the main program is my_prog.o and you need the additional sub1, sub2, and sub3 compiled (and linked with the C linker)+          * **F77 code**: the exact same rules as with C
-            ${BINDIR}/my_prog.x: $(addprefix ${OBJDIR}/, sub1.o sub2.o sub3.o)+          * **F90 code**: If your code uses strictly modules and a main program no additional rules are needed. If you use other subroutines follow the above procedure.
-            Note if your OBJDIR is the local directory you just need to list the object files, the add prefix portion is not necessary. +          * Compiling and linking.
-          o b. F77 code+
-            the exact same rules as with C +==== To compile a code ====
-          o c. F90 code +
-            If your code uses strictly modules and a main program no additional rules are needed. If you use other subroutines follow the above procedure. +
-          o d. Compiling and linking +
-To compile a code: 
  gmake objdir/code.o     gmake objdir/code.o  
Line 94: Line 108:
include ${SEPINC}/SEP.bottom include ${SEPINC}/SEP.bottom
 +
 +===== Converting old SEPlib code =====
 +
 +From Joe:\\
 +Need to replace ''reed(infd, ...)'' with ''sreed("in", ...)''.\\
 +Need to replace ''rite(outfd, ...)'' with ''srite("out", ...)''.\\
 +Need to replace ''getpar'' with ''getch''.\\
 +\\
 +''vp_filep(outstream)'';\\
 +to the start of any program that calls ''-lvplot''.
-Converting old SEPlib code +\\ \\ 
-From Joe: +{{page&gt;share:footer&amp;nofooter&amp;noeditbtn}}
-Need to replace &quot;reed(infd, ...)" with "sreed("in", ...)". +
-Need to replace "rite(outfd, ...)" with "srite("out", ...)". +
-Need to replace "getpar" with &quot;getch&quot;.+
-vp_filep(outstream); 
-to the start of any program that calls -lvplot.  
/web/html/data/attic/sep/software/environment.1216921515.txt.gz · Last modified: 2015/05/26 22:41 (external edit)
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0