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