17f299f71SThilina Rathnayake# Copyright (c) 2017, Lawrence Livermore National Security, LLC. Produced at 27f299f71SThilina Rathnayake# the Lawrence Livermore National Laboratory. LLNL-CODE-734707. All Rights 37f299f71SThilina Rathnayake# reserved. See files LICENSE and NOTICE for details. 47f299f71SThilina Rathnayake# 57f299f71SThilina Rathnayake# This file is part of CEED, a collection of benchmarks, miniapps, software 67f299f71SThilina Rathnayake# libraries and APIs for efficient high-order finite element and spectral 77f299f71SThilina Rathnayake# element discretizations for exascale applications. For more information and 8*3d8e8822SJeremy L Thompson# source code availability see http://github.com/ceed 97f299f71SThilina Rathnayake# 107f299f71SThilina Rathnayake# The CEED research is supported by the Exascale Computing Project (17-SC-20-SC) 117f299f71SThilina Rathnayake# a collaborative effort of two U.S. Department of Energy organizations (Office 127f299f71SThilina Rathnayake# of Science and the National Nuclear Security Administration) responsible for 137f299f71SThilina Rathnayake# the planning and preparation of a capable exascale ecosystem, including 147f299f71SThilina Rathnayake# software, applications, hardware, advanced system engineering and early 157f299f71SThilina Rathnayake# testbed platforms, in support of the nation's exascale computing imperative. 167f299f71SThilina Rathnayake 177f299f71SThilina RathnayakeCEED_DIR ?= $(abspath ..) 187f299f71SThilina RathnayakeCEED_FLAGS ?= -I$(CEED_DIR)/include 197f299f71SThilina RathnayakeCEED_LIBS ?= -Wl,-rpath,$(CEED_DIR)/lib -L$(CEED_DIR)/lib -lceed 207f299f71SThilina Rathnayake 217f299f71SThilina Rathnayake# Use an MFEM build directory or an MFEM install directory 227f299f71SThilina RathnayakeMFEM_DIR ?= $(abspath ../../mfem) 237f299f71SThilina RathnayakeCONFIG_MK ?= $(or $(wildcard $(MFEM_DIR)/config/config.mk),$(wildcard\ 247f299f71SThilina Rathnayake $(MFEM_DIR)/share/mfem/config.mk),invalid_mfem_dir) 257f299f71SThilina Rathnayake 267f299f71SThilina RathnayakeNEK5K_DIR ?= $(abspath ../../Nek5000) 2786a4271fSThilina RathnayakeMPI ?= 1 287f299f71SThilina Rathnayake 297f299f71SThilina RathnayakePETSC_DIR ?= 307f299f71SThilina RathnayakePETSC_ARCH ?= 317f299f71SThilina Rathnayake 32ccaff030SJeremy L Thompson.PHONY: all ceed mfem nek petsc fluids solids clean 337f299f71SThilina Rathnayake 34ccaff030SJeremy L Thompsonall: ceed mfem nek petsc fluids solids 357f299f71SThilina Rathnayake 367f299f71SThilina Rathnayakeceed: 377f299f71SThilina Rathnayake make CEED_DIR=$(CEED_DIR) -C ceed all 387f299f71SThilina Rathnayake 397f299f71SThilina Rathnayakemfem: 407f299f71SThilina Rathnayake make CEED_DIR=$(CEED_DIR) MFEM_DIR=$(MFEM_DIR) -C mfem all 417f299f71SThilina Rathnayake 4286a4271fSThilina Rathnayake# Note: Multiple Nek files cannot be built in parallel. The '+' here enables 4386a4271fSThilina Rathnayake# this single Nek bps file to be built in parallel with other examples, 4486a4271fSThilina Rathnayake# such as when calling `make prove-all -j2` for the top level Makefile. 4586a4271fSThilina Rathnayakenek: 4686a4271fSThilina Rathnayake +make CEED_DIR=$(CEED_DIR) NEK5K_DIR=$(NEK5K_DIR) MPI=$(MPI) -C nek bps 4786a4271fSThilina Rathnayake 487f299f71SThilina Rathnayakepetsc: 497f299f71SThilina Rathnayake make CEED_DIR=$(CEED_DIR) PETSC_DIR=$(PETSC_DIR) PETSC_ARCH=$(PETSC_ARCH) -C petsc all 507f299f71SThilina Rathnayake 51ccaff030SJeremy L Thompsonfluids: 52ccaff030SJeremy L Thompson make CEED_DIR=$(CEED_DIR) PETSC_DIR=$(PETSC_DIR) PETSC_ARCH=$(PETSC_ARCH) -C fluids all 532774d5cbSJeremy L Thompson 54ccaff030SJeremy L Thompsonsolids: 55ccaff030SJeremy L Thompson make CEED_DIR=$(CEED_DIR) PETSC_DIR=$(PETSC_DIR) PETSC_ARCH=$(PETSC_ARCH) -C solids all 567f299f71SThilina Rathnayakeclean: 578757e0d2Sjeremylt +make -C ceed clean 588757e0d2Sjeremylt +make -C mfem clean 598757e0d2Sjeremylt +make -C nek clean 608757e0d2Sjeremylt +make -C petsc clean 61ccaff030SJeremy L Thompson +make -C fluids clean 62ccaff030SJeremy L Thompson +make -C solids clean 63