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) 27*8827639dSJed Browntests.c := $(sort $(wildcard t/t[0-9][0-9]-*.c)) 284859b599SJed Browntests := $(tests.c:%.c=%) 294859b599SJed Brown 309df38c42SVeselin Dobrev.SUFFIXES: 319df38c42SVeselin Dobrev.SUFFIXES: .c .o .d 329df38c42SVeselin Dobrev 33bae89548SJed Brown$(libceed) : $(libceed.c:%.c=%.o) 344859b599SJed Brown $(CC) $(LDFLAGS) -shared -o $@ $^ $(LDLIBS) 354859b599SJed Brown 36bae89548SJed Brown$(tests) : $(libceed) 374859b599SJed Brown$(tests) : LDFLAGS += -Wl,-rpath,. -L. 38*8827639dSJed Brownt/t% : t/t%.c $(libceed) 394859b599SJed Brown 40*8827639dSJed Brownrun-t% : t/t% 41*8827639dSJed Brown @./tap.sh $(<:t/%=%) 424859b599SJed Brown 43*8827639dSJed Browntest : $(tests:t/%=run-%) 444859b599SJed Brown 454859b599SJed Brown.PHONY: clean print 464859b599SJed Brownclean : 47*8827639dSJed Brown $(RM) *.o t/*.o *.d t/*.d $(libceed) $(tests.c:%.c=%) 489df38c42SVeselin Dobrev $(RM) -r *.dSYM 494859b599SJed Brown 504859b599SJed Brownprint : 514859b599SJed Brown @echo $(VAR)=$($(VAR)) 52582447c9SJed Brown 539df38c42SVeselin Dobrevprint-%: 549df38c42SVeselin Dobrev $(info [ variable name]: $*) 559df38c42SVeselin Dobrev $(info [ origin]: $(origin $*)) 569df38c42SVeselin Dobrev $(info [ value]: $(value $*)) 579df38c42SVeselin Dobrev $(info [expanded value]: $($*)) 589df38c42SVeselin Dobrev $(info ) 599df38c42SVeselin Dobrev @true 609df38c42SVeselin Dobrev 61bae89548SJed Brown-include $(libceed.c:%.c=%.d) $(tests.c:%.c=%.d) 62