--- Makefile.orig 2017-09-28 07:44:12.000000000 -0600
+++ Makefile 2018-04-12 21:33:16.347207853 -0600
@@ -125,7 +125,7 @@ OPTFLAGS = -DGMPRATIONAL -Wuninitial
#OPTFLAGS = -DGMPRATIONAL -Wuninitialized -fno-omit-frame-pointer -O3 -msse2 -ftree-vectorizer-verbose=2 -ffast-math #-DNDEBUG
#OPTFLAGS = -DGMPRATIONAL -Wuninitialized -fno-omit-frame-pointer -O3 -mavx -msse2 -ftree-vectorizer-verbose=2 -ffast-math #-DNDEBUG
-CFLAGS = $(OPTFLAGS) $(GPROFFLAG) $(STACTDUMP_OPTIONS) $(ADDITIONALINCLUDEOPTIONS) -std=c++0x -g $(CDDDEFINE_PREFIX) #-pedantic
+CFLAGS = $(OPTFLAGS) $(GPROFFLAG) $(STACTDUMP_OPTIONS) $(ADDITIONALINCLUDEOPTIONS) -std=c++11 -g $(CDDDEFINE_PREFIX) #-pedantic
#CFLAGS = $(OPTFLAGS) $(GPROFFLAG) $(STACTDUMP_OPTIONS) $(ADDITIONALINCLUDEOPTIONS) -D_GLIBCXX_DEBUG -std=c++0x -g $(CDDDEFINE_PREFIX) #-pedantic
CCFLAGS = $(CFLAGS)
FFLAGS = $(OPTFLAGS)
@@ -211,15 +211,6 @@ CATSOBJECTS = lp_cdd.o \
tropicaldeterminant.o \
determinantpoly.o \
traverser_sphere.o \
- gfanlib_zcone.o \
- gfanlib_symmetry.o \
- gfanlib_symmetriccomplex.o \
- gfanlib_polyhedralfan.o \
- gfanlib_zfan.o \
- gfanlib_polymakefile.o \
- gfanlib_mixedvolume.o \
- gfanlib_circuittableint.o \
- gfanlib_paralleltraverser.o \
padic.o \
integergb.o \
traverser_resultantfan.o \
@@ -227,7 +218,6 @@ CATSOBJECTS = lp_cdd.o \
traverser_resultantfanspecialization.o \
myassert.o \
traverser_bsptree.o \
- gfanlib_traversal.o \
tropicalcurve.o \
packedmonomial.o \
gmpallocator.o \
@@ -387,14 +377,24 @@ GFANLIBFILES= gfanlib.h \
gfanlib_tropicalhomotopy.h \
# gfanlib_tableau.h \ we do not yet support this one
+GFANLIBOBJECTS = gfanlib_polyhedralfan.o \
+ gfanlib_zcone.o \
+ gfanlib_symmetriccomplex.o \
+ gfanlib_polymakefile.o \
+ gfanlib_zfan.o \
+ gfanlib_symmetry.o \
+ gfanlib_circuittableint.o \
+ gfanlib_mixedvolume.o \
+ gfanlib_paralleltraverser.o \
+ gfanlib_traversal.o
EXECS = $(MAIN)
# When compiling symmetrictraversal.cpp as any other file, it causes the program to crash in certain situations.
# (compiling with gcc version 4.7.2 and running gfan _tropicaltraverse on a starting cone for Grassmann3_7)
# Either this is a bug in the code or in the compiler. The bug disappears by compiling with -fno-guess-branch-probability
-src/symmetrictraversal.o: src/symmetrictraversal.cpp
- $(CXX) $(CFLAGS) -fno-guess-branch-probability -c src/symmetrictraversal.cpp -o src/symmetrictraversal.o
+#src/symmetrictraversal.o: src/symmetrictraversal.cpp
+# $(CXX) $(CFLAGS) -fno-guess-branch-probability -c src/symmetrictraversal.cpp -o src/symmetrictraversal.o
# If compiling with clang, use the line below instead:
# $(CXX) $(CFLAGS) -c src/symmetrictraversal.cpp -o src/symmetrictraversal.o
@@ -406,6 +406,7 @@ OBJECTS = $(addprefix src/,$(SOPLEX_OBJ
$(SAGE_OBJECTS) \
$(addprefix src/,$(CATSOBJECTS)) \
$(addprefix src/,$(APPOBJECTS)) \
+ src/libgfan.so \
src/symmetrictraversal.o
all: $(MAIN)
@@ -420,7 +421,42 @@ default: $(OBJECTS) $(ADDITIONALOBJECTS)
$(MAIN): $(OBJECTS)
# $(CCLINKER) $(OBJECTS) $(ADDITIONALLINKOPTIONS) $(GPROFFLAG) -lpthread -o $(MAIN)
- $(CCLINKER) $(OBJECTS) $(ADDITIONALLINKOPTIONS) $(GPROFFLAG) -lpthread -rdynamic -o $(MAIN)
+ $(CCLINKER) $(OBJECTS) $(ADDITIONALLINKOPTIONS) $(GPROFFLAG) -L src -lgfan -lpthread -o $(MAIN)
+
+src/libgfan.so: $(addprefix src/,$(GFANLIBOBJECTS))
+ $(CCLINKER) $(CCFLAGS) $(ADDITIONALLINKOPTIONS) -shared -Wl,-h,libgfan.so.0 -o src/libgfan.so.0.0.0 $^ -lgmp -lpthread
+ ln -s libgfan.so.0.0.0 src/libgfan.so.0
+ ln -s libgfan.so.0 src/libgfan.so
+
+src/gfanlib_polyhedralfan.o: src/gfanlib_polyhedralfan.cpp
+ $(CXX) $(CCFLAGS) -fPIC -c $< -o $@
+
+src/gfanlib_zcone.o: src/gfanlib_zcone.cpp
+ $(CXX) $(CCFLAGS) -fPIC -c $< -o $@
+
+src/gfanlib_symmetriccomplex.o: src/gfanlib_symmetriccomplex.cpp
+ $(CXX) $(CCFLAGS) -fPIC -c $< -o $@
+
+src/gfanlib_polymakefile.o: src/gfanlib_polymakefile.cpp
+ $(CXX) $(CCFLAGS) -fPIC -c $< -o $@
+
+src/gfanlib_zfan.o: src/gfanlib_zfan.cpp
+ $(CXX) $(CCFLAGS) -fPIC -c $< -o $@
+
+src/gfanlib_symmetry.o: src/gfanlib_symmetry.cpp
+ $(CXX) $(CCFLAGS) -fPIC -c $< -o $@
+
+src/gfanlib_circuittableint.o: src/gfanlib_circuittableint.cpp
+ $(CXX) $(CCFLAGS) -fPIC -c $< -o $@
+
+src/gfanlib_mixedvolume.o: src/gfanlib_mixedvolume.cpp
+ $(CXX) $(CCFLAGS) -fPIC -c $< -o $@
+
+src/gfanlib_paralleltraverser.o: src/gfanlib_paralleltraverser.cpp
+ $(CXX) $(CCFLAGS) -fPIC -c $< -o $@
+
+src/gfanlib_traversal.o: src/gfanlib_traversal.cpp
+ $(CXX) $(CCFLAGS) -fPIC -c $< -o $@
release:
rm -f -r $(RELEASEDIR)/*