@@ -349,6 +349,10 @@ mfemexamples := $(mfemexamples.cpp:examples/mfem/%.cpp=$(OBJDIR)/mfem-%)
349349# Nek5K Examples
350350nekexamples := $(OBJDIR ) /nek-bps
351351
352+ # Rust QFunction Examples
353+ rustqfunctions.c := $(sort $(wildcard examples/rust-qfunctions/* .c) )
354+ rustqfunctionsexamples := $(rustqfunctions.c:examples/rust-qfunctions/%.c=$(OBJDIR ) /rustqfunctions-% )
355+
352356# PETSc Examples
353357petscexamples.c := $(wildcard examples/petsc/* .c)
354358petscexamples := $(petscexamples.c:examples/petsc/%.c=$(OBJDIR ) /petsc-% )
@@ -733,6 +737,11 @@ $(OBJDIR)/nek-bps : examples/nek/bps/bps.usr examples/nek/nek-examples.sh $(libc
733737 mv examples/nek/build/bps $(OBJDIR ) /bps
734738 cp examples/nek/nek-examples.sh $(OBJDIR ) /nek-bps
735739
740+ # Rust QFunctions
741+ $(OBJDIR ) /rustqfunctions-% : examples/rust-qfunctions/% .c $(libceed ) | $$(@D ) /.DIR
742+ +$(MAKE ) -C examples/rust-qfunctions CEED_DIR=` pwd`
743+ cp examples/rust-qfunctions/$* $@
744+
736745# PETSc
737746# Several executables have common utilities, but we can't build the utilities
738747# from separate submake invocations because they'll compete with each
@@ -763,19 +772,22 @@ $(OBJDIR)/solids-% : examples/solids/%.c examples/solids/%.h \
763772 PETSC_DIR="$(abspath $(PETSC_DIR))" OPT="$(OPT)" $*
764773 cp examples/solids/$* $@
765774
766- examples : $(allexamples )
767- ceedexamples : $(examples )
768- nekexamples : $(nekexamples )
769- mfemexamples : $(mfemexamples )
775+ examples : $(allexamples )
776+ ceedexamples : $(examples )
777+ nekexamples : $(nekexamples )
778+ mfemexamples : $(mfemexamples )
770779petscexamples : $(petscexamples )
771780
781+ rustqfunctionsexamples : $(rustqfunctionsexamples )
782+
772783external_examples := \
773784 $(if $(MFEM_DIR ) ,$(mfemexamples ) ) \
774785 $(if $(PETSC_DIR ) ,$(petscexamples ) ) \
775786 $(if $(NEK5K_DIR ) ,$(nekexamples ) ) \
776787 $(if $(DEAL_II_DIR ) ,$(dealiiexamples ) ) \
777788 $(if $(PETSC_DIR ) ,$(fluidsexamples ) ) \
778- $(if $(PETSC_DIR ) ,$(solidsexamples ) )
789+ $(if $(PETSC_DIR ) ,$(solidsexamples ) ) \
790+ $(if $(or $(RUST_QF ) ,$(GPU_CLANG ) ) ,$(rustqfunctionsexamples ) )
779791
780792allexamples = $(examples ) $(external_examples )
781793
@@ -904,6 +916,7 @@ cln clean :
904916 $(call quiet,MAKE) -C examples clean NEK5K_DIR=" $( abspath $( NEK5K_DIR) ) "
905917 $(call quiet,MAKE) -C python/tests clean
906918 $(RM ) benchmarks/* output.txt
919+ $(RM ) -rf temp
907920
908921distclean : clean
909922 $(RM ) -r doc/html doc/sphinx/build $(CONFIG )
0 commit comments