Hi,
I'm just getting started with PETSc and have been able to configure and run the examples, but as I'm starting to put together a more substantial code with multiple source files I haven't been able to find or create a makefile which works and follows PETSc guidelines. I've configured and am building with the Intel compilers and MKL for blas & lapack, as per the installation example, and with the C++ language. Here's my makefile -------------------------------------- # # makefile for femex1 - PETSc/kde/ex1.c adapted for FEA # # Usage: make all # make clean # # PETSc was configured using the Intel Compilers, MKL, and C++ # CFLAGS = CPPFLAGS = CLFLAGS = LIBFILES = ${PETSC_KSP_LIB} TARGET = femex1 CLEANFILES = $(TARGET) include ${PETSC_DIR}/lib/petsc/conf/variables include ${PETSC_DIR}/lib/petsc/conf/rules OBJFILES = femex1.o \ shapes.o all: $(TARGET) $(TARGET) : $(OBJFILES) $(LIBFILES) ${CLINKER} -o $(TARGET) $(OBJFILES) $(LIBFILES) # femex1.cpp has 'main' and PETSc calls femex1.o: femex1.cpp lists.h shapes.h chkopts ${PETSC_CXXCOMPILE} femex1.cpp # shapes.cpp does not have any PETSc calls shapes.o: shapes.cpp shapes.h icpc -c shapes.cpp And here's the result ------------------------------------ [Matt@HPCL1 mycode]$ make all /opt/petsc/petsc-3.6.3/linux-gnu-intel/bin/mpicxx -c -wd1572 -g -fPIC -I/opt/petsc/petsc-3.6.3/include -I/opt/petsc/petsc-3.6.3/linux-gnu-intel/include femex1.cpp icpc -c shapes.cpp make: *** No rule to make target `-Wl,-rpath,/opt/petsc/petsc-3.6.3/linux-gnu-intel/lib', needed by `femex1'. Stop. --------------------------------------------------------------- So it compiles the two sources, but then fails on the linking step. Thanks in advance. Matt Overholt CapeSym, Inc. --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus