This directory and its sub-directories contain machine Makefiles for
LAMMPS.  The use of machine Makefiles and their settings are discussed
in Section 2 of the manual.

If you are new to LAMMPS, try one of the files in this directory
first.

Then you can try files in the sub-directories with more options you
may need, or that are specific to a machine you are running on.

If none of the existing files work, you can edit a file in either
directory to create your own customized Makefile.machine.  Put it in
the MINE directory if you want to avoid conflicts with the Makefiles
distributed with LAMMPS.

-----------------------------------

This directory has two generic Makefiles which should work as-is on
many platforms.

Makefile.mpi      assumes MPI is installed on your machine
Makefile.serial   build without MPI for serial execution (single core)

Makefile.mpi builds with the mpicxx wrapper provided with all MPI
installations.  It uses a default compiler (the one MPI was built
with) and should work with whatever version of MPI is installed
(OpenMPI, MPICH, vendor, etc).

Makefile.serial builds without MPI, using the GNU g++ compiler.  It
uses the dummy MPI library in src/STUBS, which you can pre-build via
"make stubs" in the src dir.  See Makefile.serial_icc in the OPTIONS
dir for the same thing using the Intel icc compiler instead of g++.

-----------------------------------

The OPTIONS directory has several Makefiles that extend either
Makefile.mpi or Makefile.serial to enable use of different compilers,
different MPIs, or accelerator package and command options that LAMMPS
supports.

--------

Makefile.fftw          FFTW support for long-range Coulombics (PPPM)
Makefile.jpeg          JPEG support for dump image
Makefile.png           PNG support for dump image

These Makefiles are the same as Makefile.mpi except they add settings
for commonly used options (FFTW, JPG, PNG) to illustrate how they can
be added to any Makefile.

--------

Makefile.kokkos_omp    KOKKOS package with CUDA support via nvcc compiler
Makefile.kokkos_cuda   KOKKOS package with CUDA support via nvcc compiler
Makefile.kokkos_phi    KOKKOS package with CUDA support via nvcc compiler

These Makefiles are for building with the KOKKOS package for different
architectures (multi-core with OpenMP threading, GPU, Xeon Phi).  Some
Makefile variables are set and appended to.

--------

Makefile.intel_cpu     USER-INTEL package with CPU acceleration
Makefile.intel_phi     USER-INTEL package with Xeon Phi support

These Makefiles are for building with the USER-INTEL package with
either CPU or Xeon Phi (offload) support.  Some Makefile variables are
set and appended to.

--------

Makefile.mpich_g++      compile with MPICH wrapper, set compiler to GNU g++
Makefile.mpich_icc      compile with MPICH wrapper, set compiler to Intel icc
Makefile.ompi_g++       compile with OpenMPI wrapper, set compiler to GNU g++
Makefile.ompi_icc       compile with OpenMPI wrapper, set compiler to Intel icc

Makefile.serial_icc     serial build with Intel icc compiler
Makefile.pgi            MPI guild with the PGI compiler

These Makefiles adapt Makefile.mpi and Makefile.serial to use specific
compilers.

--------

Makefile.mpich_native_g++    compile with GNU g++, link to MPICH
Makefile.mpich_native_icc    compile with Intel icc, link to MPICH
Makefile.ompi_native_g++     compile with GNU g++, link to OpenMPI
Makefile.ompi_native_icc     compile with Intel icc, link to OpenMPI

These Makefiles show how to build with MPI support, but not using the
MPI wrapper "mpicxx" for compiling.  Instead, g++ or icc is used
directly to compile and the MPI library is linked to.  This requires
extra settings for the MPI variables to specify the MPI include and
library files.

------------------------------------

The MACHINE sub-directory has many Makefiles, each of which has been
setup for a specific kind of machine or a specific supercomputer.

Examples include:

Makefile.mac        Apple Macintosh
Makefile.xe6        Cray XE6
Makefile.bgq        IBM BG/Q
Makefile.stampede   U Texas "stampede" machine
