Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
26733 Discussions

Migration from gfortran to intel. Makefile issues.

abraham_a_
Beginner
85 Views

I am trying to run a program on intel (some options are better supported by it) but the problem comes when I try to compile the file. The makefile itself works but the makefile.in has some issues with the flags. 

The makefile.in file: 

# Makefile.LINUX.in

WARN = -ansi -fullwarn

PLATFORM = LINUX
#F90 = mpif90
cc = mpicc
CC = mpicc
AR = xiar rcv
RANLIB = xiar -ts

MPI_LIBS = 

PARMETIS_LIBS = -L/opt/parmetis -lparmetis
METIS_LIBS = -lmetis

#HDF5_DIR = /opt/hdf5
#HDF5_INC = -I$(HDF5_DIR)/include
#HDF5_LIB = -L$(HDF5_DIR)/lib -lhdf5_fortran -lhdf5hl_fortran -lhdf5 -lhdf5_hl -lz

# compile with -DNOHDF to disable hdf5 support

# with optimization 
CFLAGS = -c -O3
OPTFFLAGS = -c -O3 -DMPIDEFS2 -DLIT_SKIP_HOOKS -DNOHDF 
CDPOPTFFLAGS = -c -O3 -DMPIDEFS2 
VERYOPTFFLAGS = -c -O3 -xW -DMPIDEFS2 -DLIT_SKIP_HOOKS

DEBUGFLAGS = -C -debug extended -traceback -DNOHDF 
DBGFFLAGS = -c -g -O0 $(DEBUGFLAGS) -DMPIDEFS2 -DDEBUG_MODE -DLIT_SKIP_HOOKS
CDPDBGFFLAGS = -c -g -O0 $(DEBUGFLAGS) -DMPIDEFS2 -DDEBUG_MODE 

FLD = 

and the error that comes up

(cd src ; make "FFLAGS = -c -O3 -DMPIDEFS2 -DLIT_SKIP_HOOKS -DNOHDF ")
make[1]: Entering directory '/home/igarcia/U-Arizona/compiled/lit1.1-1_int/src'
c -O3 -DMPIDEFS2 -DLIT_SKIP_HOOKS -DNOHDF   -I. precision_m.f90
make[1]: c: Command not found
make[1]: [Makefile:45: precision_m.o] Error 127 (ignored)

I don't really know what I am doing wrong since the c option in gfortran and ifort is the same... perhaps a syntax error. 

0 Kudos
1 Reply
Juergen_R_R
Valued Contributor I
85 Views

The question is not related to the Intel compiler I would say. And this is not the complete Makefile you are showing I guess. But it looks like you haven't set the variable FC and the Makefile wants to create either a binary or an object file (.o) and thinks the correct rule is to invoke the c compiler. Or some variable erroneously got the value c. 

Reply