20
SAGE_LINKOPTIONS = -L$(sagepath)/ -lpython2.6 -lcsage -lsingular
21
SAGE_INCLUDEOPTIONS = -I $(sagepath)/
22
SAGE_OBJECTS = sage.o sage_link.so
24
sage_link.so: sage_link.pyx setup.py
25
python setup.py build_ext --inplace --pyrex-include-dirs=$(SAGE_ROOT)/devel/sage/
29
GMP_LINKOPTIONS = -lgmp
32
GMP_LINKOPTIONS = $(gmppath)/lib/libgmp.a
33
GMP_INCLUDEOPTIONS = -I $(gmppath)/include
37
CDD_LINKOPTIONS = -L/usr/local -lcddgmp
40
CDD_LINKOPTIONS = $(cddpath)/lib/libcddgmp.a
41
CDD_INCLUDEOPTIONS = -I $(cddpath)/include
47
SOPLEX_INCLUDEOPTIONS =
50
SOPLEX_PATH = $(HOME)/math/software/soplex-1.3.2
51
# SOPLEX_LINKOPTIONS = -lz $(SOPLEX_PATH)/lib/libsoplex.linux.x86.gnu.opt.a
52
SOPLEX_LINKOPTIONS = -lz $(SOPLEX_PATH)/lib/libsoplex.darwin.x86.gnu.opt.a
53
SOPLEX_INCLUDEOPTIONS = -I $(SOPLEX_PATH)/src
54
SOPLEX_OBJECTS = lp_soplexcdd.o
59
SINGULAR_LINKOPTIONS =
60
SINGULAR_INCLUDEOPTIONS =
63
SINGULAR_PATH = $(HOME)/math/software/Singular-3-1-0
64
SINGULAR_LINKOPTIONS = -L$(SINGULAR_PATH)/Singular -lsingular -lncurses -lreadline
65
SINGULAR_INCLUDEOPTIONS = -I $(SINGULAR_PATH)/kernel -I $(SINGULAR_PATH)/omalloc
66
SINGULAR_OBJECTS = singular.o singularconversion.o
71
ADDITIONALLINKOPTIONS = $(CDD_LINKOPTIONS) $(GMP_LINKOPTIONS) $(SOPLEX_LINKOPTIONS) $(SINGULAR_LINKOPTIONS) $(SAGE_LINKOPTIONS)
72
ADDITIONALINCLUDEOPTIONS = $(CDD_INCLUDEOPTIONS) $(GMP_INCLUDEOPTIONS) $(SOPLEX_INCLUDEOPTIONS) $(SINGULAR_INCLUDEOPTIONS) $(SAGE_INCLUDEOPTIONS)
84
#OPTFLAGS = -O2 -DGMPRATIONAL -DNDEBUG
85
OPTFLAGS = -O2 -DGMPRATIONAL -Wuninitialized
87
CFLAGS = $(OPTFLAGS) $(GPROFFLAG) $(ADDITIONALINCLUDEOPTIONS) #-pedantic
91
CATSOBJECTS = $(GCATSPATH)lp_cdd.o \
95
$(GCATSPATH)parser.o \
97
$(GCATSPATH)monomial.o \
98
$(GCATSPATH)printer.o \
99
$(GCATSPATH)polynomial.o \
100
$(GCATSPATH)termorder.o \
102
$(GCATSPATH)vektor.o \
103
$(GCATSPATH)division.o \
104
$(GCATSPATH)buchberger.o \
105
$(GCATSPATH)wallideal.o \
107
$(GCATSPATH)enumeration.o \
108
$(GCATSPATH)ep_standard.o \
109
$(GCATSPATH)ep_xfig.o \
110
$(GCATSPATH)reversesearch.o \
111
$(GCATSPATH)application.o \
112
$(GCATSPATH)timer.o \
113
$(GCATSPATH)renderer.o \
114
$(GCATSPATH)field_rationals.o \
115
$(GCATSPATH)symmetry.o \
116
$(GCATSPATH)breadthfirstsearch.o \
117
$(GCATSPATH)genericwalk.o \
118
$(GCATSPATH)minkowskisum.o \
119
$(GCATSPATH)newtonpolytope.o \
120
$(GCATSPATH)tropical.o \
121
$(GCATSPATH)dimension.o \
122
$(GCATSPATH)bergman.o \
123
$(GCATSPATH)subspace.o \
124
$(GCATSPATH)polyhedralcone.o \
125
$(GCATSPATH)gfanapplication.o \
126
$(GCATSPATH)polyhedralfan.o \
127
$(GCATSPATH)tropical2.o \
128
$(GCATSPATH)gmpallocator.o \
129
$(GCATSPATH)field_zmodpz.o \
148
continuedfractions.o \
151
regularsubdivision.o \
153
field_rationalfunctions.o \
154
tropical_weildivisor.o \
158
restrictedautoreduction.o \
163
codimoneconnectedness.o \
165
symmetrictraversal.o \
166
traverser_tropical.o \
167
traverser_groebnerfan.o \
168
field_rationalfunctions2.o \
170
traverser_stableintersection.o \
171
traverser_secondaryfan.o \
173
primarydecomposition.o \
174
tropicaldeterminant.o \
179
gfanlib_symmetriccomplex.o \
180
gfanlib_polyhedralfan.o \
182
gfanlib_polymakefile.o \
187
APPDELETEOBJECTS = app_add.o \
188
app_berndssuggestion.o \
189
app_grassmanndata2.o \
190
app_grassmanndata3.o \
193
app_edwinsconjecture.o \
195
app_grassmanndata.o \
196
app_groupfacetbinomials.o \
197
app_istriangulation.o \
199
app_markpolynomialset.o \
201
app_polytopetopolynomial.o \
202
app_rendernewtonpolytope.o \
204
app_xfigconstruction.o \
205
app_liststandardmonomials.o \
206
# app_isrefinement.o \ # needs to be fixed so that it compiles with gcc version 2.96 (legolas.imf.au.dk)
209
APPOBJECTS = app_main.o \
211
app_doesidealcontain.o \
214
app_homogeneityspace.o \
218
app_isgroebnerbasis.o \
219
app_ismarkedgroebnerbasis.o \
220
app_krulldimension.o \
222
app_multiplymatrix.o \
223
app_polynomialsetunion.o \
225
app_renderstaircase.o \
228
app_supportindices.o \
230
app_transposematrix.o \
231
app_tropicalbasis.o \
232
app_tropicalintersection.o \
233
app_tropicalstartingcone.o \
234
app_tropicaltraverse.o \
237
app_scarfisgeneric.o \
238
app_scarfvisualize.o \
240
app_sturmsequence.o \
243
app_tropicalmultiplicity.o \
244
app_idealintersection.o \
248
app_representatives.o \
249
app_tropicallifting.o \
250
app_topolyhedralfan.o \
251
app_tropicalbruteforce.o \
253
app_composepermutations.o \
258
app_tropicallinearspace.o \
260
app_regularsubdivision.o \
262
app_tropicalweildivisor.o \
264
app_intsinpolytope.o\
265
app_tropicalevaluation.o \
271
app_normalfancleanup.o \
272
app_tropicalfunction.o \
275
app_tropicalhypersurface.o \
277
app_commonrefinement.o \
278
app_tropicalimage.o \
281
app_genericlinearchange.o \
283
app_fiberpolytope.o \
286
app_exponentlattice.o \
287
app_minimalassociatedprimes.o \
289
app_initialdeterminant.o \
293
app_fancoarsening.o \
294
app_pointconfiguration.o \
298
app_matrixproduct.o \
299
app_traversetropicalintersection.o \
300
app_markpolynomialset.o \
304
# Define suffixes to make the program compile on legolas.imf.au.dk :
305
.SUFFIXES: .o .cpp .c
307
OBJECTS = $(CATSOBJECTS) $(APPOBJECTS)
317
default: $(OBJECTS) $(ADDITIONALOBJECTS) $(EXECS)
320
$(CCLINKER) $(OBJECTS) $(ADDITIONALLINKOPTIONS) $(GPROFFLAG) -o $(MAIN)
323
rm -f -r $(RELEASEDIR)/*
324
mkdir -p $(RELEASEDIR)
325
cp *.cpp $(RELEASEDIR)
327
cp Makefile $(RELEASEDIR)
328
cp macmake $(RELEASEDIR)
329
cp README $(RELEASEDIR)
330
cp LICENSE $(RELEASEDIR)
331
cp COPYING $(RELEASEDIR)
333
mkdir -p $(RELEASEDIR)/gfanlib
334
cp gfanlib/Makefile $(RELEASEDIR)/gfanlib/
335
cp gfanlib/Makefile.in $(RELEASEDIR)/gfanlib/
336
cp gfanlib/README.txt $(RELEASEDIR)/gfanlib/
337
cp gfanlib/configure $(RELEASEDIR)/gfanlib/
338
cp gfanlib/configure.ac $(RELEASEDIR)/gfanlib/
340
cp Doxyfile $(RELEASEDIR)
341
echo const char *GFAN_RELEASEDIR=\"$(RELEASEDIR)\"";" const char *GFAN_FORKTIME= >$(RELEASEDIR)/versioninfo.h
342
date "+\"%s %a %h %d %H:%M:%S %Y\"" >>$(RELEASEDIR)/versioninfo.h
343
echo ";" >>$(RELEASEDIR)/versioninfo.h
344
mkdir -p $(RELEASEDIR)/examples/
346
cp examples/2x2of2x3 $(RELEASEDIR)/examples/
347
cp examples/2x2of2x4 $(RELEASEDIR)/examples/
348
cp examples/2x2of3x3 $(RELEASEDIR)/examples/
349
cp examples/2x2of4x4 $(RELEASEDIR)/examples/
350
cp examples/4x4of4x5 $(RELEASEDIR)/examples/
351
cp examples/4x4of5x5 $(RELEASEDIR)/examples/
352
cp examples/6x6-subPfaffians $(RELEASEDIR)/examples/
353
cp examples/cyclic4 $(RELEASEDIR)/examples/
354
cp examples/linhyper5_2 $(RELEASEDIR)/examples/
355
cp examples/linhyper5_2.cone $(RELEASEDIR)/examples/
356
cp examples/pablo $(RELEASEDIR)/examples/
357
cp examples/symmetryTest $(RELEASEDIR)/examples/
358
#Examples in Groebner fan paper:
359
cp examples/examplePaper $(RELEASEDIR)/examples/
360
cp examples/sturmfels3.9 $(RELEASEDIR)/examples/
361
cp examples/3x3of3x4 $(RELEASEDIR)/examples/
362
cp examples/3x3of3x5 $(RELEASEDIR)/examples/
363
cp examples/3x3of4x4 $(RELEASEDIR)/examples/
364
# cp examples/3x3of4x4sym $(RELEASEDIR)/examples/
365
cp examples/grassmann2_5 $(RELEASEDIR)/examples/
366
cp examples/cyclic5 $(RELEASEDIR)/examples/
367
# cp examples/J4 $(RELEASEDIR)/examples/
368
#Examples useful for tropical computations:
369
# cp examples/grassmann2_5 $(RELEASEDIR)/examples/
370
cp examples/grassmann2_5.cone $(RELEASEDIR)/examples/
371
cp examples/grassmann2_6 $(RELEASEDIR)/examples/
372
cp examples/grassmann2_6.cone $(RELEASEDIR)/examples/
373
cp examples/grassmann3_6 $(RELEASEDIR)/examples/
374
cp examples/grassmann3_6.cone $(RELEASEDIR)/examples/
375
#Examples in tropical paper:
376
cp examples/hankel3x3of4x4 $(RELEASEDIR)/examples/
377
cp examples/hankel3x3of4x4.cone $(RELEASEDIR)/examples/
378
cp examples/hankel3x3of4x5 $(RELEASEDIR)/examples/
379
cp examples/hankel3x3of4x5.cone $(RELEASEDIR)/examples/
380
# cp examples/hankel3x3of5x5 $(RELEASEDIR)/examples/
381
# cp examples/hankel3x3of5x5.cone $(RELEASEDIR)/examples/
382
cp examples/3x3of3x5.cone $(RELEASEDIR)/examples/
383
# cp examples/3x3of4x4sym $(RELEASEDIR)/examples/
384
cp examples/3x3of4x4sym.cone $(RELEASEDIR)/examples/
385
# cp examples/3x3of5x5sym $(RELEASEDIR)/examples/
386
# cp examples/3x3of5x5sym.cone $(RELEASEDIR)/examples/
387
cp examples/commat2x2 $(RELEASEDIR)/examples/
388
cp examples/commat2x2.cone $(RELEASEDIR)/examples/
389
# cp examples/commat3x3 $(RELEASEDIR)/examples/
390
# cp examples/commat3x3.cone $(RELEASEDIR)/examples/
392
cp -r testsuite $(RELEASEDIR)/
394
mkdir -p $(RELEASEDIR)/doc/
395
cp doc/Makefile $(RELEASEDIR)/doc/
396
cp doc/*.bib $(RELEASEDIR)/doc/
397
cp doc/*.bbl $(RELEASEDIR)/doc/
398
cp doc/*.tex $(RELEASEDIR)/doc/
399
cp doc/*.dvi $(RELEASEDIR)/doc/
400
cp doc/*.eps $(RELEASEDIR)/doc/
401
cp doc/*.bst $(RELEASEDIR)/doc/
402
cp doc/Makefile $(RELEASEDIR)/doc/
403
mkdir -p $(RELEASEDIR)/homepage/
404
cp homepage/*.png $(RELEASEDIR)/homepage/
405
cp homepage/*.html $(RELEASEDIR)/homepage/
406
cp homepage/Makefile $(RELEASEDIR)/homepage/
407
mkdir -p $(RELEASEDIR)/homepage/presentation
408
cp homepage/presentation/*.fig $(RELEASEDIR)/homepage/presentation/
409
cp homepage/presentation/*.tex $(RELEASEDIR)/homepage/presentation/
410
cp homepage/presentation/*.eps $(RELEASEDIR)/homepage/presentation/
411
cp homepage/presentation/*.bib $(RELEASEDIR)/homepage/presentation/
412
cp homepage/presentation/*.bbl $(RELEASEDIR)/homepage/presentation/
413
cp homepage/presentation/*.ps $(RELEASEDIR)/homepage/presentation/
414
cp homepage/presentation/*.pdf $(RELEASEDIR)/homepage/presentation/
415
cp homepage/presentation/Makefile $(RELEASEDIR)/homepage/presentation/
417
tar -c $(RELEASEDIR) > $(RELEASEDIR).tar
418
gzip $(RELEASEDIR).tar
421
/bin/rm -f *.o $(EXECS) $(MAIN)
423
cp $(EXECS) $(BINDIR)
424
# cp $(EXECS) /usr/local/bin
425
# ./gfan installlinks --path $(BINDIR)/
426
cd $(BINDIR) && ./gfan installlinks
428
/bin/rm -f gfanlib/*.a
429
/bin/rm -f gfanlib/*.o
430
cp gfanlib.h gfanlib/
431
cp gfanlib_* gfanlib/
432
tar zcf - gfanlib > gfanlib.tar.gz
434
$(CC) $(CFLAGS) -c $<
438
$(CXX) $(CFLAGS) -c $<
441
# wget http://ftp.sunet.se/pub/gnu/gmp/gmp-4.2.2.tar.gz
442
# tar -xzvf gmp-4.2.2.tar.gz
444
# ./configure --prefix=$HOME/gmp
450
# wget ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cddlib-094d.tar.gz # THIS LINE DOES NOT WORK!
451
# tar -xzvf cddlib-094d.tar.gz
453
# ./configure --prefix="$HOME/cddlib" CFLAGS="-I$HOME/gmp/include -L$HOME/gmp/lib"