mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-12-23 07:53:29 -06:00
9aad4c3a7e
at least content-wise. there are still quite a few language issues left to be dealt with...
89 lines
3.1 KiB
TeX
89 lines
3.1 KiB
TeX
\chapter{Creating a new directory for source code}
|
|
|
|
In this section, we describe how setting up a new directory for source
|
|
code. In fact, it is very easy to create a new directory, but getting
|
|
\Dune build system to recognize the new folder takes some steps which
|
|
will be explained in more detail below:
|
|
|
|
\begin{itemize}
|
|
\item Create new directory with content. Quite often an existing
|
|
directory can be used as a base for the new one.
|
|
\item Adapt \texttt{Makefile.am} in the new directory and add this
|
|
direcory to the \texttt{SUBDIRS} list of the \texttt{Makefile.am} in
|
|
the directory above the one which you just created.
|
|
\item Adapt \texttt{configure.ac} in the \eWoms base directory (the
|
|
directory to which you checked out or unpacked the \eWoms source
|
|
code, probably \texttt{ewoms})
|
|
\item Run the command \texttt{automake} in the \eWoms base directory.
|
|
\item Re-compile \eWoms by typing \texttt{make} in the \eWoms base
|
|
directory.
|
|
\end{itemize}
|
|
|
|
\noindent In more detail:
|
|
|
|
\textbf{First} of all, the new directory including all relevant files
|
|
needs to be created (see section \ref{tutorial-coupled} and
|
|
\ref{tutorial-decoupled} for description of how to define problems).
|
|
|
|
\textbf{Second}, a new \texttt{Makefile.am} for the new directory
|
|
needs to be created. It is good practice to simply copy and modify an
|
|
existing file. For example, the file \texttt{tutorial/Makefile.am}
|
|
looks as follows:
|
|
\begin{verbatim}
|
|
# programs just to build when "make check" is used
|
|
check_PROGRAMS = tutorial_decoupled tutorial_coupled
|
|
|
|
noinst_HEADERS= *.hh
|
|
EXTRA_DIST = CMakeLists.txt
|
|
|
|
tutorial_coupleddir = $(datadir)/dumux/tutorial
|
|
tutorial_coupled_SOURCES = tutorial_coupled.cc
|
|
tutorial_coupled_DATA = $(tutorial_coupled_SOURCES)
|
|
|
|
include $(top_srcdir)/am/global-rules
|
|
\end{verbatim}
|
|
|
|
All occurrences of \texttt{tutorial\_coupled} need to be replaced by
|
|
the name of the new project, e.g. \texttt{new\_project}. At least if
|
|
the name of the source file as well as the name of the new project are
|
|
\texttt{new\_project}.
|
|
|
|
\textbf{Third}: In the parent directory of the directory which you
|
|
created, there is also a \texttt{Makefile.am}. In this file the
|
|
sub-directories are listed. As you introduced a new sub-directory, it
|
|
needs to be included there. In this case, the name of the new
|
|
directory is \texttt{new\_project}.
|
|
|
|
\begin{verbatim}
|
|
...
|
|
SUBDIRS = doc dumux m4 test tutorial new_project
|
|
...
|
|
\end{verbatim}
|
|
|
|
\textbf{Fourth}: In \eWoms base directory there is a file
|
|
\texttt{configure.ac}. In this file, the respective Makefiles are
|
|
listed. After a line reading
|
|
|
|
\texttt{AC\_CONFIG\_FILES([Makefile}
|
|
|
|
\noindent a line, declaring a new Makefile, needs to be added. The
|
|
Makefile itself will be generated automatically from the
|
|
\texttt{Makefile.am} file which you just generated. For keeping track
|
|
of the included files, it is adviced to insert new Makefiles in
|
|
alphabetical order. The new line could read:
|
|
\texttt{new\_project/Makefile}
|
|
|
|
\textbf{Fifth}: Run the command \texttt{automake} in the \eWoms base
|
|
directory.
|
|
|
|
\textbf{Sixth}: Re-compile \eWoms as described in Section \ref{install}.
|
|
|
|
%%% Local Variables:
|
|
%%% mode: latex
|
|
%%% TeX-master: "ewoms-handbook"
|
|
%%% End:
|
|
|
|
|
|
|
|
|