xref: /libCEED/examples/rust-qfunctions/Makefile (revision 2027fb9d13fe34211738d8539f90542a9801ae2c)
1*2027fb9dSSirAlienTheGreat# Copyright (c) 2017-2025, Lawrence Livermore National Security, LLC and other CEED contributors
2*2027fb9dSSirAlienTheGreat# All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
3*2027fb9dSSirAlienTheGreat#
4*2027fb9dSSirAlienTheGreat# SPDX-License-Identifier: BSD-2-Clause
5*2027fb9dSSirAlienTheGreat#
6*2027fb9dSSirAlienTheGreat# This file is part of CEED:  http://github.com/ceed
7*2027fb9dSSirAlienTheGreat
8*2027fb9dSSirAlienTheGreatOPT ?= -O -g
9*2027fb9dSSirAlienTheGreat
10*2027fb9dSSirAlienTheGreat# Ceed directory
11*2027fb9dSSirAlienTheGreatCEED_DIR ?= ../..
12*2027fb9dSSirAlienTheGreatCEED_FLAGS ?= -I$(CEED_DIR)/include -std=c11  $(OPT)
13*2027fb9dSSirAlienTheGreatCEED_LIBS ?= -Wl,-rpath,$(abspath $(CEED_DIR)/lib) -L$(CEED_DIR)/lib -lceed -L$(CEED_DIR)/examples/ceed -lm
14*2027fb9dSSirAlienTheGreat
15*2027fb9dSSirAlienTheGreatEXAMPLES.c = $(wildcard ex*.c)
16*2027fb9dSSirAlienTheGreatEXAMPLES = $(EXAMPLES.c:%.c=%)
17*2027fb9dSSirAlienTheGreat
18*2027fb9dSSirAlienTheGreat.SUFFIXES:
19*2027fb9dSSirAlienTheGreat.SUFFIXES: .c
20*2027fb9dSSirAlienTheGreat.PHONY: all clean
21*2027fb9dSSirAlienTheGreat
22*2027fb9dSSirAlienTheGreatall: $(EXAMPLES)
23*2027fb9dSSirAlienTheGreat
24*2027fb9dSSirAlienTheGreat# Remove built-in rules
25*2027fb9dSSirAlienTheGreat%: %.c
26*2027fb9dSSirAlienTheGreat
27*2027fb9dSSirAlienTheGreat# Special build rule for example 1 (rust)
28*2027fb9dSSirAlienTheGreatex1-volume: ex1-volume.c
29*2027fb9dSSirAlienTheGreat	cargo +nightly build --release --manifest-path ex1-volume-rs/Cargo.toml --config ex1-volume-rs/.cargo/config.toml
30*2027fb9dSSirAlienTheGreat	$(LINK.c) $(CEED_FLAGS) $(CEED_LDFLAGS) $(abspath $<) -o $@ $(CEED_LIBS) -L$(CEED_DIR)/examples/rust-qfunctions/ex1-volume-rs/target/release -lex1_volume_rs
31*2027fb9dSSirAlienTheGreat
32*2027fb9dSSirAlienTheGreatclean:
33*2027fb9dSSirAlienTheGreat	rm -f *~ $(EXAMPLES)
34*2027fb9dSSirAlienTheGreat	rm -f temp_*
35*2027fb9dSSirAlienTheGreat	rm -rf *.dSYM *.TVD.*breakpoints
36