10d9661cdSTzanio# Copyright (c) 2017, Lawrence Livermore National Security, LLC. Produced at 20d9661cdSTzanio# the Lawrence Livermore National Laboratory. LLNL-CODE-734707. All Rights 30d9661cdSTzanio# reserved. See files LICENSE and NOTICE for details. 40d9661cdSTzanio# 50d9661cdSTzanio# This file is part of CEED, a collection of benchmarks, miniapps, software 60d9661cdSTzanio# libraries and APIs for efficient high-order finite element and spectral 70d9661cdSTzanio# element discretizations for exascale applications. For more information and 80d9661cdSTzanio# source code availability see http://github.com/ceed. 90d9661cdSTzanio# 100d9661cdSTzanio# The CEED research is supported by the Exascale Computing Project 17-SC-20-SC, 110d9661cdSTzanio# a collaborative effort of two U.S. Department of Energy organizations (Office 120d9661cdSTzanio# of Science and the National Nuclear Security Administration) responsible for 130d9661cdSTzanio# the planning and preparation of a capable exascale ecosystem, including 140d9661cdSTzanio# software, applications, hardware, advanced system engineering and early 150d9661cdSTzanio# testbed platforms, in support of the nation's exascale computing imperative. 160d9661cdSTzanio 17582447c9SJed BrownCFLAGS = -std=c99 -Wall -Wextra -Wno-unused-parameter -fPIC -MMD -MP 184859b599SJed BrownCFLAGS += $(if $(NDEBUG),-O2,-g) 194859b599SJed BrownCPPFLAGS = -I. 20582447c9SJed BrownLDLIBS = -lm 2187e762eaSJed Brown 225c719ab0SJed BrownDARWIN := $(filter Darwin,$(shell uname -s)) 235c719ab0SJed BrownSO_EXT := $(if $(DARWIN),dylib,so) 249df38c42SVeselin Dobrev 25bae89548SJed Brownlibceed := libceed.$(SO_EXT) 26bae89548SJed Brownlibceed.c := $(wildcard ceed*.c) 278827639dSJed Browntests.c := $(sort $(wildcard t/t[0-9][0-9]-*.c)) 284859b599SJed Browntests := $(tests.c:%.c=%) 29*2c6ea02fSJed Brownexamples.c := $(sort $(wildcard examples/*.c)) 30*2c6ea02fSJed Brownexamples := $(examples.c:%.c=%) 314859b599SJed Brown 329df38c42SVeselin Dobrev.SUFFIXES: 339df38c42SVeselin Dobrev.SUFFIXES: .c .o .d 349df38c42SVeselin Dobrev 35bae89548SJed Brown$(libceed) : $(libceed.c:%.c=%.o) 364859b599SJed Brown $(CC) $(LDFLAGS) -shared -o $@ $^ $(LDLIBS) 374859b599SJed Brown 38*2c6ea02fSJed Brown$(tests) $(examples) : $(libceed) 39*2c6ea02fSJed Brown$(tests) $(examples) : LDFLAGS += -Wl,-rpath,. -L. 408827639dSJed Brownt/t% : t/t%.c $(libceed) 41*2c6ea02fSJed Brownexamples/% : examples/%.c $(libceed) 424859b599SJed Brown 438827639dSJed Brownrun-t% : t/t% 448827639dSJed Brown @./tap.sh $(<:t/%=%) 454859b599SJed Brown 468827639dSJed Browntest : $(tests:t/%=run-%) 474859b599SJed Brown 48*2c6ea02fSJed Brownexamples : $(examples) 49*2c6ea02fSJed Brown 50*2c6ea02fSJed Brown.PHONY: clean print test examples 514859b599SJed Brownclean : 528827639dSJed Brown $(RM) *.o t/*.o *.d t/*.d $(libceed) $(tests.c:%.c=%) 539df38c42SVeselin Dobrev $(RM) -r *.dSYM 544859b599SJed Brown 554859b599SJed Brownprint : 564859b599SJed Brown @echo $(VAR)=$($(VAR)) 57582447c9SJed Brown 589df38c42SVeselin Dobrevprint-%: 599df38c42SVeselin Dobrev $(info [ variable name]: $*) 609df38c42SVeselin Dobrev $(info [ origin]: $(origin $*)) 619df38c42SVeselin Dobrev $(info [ value]: $(value $*)) 629df38c42SVeselin Dobrev $(info [expanded value]: $($*)) 639df38c42SVeselin Dobrev $(info ) 649df38c42SVeselin Dobrev @true 659df38c42SVeselin Dobrev 66bae89548SJed Brown-include $(libceed.c:%.c=%.d) $(tests.c:%.c=%.d) 67