# -*- mode: makefile -*- # This makefile is based on PETSc's Makefile.user. You may need to add # the directory containing petsc.pc to the pkg-config path: #$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$PETSC_DIR/$PETSC_ARCH/lib/pkgconfig petsc.pc := $(PETSC_DIR)/$(PETSC_ARCH)/lib/pkgconfig/petsc.pc slepc.pc := $(SLEPC_DIR)/$(PETSC_ARCH)/lib/pkgconfig/slepc.pc # Additional libraries that support pkg-config can be added to the list of PACKAGES below. PACKAGES := $(petsc.pc) $(slepc.pc) CC := $(shell pkg-config --variable=ccompiler $(PACKAGES)) CXX := $(shell pkg-config --variable=cxxcompiler $(PACKAGES)) FC := $(shell pkg-config --variable=fcompiler $(PACKAGES)) CFLAGS_OTHER := $(shell pkg-config --cflags-only-other $(PACKAGES)) CFLAGS := $(shell pkg-config --variable=cflags_extra $(PACKAGES)) $(CFLAGS_OTHER) -I. CXXFLAGS := $(shell pkg-config --variable=cxxflags_extra $(PACKAGES)) $(CFLAGS_OTHER) FFLAGS := $(shell pkg-config --variable=fflags_extra $(PACKAGES)) CPPFLAGS := $(shell pkg-config --cflags-only-I $(PACKAGES)) LDFLAGS := $(shell pkg-config --libs-only-L --libs-only-other $(PACKAGES)) LDFLAGS += $(patsubst -L%, $(shell pkg-config --variable=ldflag_rpath $(petsc.pc))%,$(shell pkg-config --libs-only-L $(PACKAGES))) LDLIBS := $(shell pkg-config --libs-only-l $(PACKAGES)) -lm CUDAC := $(shell pkg-config --variable=cudacompiler $(PACKAGES)) CUDAC_FLAGS := $(shell pkg-config --variable=cudaflags_extra $(PACKAGES)) CUDA_LIB := $(shell pkg-config --variable=cudalib $(PACKAGES)) CUDA_INCLUDE := $(shell pkg-config --variable=cudainclude $(PACKAGES)) #DEPS=oneDlinFunc.h MANSEC = MFN include ${SLEPC_DIR}/lib/slepc/conf/slepc_common print: @echo CC=$(CC) @echo CXX=$(CXX) @echo FC=$(FC) @echo CFLAGS=$(CFLAGS) @echo CXXFLAGS=$(CXXFLAGS) @echo FFLAGS=$(FFLAGS) @echo CPPFLAGS=$(CPPFLAGS) @echo LDFLAGS=$(LDFLAGS) @echo LDLIBS=$(LDLIBS) @echo CUDAC=$(CUDAC) @echo CUDAC_FLAGS=$(CUDAC_FLAGS) @echo CUDA_LIB=$(CUDA_LIB) @echo CUDA_INCLUDE=$(CUDA_INCLUDE) % : %.F90 $(LINK.F) -o $@ $^ $(LDLIBS) %.o: %.F90 $(COMPILE.F) $(OUTPUT_OPTION) $< % : %.cxx $(LINK.cc) -o $@ $^ $(LDLIBS) %.o: %.cxx $(COMPILE.cc) $(OUTPUT_OPTION) $< %.o : %.cu $(CUDAC) -c $(CPPFLAGS) $(CUDAC_FLAGS) $(CUDA_INCLUDE) -o $@ $< noflux: noflux_check.c $(LINK.cc) -o $@ noflux_check.c $(LDLIBS) -I.