Skip to content
Snippets Groups Projects
Commit 6220eeb0 authored by Bine Brank's avatar Bine Brank
Browse files

add build folder

parent 67a0f0a8
Branches main
No related tags found
No related merge requests found
#-----------------------------------------------------------------------
# ATTENTION:
#
# This file does not enable MPI in the binary, this is just OpenMP
# only. To enable MPI calls add -DHAVE_MPI to CPPFLAGS
#
#-----------------------------------------------------------------------
MINIFE_TYPES = \
-DMINIFE_SCALAR=double \
-DMINIFE_LOCAL_ORDINAL=int \
-DMINIFE_GLOBAL_ORDINAL=int
#MINIFE_MATRIX_TYPE = -DMINIFE_CSR_MATRIX
#MINIFE_MATRIX_TYPE = -DMINIFE_ELL_MATRIX
MINIFE_MATRIX_TYPE = -DMINIFE_SELL_MATRIX
#-----------------------------------------------------------------------
CFLAGS = -O3 -fopenmp -march=armv8-a+sve -static
CXXFLAGS = $(CFLAGS)
CPPFLAGS = -I. -I.. -I../../utils -I../../fem $(MINIFE_TYPES) $(MINIFE_MATRIX_TYPE)
LDFLAGS=
LIBS=
CXX=g++
CC=gcc
#-----------------------------------------------------------------------
include make_targets
#!/bin/bash
# usage:
# generate_info_header <compiler> <flags> <header_prefix> <macro_prefix>
# example:
# % generate_info_header g++ -O3 miniFE MINIFE
# this will cause the appropriate info to be put in a
# header named miniFE_info.hpp and the info will be in macros
# that start with MINIFE.
#
# an example of usage can be seen in miniFE/make_targets
#
if [ $# != 4 ] ; then
echo "error, need 4 arguments.";
exit 1;
fi
cxx=`which ${1}`
errcode="$?"
if [ ${errcode} != "0" ] ; then
cxx="unknown";
fi
echo "CXX: ${cxx}"
cxx_ver=`${1} --version 2>&1`
errcode="$?"
if [ ${errcode} != "0" ] ; then
cxx_ver=`${1} -V 2>&1`;
errcode="$?"
if [ ${errcode} != "0" ] ; then
cxx_ver="unknown";
fi
fi
cxx_ver=${cxx_ver// /@}
cxx_version=""
for i in $(echo ${cxx_ver});
do
if [ "$cxx_version" == "" ]; then
cxx_version=$i;
fi
done
cxx_version=${cxx_version//@/ }
echo "Compiler version: ${cxx_version}"
cxxflags=${2}
hostname=`uname -n`
errcode="$?"
if [ ${errcode} != "0" ] ; then
hostname="unknown";
fi
kern_name=`uname -s`
errcode="$?"
if [ ${errcode} != "0" ] ; then
kern_name="unknown";
fi
kern_rel=`uname -r`
errcode="$?"
if [ ${errcode} != "0" ] ; then
kern_rel="unknown";
fi
proc=`uname -p`
errcode="$?"
if [ ${errcode} != "0" ] ; then
proc="unknown";
fi
header_prefix=${3}
macro_prefix=${4}
cat << END_CAT > ${header_prefix}_info.hpp
#ifndef ${header_prefix}_info_hpp
#define ${header_prefix}_info_hpp
#define ${macro_prefix}_HOSTNAME "${hostname}"
#define ${macro_prefix}_KERNEL_NAME "'${kern_name}'"
#define ${macro_prefix}_KERNEL_RELEASE "'${kern_rel}'"
#define ${macro_prefix}_PROCESSOR "'${proc}'"
#define ${macro_prefix}_CXX "'${cxx}'"
#define ${macro_prefix}_CXX_VERSION "'${cxx_version}'"
#define ${macro_prefix}_CXXFLAGS "'${cxxflags}'"
#endif
END_CAT
#!/bin/bash
if [ -f ./YAML_Doc.cpp ] ; then
exit 0;
fi
dir=..
cp ${dir}/YAML_Doc.cpp .
cp ${dir}/YAML_Doc.hpp .
cp ${dir}/YAML_Element.cpp .
cp ${dir}/YAML_Element.hpp .
cp ${dir}/generate_info_header .
OBJS = \
BoxPartition.o \
YAML_Doc.o \
YAML_Element.o
UTIL_OBJS = \
param_utils.o \
utils.o \
mytimer.o
MAIN_OBJ = \
main.o
MINIFE_INFO = 1
MINIFE_KERNELS = 0
vpath %.cpp ../../utils
all:common_files generate_info miniFE.x
miniFE.x:common_files $(MAIN_OBJ) $(OBJS) $(UTIL_OBJS) $(OPTIONAL_OBJS) ../*.hpp generate_info
$(INSTRUMENT) $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(MAIN_OBJ) $(OBJS) $(UTIL_OBJS) $(OPTIONAL_OBJS) -o miniFE.x $(LDFLAGS) $(OPTIONAL_LIBS) $(LIBS)
common_files:
./get_common_files
generate_info:
./generate_info_header "$(CXX)" "$(CXXFLAGS)" "miniFE" "MINIFE"
verify:all
./run_tests
%.o:../%.cpp ../*.hpp
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -DMINIFE_INFO=$(MINIFE_INFO) -DMINIFE_KERNELS=$(MINIFE_KERNELS) -c $<
%.o:../%.c *.h
$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
clean:
rm -f *.o *.a *.x *.linkinfo miniFE_info.hpp
realclean: clean
rm -f gmon.out gprof.* *~ *.yaml *.TVD.* *.mtx* *.vec* minife_debug*
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment