xref: /libCEED/examples/rust-qfunctions/Makefile (revision d4cc18453651bd0f94c1a2e078b2646a92dafdcc)
1*9ba83ac0SJeremy L Thompson# Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors
22027fb9dSSirAlienTheGreat# All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
32027fb9dSSirAlienTheGreat#
42027fb9dSSirAlienTheGreat# SPDX-License-Identifier: BSD-2-Clause
52027fb9dSSirAlienTheGreat#
62027fb9dSSirAlienTheGreat# This file is part of CEED:  http://github.com/ceed
72027fb9dSSirAlienTheGreat
82027fb9dSSirAlienTheGreatOPT ?= -O -g
92027fb9dSSirAlienTheGreat
102027fb9dSSirAlienTheGreat# Ceed directory
112027fb9dSSirAlienTheGreatCEED_DIR ?= ../..
122027fb9dSSirAlienTheGreatCEED_FLAGS ?= -I$(CEED_DIR)/include -std=c11  $(OPT)
132027fb9dSSirAlienTheGreatCEED_LIBS ?= -Wl,-rpath,$(abspath $(CEED_DIR)/lib) -L$(CEED_DIR)/lib -lceed -L$(CEED_DIR)/examples/ceed -lm
142027fb9dSSirAlienTheGreat
152027fb9dSSirAlienTheGreatEXAMPLES.c = $(wildcard ex*.c)
162027fb9dSSirAlienTheGreatEXAMPLES = $(EXAMPLES.c:%.c=%)
172027fb9dSSirAlienTheGreat
182027fb9dSSirAlienTheGreat.SUFFIXES:
192027fb9dSSirAlienTheGreat.SUFFIXES: .c
202027fb9dSSirAlienTheGreat.PHONY: all clean
212027fb9dSSirAlienTheGreat
222027fb9dSSirAlienTheGreatall: $(EXAMPLES)
232027fb9dSSirAlienTheGreat
242027fb9dSSirAlienTheGreat# Remove built-in rules
252027fb9dSSirAlienTheGreat%: %.c
262027fb9dSSirAlienTheGreat
272027fb9dSSirAlienTheGreat# Special build rule for example 1 (rust)
282027fb9dSSirAlienTheGreatex1-volume: ex1-volume.c
292027fb9dSSirAlienTheGreat	cargo +nightly build --release --manifest-path ex1-volume-rs/Cargo.toml --config ex1-volume-rs/.cargo/config.toml
302027fb9dSSirAlienTheGreat	$(LINK.c) $(CEED_FLAGS) $(CEED_LDFLAGS) $(abspath $<) -o $@ $(CEED_LIBS) -L$(CEED_DIR)/examples/rust-qfunctions/ex1-volume-rs/target/release -lex1_volume_rs
312027fb9dSSirAlienTheGreat
322027fb9dSSirAlienTheGreatclean:
332027fb9dSSirAlienTheGreat	rm -f *~ $(EXAMPLES)
349b5f41c8SJeremy L Thompson	rm -rf temp/
352027fb9dSSirAlienTheGreat	rm -rf *.dSYM *.TVD.*breakpoints
36