summaryrefslogtreecommitdiff
path: root/doc/UsersGuide/ThornWriters.tex
diff options
context:
space:
mode:
authorallen <allen@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-12-15 08:05:23 +0000
committerallen <allen@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-12-15 08:05:23 +0000
commit967b562b40090e43734804f912ca14997870cb90 (patch)
tree2c89202ff7cef3f080b2f9664b76852b57e3c29c /doc/UsersGuide/ThornWriters.tex
parent59f29ba9354f2b59ad9d6904fab54733f305ae62 (diff)
Added free form fortran to file extensions
Added description for adding fortran module files git-svn-id: http://svn.cactuscode.org/flesh/trunk@1191 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'doc/UsersGuide/ThornWriters.tex')
-rw-r--r--doc/UsersGuide/ThornWriters.tex18
1 files changed, 16 insertions, 2 deletions
diff --git a/doc/UsersGuide/ThornWriters.tex b/doc/UsersGuide/ThornWriters.tex
index 18cc5713..eb8aa9aa 100644
--- a/doc/UsersGuide/ThornWriters.tex
+++ b/doc/UsersGuide/ThornWriters.tex
@@ -505,8 +505,8 @@ Extension & Coding Language \\
\hline
{\t .F} & Fortran90 fixed form \\
{\t .f} & (no preprocessing) Fortran90 fixed form\\
-{\t .F90} & Fortran90 free form form [To be implemented]\\
-{\t .f90} & (no preprocessing) Fortran90 free form [To be implemented]\\
+{\t .F90} & Fortran90 free form form\\
+{\t .f90} & (no preprocessing) Fortran90 free form\\
{\t .F77} & Fortran77 \\
{\t .f77} & (no preprocessing) Fortran77\\
{\t .c} & C \\
@@ -533,6 +533,7 @@ may instead put a {\tt Makefile} in the {\tt src} directory and do everything
yourself.
\subsection{{\tt make.code.defn} based thorn building}
+\label{sec:mabathbu}
This is the standard way to do compile your thorn's source files.
The Cactus make system looks for a file called {\tt make.code.defn} in that
@@ -731,6 +732,19 @@ all be declared by adding before any executable code, the declaration
DECLARE_CCTK_FUNCTIONS
\end{verbatim}
+\subsubsection{Fortran 90 Modules}
+
+Fortran 90 modules should be included in a thorn's {\tt make.code.deps} file
+(\ref{sec:mabathbu}) to ensure they are compiled before the
+routines which use them. This is especially important for parallel
+building. For example, if a routine in {\tt MyRoutine.F} uses a module
+in {\tt MyModule.F} add the line:
+{\tt
+\begin{verbatim}
+$(SYS_OBJD)/MyRoutine.F.o: $(SYS_OBJD)/MyModule.F.o
+\end{verbatim}
+}
+
\subsection{C Routines}