richard-evans / vampire

Atomistic simulator for magnetic materials
GNU General Public License v2.0
124 stars 94 forks source link

typo in makefile #33

Closed sironglu closed 5 years ago

sironglu commented 5 years ago

A new line character is missing in the makefile. The following patch is needed. Otherwise a lot of "No such file or directory" error pops up when building the parallel-intel target.

--- makefile.orig   2019-01-25 10:14:55.000000000 -0700
+++ makefile    2019-04-23 23:49:46.392274998 -0700
@@ -250,7 +250,9 @@
    $(MPICC) $(ICC_LDFLAGS) $(LIBS) $(MPI_ICC_OBJECTS) -o $(PEXECUTABLE)

 $(MPI_ICC_OBJECTS): obj/%_i_mpi.o: src/%.cpp
-   $(MPICC) -c -o $@ $(ICC_CFLAGS) $<intel: $(MPI_ICC_OBJECTS)
+   $(MPICC) -c -o $@ $(ICC_CFLAGS) $<
+
+intel: $(MPI_ICC_OBJECTS)

 parallel-cray: $(MPI_CRAY_OBJECTS)
    $(MPICC) $(CRAY_LDFLAGS) $(LIBS) $(MPI_CRAY_OBJECTS) -o $(PEXECUTABLE)

Also, -std=c++0x flag is required for icc. The mpi version of icc should be mpiicpc. I would suggest the following change as well:

--- makefile.orig   2019-01-25 10:14:55.000000000 -0700
+++ makefile    2019-04-23 23:52:16.000000000 -0700
@@ -13,12 +13,13 @@
 #export MPICH_CXX=g++
 #export MPICH_CXX=bgxlc++
 # Compilers
-ICC=icc -DCOMP='"Intel C++ Compiler"'
+ICC=icc -std=c++0x -DCOMP='"Intel C++ Compiler"'
 GCC=g++ -std=c++0x -DCOMP='"GNU C++ Compiler"'
 LLVM=g++ -DCOMP='"LLVM C++ Compiler"'
 PCC=pathCC -DCOMP='"Pathscale C++ Compiler"'
 IBM=bgxlc++ -DCOMP='"IBM XLC++ Compiler"'
 MPICC=mpicxx -DMPICF
+MPIICC=mpiicpc -std=c++0x -DMPICF

 CCC_CFLAGS=-I./hdr -I./src/qvoronoi -O0
 CCC_LDFLAGS=-I./hdr -I./src/qvoronoi -O0
@@ -191,7 +192,7 @@
    $(GCC) -c -o $@ $(GCC_CFLAGS) $(OPTIONS) $<

 serial-intel: $(ICC_OBJECTS)
-   $(ICC) $(ICC_LDFLAGS) $(LIBS) $(ICC_OBJECTS) -o $(EXECUTABLE)
+   $(ICC) $(ICC_LDFLAGS) $(LIBS) $(ICC_OBJECTS) -o $(EXECUTABLE)-intel

 $(ICC_OBJECTS): obj/%_i.o: src/%.cpp
    $(ICC) -c -o $@ $(ICC_CFLAGS) $(OPTIONS) $<
@@ -221,7 +222,7 @@
    $(LLVM) -c -o $@ $(LLVM_DBCFLAGS) $(OPTIONS) $<

 intel-debug: $(ICCDB_OBJECTS)
-   $(ICC) $(ICC_DBLFLAGS) $(LIBS) $(ICCDB_OBJECTS) -o $(EXECUTABLE)
+   $(ICC) $(ICC_DBLFLAGS) $(LIBS) $(ICCDB_OBJECTS) -o $(EXECUTABLE)-intel-debug

 $(ICCDB_OBJECTS): obj/%_idb.o: src/%.cpp
    $(ICC) -c -o $@ $(ICC_DBCFLAGS) $(OPTIONS) $<
@@ -247,10 +248,12 @@
    $(MPICC) -c -o $@ $(GCC_CFLAGS) $(OPTIONS) $<

 parallel-intel: $(MPI_ICC_OBJECTS)
-   $(MPICC) $(ICC_LDFLAGS) $(LIBS) $(MPI_ICC_OBJECTS) -o $(PEXECUTABLE)
+   $(MPIICC) $(ICC_LDFLAGS) $(LIBS) $(MPI_ICC_OBJECTS) -o $(PEXECUTABLE)-intel

 $(MPI_ICC_OBJECTS): obj/%_i_mpi.o: src/%.cpp
-   $(MPICC) -c -o $@ $(ICC_CFLAGS) $<intel: $(MPI_ICC_OBJECTS)
+   $(MPIICC) -c -o $@ $(ICC_CFLAGS) $<
+
+intel: $(MPI_ICC_OBJECTS)

 parallel-cray: $(MPI_CRAY_OBJECTS)
    $(MPICC) $(CRAY_LDFLAGS) $(LIBS) $(MPI_CRAY_OBJECTS) -o $(PEXECUTABLE)
richard-evans commented 5 years ago

Thanks very much - now fixed in master branch!