Swarnava, Perhaps try CXXFLAGS instead of CPPFLAGS. Alternatively, you may explicitly declare a %.o: %.cc target and force it to include your CPPFLAGS.
Best regards, Jacob Faibussowitsch (Jacob Fai - booss - oh - vitch) Cell: (312) 694-3391 > On Feb 16, 2021, at 08:42, Matthew Knepley <[email protected]> wrote: > > On Mon, Feb 15, 2021 at 10:50 PM Barry Smith <[email protected] > <mailto:[email protected]>> wrote: > Swarnava, > > sddft.h is not a PETSc include file, nor is it used by PETSc so I think the > issue is not directly to PETSc it is related to where sddft is on the machine > and how it is found by your makefile. > > Barry, > > His problem is that he is trying to put extra include flags on the compile > line, but it is not working. I am wondering if his make is malfunctioning. > > Thanks, > > Matt > > Barry > > > > > On Feb 15, 2021, at 7:47 PM, Swarnava Ghosh <[email protected] > > <mailto:[email protected]>> wrote: > > > > Dear Petsc developers and users, > > > > I am having some issue with building my code with the following makefile. I > > was earlier able to build this with the same makefile on a different > > machine. Would you please help me out on this issue? > > > > Contents of makefile: > > ============================================== > > all:sparc > > > > CPPFLAGS = -I ./inc -I ${MKLROOT}/include -L ${MKLROOT}/lib/ > > -llapack-addons -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread > > > > SOURCECPP = ./src/main.cc ./src/initObjs.cc ./src/readfiles.cc > > ./src/energy.cc ./src/ExchangeCorrelation.cc ./src/occupation.cc > > ./src/poisson.cc ./src/chebyshev.cc ./src/scf.cc ./src/mixing.cc > > ./src/forces.cc ./src/relaxatoms.cc ./src/multipole.cc > > ./src/electrostatics.cc ./src/tools.cc > > > > SOURCEH = ./inc/sddft.h ./inc/isddft.h > > > > OBJSC = ./src/main.o ./src/initObjs.o ./src/readfiles.o ./src/energy.o > > ./src/ExchangeCorrelation.o ./src/occupation.o ./src/poisson.o > > ./src/chebyshev.o ./src/scf.o ./src/mixing.o ./src/forces.o > > ./src/relaxatoms.o ./src/multipole.o ./src/electrostatics.o ./src/tools.o > > > > LIBBASE = ./lib/sparc > > > > CLEANFILES = ./lib/sparc > > > > include ${PETSC_DIR}/lib/petsc/conf/variables > > include ${PETSC_DIR}/lib/petsc/conf/rules > > > > sparc: ${OBJSC} chkopts > > ${CLINKER} -Wall -o ${LIBBASE} ${OBJSC} ${PETSC_LIB} > > ${RM} $(SOURCECPP:%.cc=%.o) > > > > =========================================== > > Error: > > /home/swarnava/petsc/linux-gnu-intel/bin/mpicxx -o src/main.o -c -g > > -I/home/swarnava/petsc/include > > -I/home/swarnava/petsc/linux-gnu-intel/include `pwd`/src/main.cc > > /home/swarnava/Research/Codes/SPARC/src/main.cc(24): catastrophic error: > > cannot open source file "sddft.h" > > #include "sddft.h" > > ^ > > ==================================================== > > > > It's not able to see the header file though I have -I ./inc in CPPFLAGS. > > The directory containing makefile has the directory "inc" with the headers > > and "src" with the .cc files. > > > > Thank you, > > Swarnava > > > > > > > > -- > What most experimenters take for granted before they begin their experiments > is infinitely more interesting than any results to which their experiments > lead. > -- Norbert Wiener > > https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
