xref: /libCEED/examples/petsc/Makefile (revision a820fbcde076af5c5b50ef8dec742695f7fceea9)
19f8a8fa0SJed BrownPETSc.pc := $(PETSC_DIR)/$(PETSC_ARCH)/lib/pkgconfig/PETSc.pc
26ea7c6c1SJed BrownCEED_DIR ?= ../..
36ea7c6c1SJed Brownceed.pc := $(CEED_DIR)/lib/pkgconfig/ceed.pc
49f8a8fa0SJed Brown
59f8a8fa0SJed BrownCC := $(shell pkg-config --variable=ccompiler $(PETSc.pc) $(ceed.pc))
69f8a8fa0SJed BrownCFLAGS := $(shell pkg-config --variable=cflags_extra $(PETSc.pc)) $(shell pkg-config --cflags-only-other $(PETSc.pc))
79f8a8fa0SJed BrownCPPFLAGS := $(shell pkg-config --cflags-only-I $(PETSc.pc) $(ceed.pc))
89f8a8fa0SJed BrownLDFLAGS := $(shell pkg-config --libs-only-L --libs-only-other $(PETSc.pc) $(ceed.pc))
99f8a8fa0SJed BrownLDFLAGS += $(patsubst -L%, $(shell pkg-config --variable=ldflag_rpath $(PETSc.pc))%, $(shell pkg-config --libs-only-L $(PETSc.pc) $(ceed.pc)))
109f8a8fa0SJed BrownLDLIBS := $(shell pkg-config --libs-only-l $(PETSc.pc) $(ceed.pc)) -lm
119f8a8fa0SJed Brown
129f8a8fa0SJed Brownbp.c := $(wildcard bp*.c)
139f8a8fa0SJed Brownbp := $(bp.c:%.c=%)
149f8a8fa0SJed Brown
15*a820fbcdSTzanioall: $(bp) okl-lib-cache
169f8a8fa0SJed Brown
179f8a8fa0SJed Brownprint:
189f8a8fa0SJed Brown	$(info CC      : $(CC))
199f8a8fa0SJed Brown	$(info CFLAGS  : $(CFLAGS))
209f8a8fa0SJed Brown	$(info CPPFLAGS: $(CPPFLAGS))
219f8a8fa0SJed Brown	$(info LDFLAGS : $(LDFLAGS))
229f8a8fa0SJed Brown	$(info LDLIBS  : $(LDLIBS))
239f8a8fa0SJed Brown
24*a820fbcdSTzanio# okl-lib-cache depending on OCCA and INSTALL
25*a820fbcdSTzaniookl-lib-cache:
26*a820fbcdSTzanio# First test to see if libceed was compiled with OCCA
27*a820fbcdSTzanioifneq ($(wildcard $(OCCA_DIR)/lib/libocca.*),)
28*a820fbcdSTzanio# Second test to see if '../..' is CEED_DIR
29*a820fbcdSTzanioifneq ($(CEED_DIR),../..)
30*a820fbcdSTzaniookl-lib-cache:
31*a820fbcdSTzanio	$(OCCA_DIR)/bin/occa cache ceed $(abspath $(CEED_DIR)/lib/okl/*.okl)
32*a820fbcdSTzanioendif
33*a820fbcdSTzanioendif
34*a820fbcdSTzanio
359f8a8fa0SJed Brownclean:
369f8a8fa0SJed Brown	$(RM) $(bp)
379f8a8fa0SJed Brown
389f8a8fa0SJed Brown.PHONY: all print clean
39