source: git/factory/Makefile.am @ d67fcad

spielwiese
Last change on this file since d67fcad was 419b39, checked in by Oleksandr Motsak <motsak@…>, 13 years ago
FIX: enable implicit templates for now (commented out the use of -fno-implicit-templates)
  • Property mode set to 100644
File size: 7.3 KB
Line 
1CXXTEMPLFLAGS      =  --no-exceptions ## -fno-implicit-templates
2
3INCLUDES = -I${top_srcdir} -I${top_srcdir}/.. -I${top_builddir} -I${top_builddir}/.. -I${srcdir} ${GMP_CFLAGS} ${NTL_CFLAGS}
4
5lib_LIBRARIES = libfactory.a libfactory_g.a
6
7libfactory_a_includedir=$(includedir)/factory
8libfactory_g_a_includedir=$(includedir)/factory
9
10libfactory_a_libdir=$(libdir)/factory
11libfactory_g_a_libdir=$(libdir)/factory
12
13libfactory_a_CXXFLAGS   = -O3 -fomit-frame-pointer --no-rtti ${CXXTEMPLFLAGS}
14libfactory_g_a_CXXFLAGS = -g -Wextra -Wall -pedantic -Wno-long-long ${CXXTEMPLFLAGS}
15
16# factory source files
17SOURCES = \
18                algext.cc \
19                canonicalform.cc \
20                cf_algorithm.cc \
21                cf_binom.cc \
22                cf_char.cc \
23                cf_chinese.cc \
24                cf_cyclo.cc \
25                cf_eval.cc \
26                cf_factor.cc \
27                cf_factory.cc \
28                cf_gcd.cc \
29                cf_gcd_smallp.cc \
30                cf_generator.cc \
31                cf_globals.cc \
32                cf_hnf.cc \
33                cf_inline.cc \
34                cf_irred.cc \
35                cf_iter.cc \
36                cf_iter_inline.cc \
37                cf_linsys.cc \
38                cf_map.cc \
39                cf_map_ext.cc \
40                cfNewtonPolygon.cc \
41                cfModResultant.cc \
42                cf_ops.cc \
43                cf_primes.cc \
44                cf_random.cc \
45                cf_resultant.cc \
46                cf_reval.cc \
47                cf_switches.cc \
48                cf_util.cc \
49                debug.cc \
50                DegreePattern.cc \
51                ExtensionInfo.cc \
52                facAlgExt.cc \
53                facBivar.cc \
54                fac_berlekamp.cc \
55                fac_cantzass.cc \
56                fac_distrib.cc \
57                fac_ezgcd.cc \
58                facFactorize.cc \
59                fac_iterfor.cc \
60                fac_multihensel.cc \
61                fac_multivar.cc \
62                fac_sqrfree.cc \
63                fac_univar.cc \
64                fac_util.cc \
65                facFqBivar.cc \
66                facFqBivarUtil.cc \
67                facFqFactorize.cc \
68                facFqFactorizeUtil.cc \
69                facFqSquarefree.cc \
70                facHensel.cc \
71                facIrredTest.cc \
72                fieldGCD.cc \
73                ffops.cc \
74                gf_tabutil.cc \
75                gfops.cc \
76                imm.cc \
77                int_cf.cc \
78                int_int.cc \
79                int_intdiv.cc \
80                int_poly.cc \
81                int_pp.cc \
82                int_rat.cc \
83                sm_sparsemod.cc \
84                sm_util.cc \
85                variable.cc \
86                NTLconvert.cc \
87                abs_fac.cc \
88                bifac.cc \
89                lgs.cc \
90                singext.cc \
91                parseutil.cc \
92                ftmpl_inst.cc \
93                factory.h factoryconf.h cplusplus.h \
94                readcf.yy
95
96
97libfactory_a_SOURCES = $(SOURCES)
98libfactory_g_a_SOURCES = $(SOURCES)
99
100# factory header files
101factory_headers = \
102                cf_assert.h \
103                canonicalform.h \
104                cf_algorithm.h \
105                cf_binom.h \
106                cf_defs.h \
107                cf_eval.h \
108                cf_factory.h \
109                cf_generator.h \
110                cf_globals.h \
111                cf_gcd_smallp.h \
112                cf_hnf.h \
113                cf_irred.h \
114                cf_iter.h \
115                cf_map.h \
116                cfNewtonPolygon.h \
117                cfModResultant.h \
118                cf_primes.h \
119                cf_primetab.h \
120                cf_random.h \
121                cf_reval.h \
122                cf_switches.h \
123                cf_util.h \
124                debug.h \
125                DegreePattern.h \
126                ExtensionInfo.h \
127                facAlgExt.h \
128                facBivar.h \
129                fac_berlekamp.h \
130                fac_cantzass.h \
131                fac_distrib.h \
132                facFactorize.h \
133                fac_iterfor.h \
134                fac_multivar.h \
135                fac_sqrfree.h \
136                fac_univar.h \
137                fac_util.h \
138                facFqBivar.h \
139                facFqBivarUtil.h \
140                facFqFactorize.h \
141                facFqFactorizeUtil.h \
142                facFqSquarefree.h \
143                facHensel.h \
144                facIrredTest.h \
145                fieldGCD.h \
146                ffops.h \
147                templates/ftmpl_list.h \
148                templates/ftmpl_matrix.h \
149                gf_tabutil.h \
150                gfops.h \
151                gmpext.h \
152                imm.h \
153                int_cf.h \
154                int_int.h \
155                int_poly.h \
156                int_pp.h \
157                int_rat.h \
158                sm_sparsemod.h \
159                sm_util.h \
160                timing.h \
161                variable.h \
162                NTLconvert.h \
163                bifac.h \
164                bifacConfig.h \
165                lgs.h \
166                algext.h \
167                singext.h
168
169noinst_HEADERS = $(factory_headers)
170
171# Documentation
172include $(top_srcdir)/aminclude.am
173
174doxysrc = $(SOURCES) parseutil.cc
175doxyincl = $(factory_headers) parseutil.h
176
177# doxygen targets
178doxy:           factory.cfg $(doxysrc) $(doxyincl)
179                doxygen $<
180
181doxyclean:
182                rm -rf doxygen
183
184# Support for building GF(q)-tables
185
186templatesrc =   \
187                ftmpl_array.cc \
188                ftmpl_factor.cc \
189                ftmpl_functions.h \
190                ftmpl_list.cc \
191                ftmpl_matrix.cc
192templateincl =  \
193                ftmpl_array.h \
194                ftmpl_factor.h \
195                ftmpl_list.h \
196                ftmpl_matrix.h
197
198# TODO:
199# gengftables needs libfactory.a and factory.h AND is needed for generating gftable...
200# somehow the current deps. seem to be broken...
201# moreover factory.h needs a lot more generated headers, which wouldn't be installed yet
202
203EXTRA_PROGRAMS = gengftables cplusplus
204
205
206gengftables_SOURCES = gengftables-conway.cc
207
208gengftables_LDADD = -L${builddir} -lfactory $(GMP_LIBS) $(NTL_LIBS)
209
210gftablesdir=$(datadir)/gftables
211gftables_DATA = gftables/10201 gftables/1024 gftables/10609 gftables/11449 \
212gftables/11881 gftables/121 gftables/12167 gftables/125 gftables/12769 \
213gftables/128 gftables/1331 gftables/1369 gftables/14641 \
214gftables/15625 gftables/16 gftables/16129 gftables/16384 \
215gftables/16807 gftables/1681 gftables/169 gftables/17161 gftables/1849 \
216gftables/18769 gftables/19321 gftables/19683 gftables/2048 \
217gftables/2187 gftables/2197 gftables/2209 gftables/22201 \
218gftables/22801 gftables/2401 gftables/243 gftables/24389 \
219gftables/24649 gftables/25 gftables/256 gftables/26569 gftables/27 \
220gftables/27889 gftables/2809 gftables/28561 gftables/289 \
221gftables/29791 gftables/29929 gftables/3125 gftables/32 gftables/32041 \
222gftables/32761 gftables/32768 gftables/343 gftables/3481 gftables/361 \
223gftables/36481 gftables/3721 gftables/37249 gftables/38809 \
224gftables/39601 gftables/4 gftables/4096 gftables/44521 gftables/4489 \
225gftables/49 gftables/4913 gftables/49729 gftables/5041 \
226gftables/50653 gftables/512 gftables/51529 gftables/52441 gftables/529 \
227gftables/5329 gftables/54289 gftables/57121 gftables/58081 \
228gftables/59049 gftables/6241 gftables/625 gftables/63001 \
229gftables/64 gftables/6561 gftables/6859 gftables/6889 gftables/729 \
230gftables/7921 gftables/8 gftables/81 gftables/8192 gftables/841 \
231gftables/9 gftables/9409 gftables/961
232
233
234gftables: gengftables
235                @if test -x ${srcdir}/gftables; then \
236                        if test ! -x ${builddir}/gftables; then \
237                          ln -snf ${srcdir}/gftables ${builddir}; \
238                        fi; \
239                else \
240                        echo "This command will take quite a long time to execute;"; \
241                        echo "maybe you want to get the tables directly via ftp (see"; \
242                        echo "the INSTALL file)."; \
243                        ${builddir}/gengftables; \
244                fi
245
246.template.h:
247        ${srcdir}/bin/makeheader $< $@
248
249BUILT_SOURCES = cplusplus.h factory.h factoryconf.h readcf.cc
250
251
252libfactory_a_include_HEADERS=$(BUILT_SOURCES)
253libfactory_g_a_include_HEADERS=$(BUILT_SOURCES)
254
255# These files listed below are not used anywhere but are included in
256# the distribution. So they will be tacked on to EXTRA_DIST.
257
258# header templates
259hdrtemplsrc = \
260                factoryconf.template \
261                factory.template
262
263# FTE source files
264ftestsrc =      \
265                ftest_io.cc \
266                ftest_util.cc \
267                ntl_util.cc
268
269# FTE header files
270ftestincl =     \
271                ftest_io.h \
272                ftest_util.h \
273                ntl_util.h
274
275# FTE m4 source files (exported for `GNUmakefile' in `ftest/').
276# The variable `$(ftestm4develsrc)' may be already initialized
277# from the development `GNUmakefile'.
278ftestm4src =    $(ftestm4develsrc) \
279                commonden.m4 \
280                degree.m4 \
281                deriv.m4 \
282                divides.m4 \
283                divrem.m4 \
284                extgcd.m4 \
285                factorize.m4 \
286                fbinops.m4 \
287                feval.m4 \
288                gcd.m4 \
289                gcd.ntl.m4 \
290                insert.m4 \
291                norm.m4 \
292                resultant.m4 \
293                revert.m4 \
294                sqrfree.m4 \
295                size.m4 \
296                totaldegree.m4
297
298# other files from the FTE
299ftestdistfiles = \
300                ftest_util.m4
301
302# gengftables.cc gengftables-conway.cc
303EXTRA_DIST =    test_install.cc \
304                $(templatesrc) $(templateincl) $(hdrtemplsrc) \
305                $(ftestsrc) $(ftestincl) $(ftestm4src) $(ftestdistfiles) \
306                doxygen.cfg factory.cfg gen_cf_gmp.template \
307                examples/application.cc \
308                examples/factorize.cc examples/gcd.cc \
309                bin/folding.el bin/fold-docu.el \
310                bin/makeheader bin/gen-readcf $(gftables_DATA)
311
312CLEANFILES = factory.h factoryconf.h cplusplus.h readcf.cc
313
314
315
316cplusplus_SOURCES = cplusplus.cc
317
318cplusplus.h: cplusplus
319        ${builddir}/cplusplus > ${builddir}/cplusplus.h
320
321cf_gmp.h: cplusplus.h
Note: See TracBrowser for help on using the repository browser.