Commit eb6e0d38 authored by Naumann, Andreas's avatar Naumann, Andreas

preparation for demo packing, part II

parent 2822a5f8
......@@ -12,7 +12,7 @@ if(AMDiS_FOUND)
endif(AMDiS_FOUND)
option(USE_PARALLEL "check if the parallel demo are also used" false)
option(USE_OPENMP "check if amdis is compiled with openmp" false)
#option(USE_OPENMP "check if amdis is compiled with openmp" false)
if(USE_PARALLEL)
#Message("look for mpi package")
......@@ -35,41 +35,14 @@ if(USE_PARALLEL)
target_link_libraries(parallelheat ${BASIS_LIBS})
endif(USE_PARALLEL)
SET(ELLIPT_SRC src/ellipt.cc)
SET(HEAT_SRC src/heat.cc)
SET(VECELLIPT_SRC src/vecellipt.cc)
SET(VECHEAT_SRC src/vecheat.cc)
SET(SPHERE_SRC src/sphere.cc)
SET(BALL_SRC src/ball.cc)
SET(PARAMETRIC_SRC src/parametric.cc)
SET(TORUS_SRC src/torus.cc)
SET(BUNNY_SRC src/bunny.cc)
SET(PERIODIC_SRC src/periodic.cc)
#SET(COUPLE_SRC src/couple.cc)
add_executable(ellipt ${ELLIPT_SRC})
add_executable(heat ${HEAT_SRC})
add_executable(vecellipt ${VECELLIPT_SRC})
add_executable(vecheat ${VECHEAT_SRC})
add_executable(sphere ${SPHERE_SRC})
add_executable(ball ${BALL_SRC})
add_executable(parametric ${PARAMETRIC_SRC})
add_executable(torus ${TORUS_SRC})
add_executable(bunny ${BUNNY_SRC})
add_executable(periodic ${PERIODIC_SRC})
#add_executable(couple ${COUPLE_SRC})
target_link_libraries(ellipt ${BASIS_LIBS})
target_link_libraries(heat ${BASIS_LIBS})
target_link_libraries(vecellipt ${BASIS_LIBS})
target_link_libraries(vecheat ${BASIS_LIBS})
target_link_libraries(sphere ${BASIS_LIBS})
target_link_libraries(ball ${BASIS_LIBS})
target_link_libraries(parametric ${BASIS_LIBS})
target_link_libraries(torus ${BASIS_LIBS})
target_link_libraries(bunny ${BASIS_LIBS})
target_link_libraries(periodic ${BASIS_LIBS})
#target_link_libraries(couple ${BASIS_LIBS})
set(DONTBUILD "couple" "parallelellipt" "parallelheat")
file(GLOB sources src/*.cc)
foreach(s ${sources})
get_filename_component(swe ${s} NAME_WE)
list(FIND DONTBUILD ${swe} DBUILD)
if( ${DBUILD} EQUAL -1 )
add_executable(${swe} ${s})
target_link_libraries(${swe} ${BASIS_LIBS})
endif()
endforeach(s)
SHELL = /bin/sh
# ============================================================================
# ===== flags and directories (to be modified by the user) ===================
# ============================================================================
USE_PARALLEL_AMDIS = 0 # 1 if AMDiS was compiled with parallel support, 0 otherwise
USE_OPENMP = 0 # 1 if AMDiS was compiled with OpenMP support, 0 otherwise
USE_UMFPACK = 1 # 1 if AMDiS was compiled with UMFPACK library, 0 otherwise
USE_MKL = 0 # 1 if AMDiS was compiled with Intel MKL library, 0 otherwise
USE_SERVER = # mars, deimos or themisto. If no special server blank
USE_COMPILER = gcc # gcc or icc
DEBUG = 0
AMDIS_DIR = ../AMDiS
MPI_DIR = # on mars, deimos or themisto, leave this field blank
#==== standard definitions and rules to compile AMDiS user programs ==========
include $(AMDIS_DIR)/other/include/Makefile_AMDiS.mk
# ============================================================================
# ===== user programs ========================================================
# ============================================================================
PROGRAMS = ellipt heat vecellipt vecheat sphere ball parametric torus bunny
VPATH = .:./src
# ===== ellipt ============================================================
ELLIPT_OFILES = ellipt.o
ellipt: $(ELLIPT_OFILES)
$(LINK) $(CPPFLAGS) -o ellipt $(ELLIPT_OFILES) $(LIBS)
# ===== heat ============================================================
HEAT_OFILES = heat.o
heat: $(HEAT_OFILES)
$(LINK) $(CPPFLAGS) $(LDFLAGS) -o heat $(HEAT_OFILES) $(LIBS)
# ===== vecellipt ============================================================
VECELLIPT_OFILES = vecellipt.o
vecellipt: $(VECELLIPT_OFILES)
$(LINK) $(CPPFLAGS) $(LDFLAGS) -o vecellipt $(VECELLIPT_OFILES) $(LIBS)
# ===== vecheat ============================================================
VECHEAT_OFILES = vecheat.o
vecheat: $(VECHEAT_OFILES)
$(LINK) $(CPPFLAGS) $(LDFLAGS) -o vecheat $(VECHEAT_OFILES) $(LIBS)
# ===== sphere ============================================================
SPHERE_OFILES = sphere.o
sphere: $(SPHERE_OFILES)
$(LINK) $(CPPFLAGS) $(LDFLAGS) -o sphere $(SPHERE_OFILES) $(LIBS)
# ===== bunny ============================================================
BUNNY_OFILES = bunny.o
bunny: $(BUNNY_OFILES)
$(LINK) $(CPPFLAGS) $(LDFLAGS) -o bunny $(BUNNY_OFILES) $(LIBS)
# ===== torus ============================================================
TORUS_OFILES = torus.o
torus: $(TORUS_OFILES)
$(LINK) $(CPPFLAGS) $(LDFLAGS) -o torus $(TORUS_OFILES) $(AMDIS_LIB) $(LIBS)
# ===== ball ============================================================
BALL_OFILES = ball.o
ball: $(BALL_OFILES)
$(LINK) $(CPPFLAGS) $(LDFLAGS) -o ball $(BALL_OFILES) $(LIBS)
# ===== parametric ============================================================
PARAMETRIC_OFILES = parametric.o
parametric: $(PARAMETRIC_OFILES)
$(LINK) $(CPPFLAGS) $(LDFLAGS) -o parametric $(PARAMETRIC_OFILES) $(LIBS)
# ===== periodic ============================================================
PERIODIC_OFILES = periodic.o
periodic: $(PERIODIC_OFILES)
$(LINK) $(CPPFLAGS) $(LDFLAGS) -o periodic $(INCLUDES) $(PERIODIC_OFILES) $(LIBS)
# ===== parallelellipt =======================================================
PARALLELELLIPT_OFILES = parallelellipt.o
parallelellipt: $(PARALLELELLIPT_OFILES)
$(LINK) $(CPPFLAGS) -o parallelellipt $(PARALLELELLIPT_OFILES) $(LIBS) $(PARMETIS_LIB)
# ===== parallelheat =======================================================
PARALLELHEAT_OFILES = parallelheat.o
parallelheat: $(PARALLELHEAT_OFILES)
$(LINK) $(CPPFLAGS) -o parallelheat $(PARALLELHEAT_OFILES) $(LIBS) $(PARMETIS_LIB)
# ===== couple ============================================================
COUPLE_OFILES = couple.o
couple: $(COUPLE_OFILES)
$(LINK) $(CPPFLAGS) -o couple $(COUPLE_OFILES) $(LIBS)
# ===== neumann ============================================================
NEUMANN_OFILES = neumann.o
neumann: $(NEUMANN_OFILES)
$(LINK) $(CPPFLAGS) -o neumann $(NEUMANN_OFILES) $(LIBS)
This readme shortly explains how to use the different buildsystems.
Currently (November 2010) we provide a CMake and a libtool version.
Each buildsystem uses it own configuration file:
buildsystem configfile
cmake CMakeLists.txt
libtool Makefile_libtool
The cmake system will generate a new Makefile, thus if we would use
simple Makefile for libtool, the libtool configuration would be overidden.
LIBTOOL version
The libtool version requires
* AMDiS was build with libtool
(i.e.: configure --prefix=`pwd` ; make ; make install )
* The prefix MUST be the AMDiS-directory
* The AMDiS directory should be ../AMDiS. But you can change the
variable AMDIS_DIR (see line 15 in the libtool configuration file).
If those requirements are fullfilled, you can compile all demos with
make -f Makefile_libtool
or a subset {demo1, demo2} with
make -f Makefile_libtoo demo1 demo2
CMAKE version
The cmake version requires
* AMDiS was build and installed using cmake or downloaded from www.simunova.com
or installed from a package from http://www.simunova.com. For more information,
simply have a look at http://www.simunova.com.
To use the cmake buildsystem, simply run
cmake .
If your cmake complains about not to find AMDiS, you have at least two ways:
1. run cmake -DAMDiS_DIR=<path-to-AMDiS> .
2. run a graphic cmake tool (i.e. ccmake, cmake-gui, ...) and select your amdis
configuration directory <path-to-AMDiS>
HINT: The <path-to-AMDiS> is the directoy containing the file AMDiSConfig.cmake.
If you installed AMDiS with a package manager, cmake should already find AMDiS.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment