Newer
Older
# Mondriaan global make settings.
# ==== Setup Mondriaan library settings ====
#
# These settings need to be set correctly for compilation to succeed!
#
# Absolute path of the directory which contains this file (included last in every Makefile in the subdirectories).
MONDRIAANHOMEDIR:= $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
# Gainbucket type must be either LIST or ARRAY
Marco van Oort
committed
GAINBUCKET_TYPE := ARRAY
# ==== Matlab support ====
#
# To enable Matlab support, please uncomment the following line and insert the correct (global) Matlab home directory and the correct suffix to Matlab MEX files for your architecture.
#
#MATLABHOMEDIR := /usr/local/matlab
MEXSUFFIX := mexa64
# ==== PaToH support ====
#
# To enable PaToH support, please uncomment the following line and insert the correct (global) PaToH home directory.
#
#PATOHHOMEDIR := /usr/local/patoh
# ==== Compiler flags ====
# Debug/verbose, standard (default), performance flags.
Marco van Oort
committed
CFLAGS := -DMONDRIAANVERSION=\"${MONDRIAANCURRENTVERSION}\" -DGAINBUCKET_${GAINBUCKET_TYPE}
#CFLAGS := ${CFLAGS} -Wall -Wextra -Wshadow -Wno-unused-parameter -ansi -pedantic -O2 -DTIME -DUNIX -DINFO -g
#CFLAGS := ${CFLAGS} -Wall -O2
CFLAGS := ${CFLAGS} -Wall -O3 -ffast-math -funroll-loops -fomit-frame-pointer -std=c99
Marco van Oort
committed
#CFLAGS := ${CFLAGS} -Wall -O3 -pg -ffast-math -funroll-loops -std=c99
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# ==== Standard compilation options (it should not be necessary to change these) ====
ifdef MONDRIAANHOMEDIR
MONDRIAANCOMPILEINFO := ==== Mondriaan ${MONDRIAANMAJORVERSION} version ${MONDRIAANCURRENTVERSION} ====
else
MONDRIAANCOMPILEINFO := !!!! The Mondriaan GLOBAL HOME DIRECTORY has not been set in mondriaan.mk! !!!!
endif
MONDRIAANINCLUDEDIR := ${MONDRIAANHOMEDIR}/src/include
MONDRIAANLIBDIR := ${MONDRIAANHOMEDIR}/src/lib
CC := gcc
CFLAGS := ${CFLAGS} -I${MONDRIAANINCLUDEDIR}
LIBS := -L${MONDRIAANLIBDIR} -lMondriaan${MONDRIAANMAJORVERSION}
# Matlab specific settings.
# Based on Peter Carbonetto's example Makefile for creating Matlab MEX executables.
ifdef MATLABHOMEDIR
MONDRIAANCOMPILEINFO := ${MONDRIAANCOMPILEINFO} + Matlab
CFLAGS := -DUSE_MATLAB -fPIC -pthread ${CFLAGS}
MEX := ${MATLABHOMEDIR}/bin/mex
MEXCFLAGS := ${CFLAGS} -fPIC -pthread -DMATLAB_MEX_FILE -I${MATLABHOMEDIR}/extern/include
MEXFLAGS := CC='${CC}' LD='${CC}' -cxx -largeArrayDims
endif
# PaToH specific settings.
ifdef PATOHHOMEDIR
MONDRIAANCOMPILEINFO := ${MONDRIAANCOMPILEINFO} + PaToH
CFLAGS := -DUSE_PATOH -I${PATOHHOMEDIR} ${CFLAGS}
LIBS := ${LIBS} -L${PATOHHOMEDIR} -lpatoh
endif
LIBS := ${LIBS} -lm