forked from svrnm/parallelGBC
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.rules
55 lines (47 loc) · 2.24 KB
/
Makefile.rules
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# Makefile.rules for parallelGBC 0.2 and later
#
# With this file you can configure the compilation of the tool.
#
# This file is part of parallelGBC, a parallel groebner basis computation tool.
#
# parallelGBC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# parallelGBC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with parallelGBC. If not, see <http://www.gnu.org/licenses/>.
# Set your Compiler. Attention you need a compiler which supports the C++11 standard
CXX = /usr/bin/g++
# !!!!!!!!!!!!!!!!!!!!!!! TO BE CHANGED IN LELA is needed!!!!!!!!!!!!!!!!!!!!!!!
LELA_CFLAGS=
#-I/GITHUB/w/LELA/include -D'HAVE_LELA=1'
LELA_LIBS=
#-L/GITHUB/w/LELA/lib /GITHUB/w/LELA/lib/liblela.a -lgmp -lgmpxx -lpng -lm4ri -lcblas
# Configure CXXFLAGS. If you want to use parallelism do not remove "-fopenmp"
# F4_THREADS is only a default parameter, the thread count can also be set at runtime.
# COEFF_BITS defines the length of the coefficents. If you need fields larger than 32003,
# you have to use 32 oder 64.
# F4_USE_SSE1 enables sse optimizations in the field arithmetics (currently requires GCC)
#
# the following CXXFLAGS are for the GNU COMPILER:
# CXXFLAGS = -fPIC -Wall -fopenmp -O2 -march=native -pipe -D'F4_THREADS=1' -D'F4_COEFF_BITS=16' -D'F4_USE_SSE=1' -std=c++0x $(LELA_CFLAGS)
# DEBUG FLAGS:
CXXFLAGS = -fPIC -Wall -g -O0 -D'F4_THREADS=0' -D'F4_COEFF_BITS=16' -D'F4_USE_SSE=0' -std=c++0x $(LELA_CFLAGS)
# -pg -g3 -gdwarf-2
# Where the compiled (static) library will be stored.
LIBRARY = ../lib/libf4.a
# Below you find some generic make rules ...
dummy:
echo "Please use the Makefile in the main directory or specify a target"
%.o: %.C ../include/%.H ../Makefile.rules
$(CXX) $(CXXFLAGS) -c $<
%.bin: %.C $(LIBRARY)
$(CXX) $(CXXFLAGS) -o $(<:%.C=%.bin) $< $(LIBRARY) $(LELA_LIBS) -lboost_regex
objclean:
rm -f $(OBJ)