source: git/libpolys/Makefile.am @ 4470c0e

spielwiese
Last change on this file since 4470c0e was 4470c0e, checked in by Hans Schoenemann <hannes@…>, 3 years ago
configure: restructure libpolys
  • Property mode set to 100644
File size: 7.3 KB
Line 
1ACLOCAL_AMFLAGS = -I ../m4
2
3bin_SCRIPTS = libpolys-config
4
5SUBDIRS=tests
6
7configheaderdir = ${includedir}/singular
8nodist_configheader_HEADERS = libpolysconfig.h
9DISTCLEANFILES = $(nodist_configheader_HEADERS)
10
11pkgconfigdir = $(libdir)/pkgconfig
12pkgconfig_DATA = libpolys.pc
13
14
15
16
17
18AM_CPPFLAGS     = -I${top_srcdir} -I${top_builddir} \
19${FACTORY_INCLUDES} ${RESOURCES_INCLUDES} ${OMALLOC_INCLUDES} \
20${FLINT_CFLAGS} ${GMP_CPPFLAGS}
21
22AM_CXXFLAGS =
23
24
25if ENABLE_P_PROCS_STATIC
26  USE_P_PROCS_STATIC_CC = polys/templates/p_Procs_Static.cc
27  USE_P_PROCS_STATIC = -Dp_Procs_Static
28else
29  USE_P_PROCS_STATIC_CC =
30  USE_P_PROCS_STATIC =
31endif
32
33if ENABLE_P_PROCS_DYNAMIC
34  USE_P_PROCS_DYNAMIC_CC = polys/templates/p_Procs_Dynamic.cc
35  P_PROCS_CPPFLAGS_COMMON = ${AM_CPPFLAGS} -DDYNAMIC_VERSION
36else
37  USE_P_PROCS_DYNAMIC_CC =
38  P_PROCS_CPPFLAGS_COMMON = ${AM_CPPFLAGS}
39endif
40
41
42libpolys_LTLIBRARIES = libpolys.la
43libpolysdir = $(libdir)
44
45SOURCES = \
46        coeffs/numbers.cc coeffs/rintegers.cc coeffs/rmodulo2m.cc coeffs/rmodulon.cc coeffs/shortfl.cc \
47        coeffs/gnumpc.cc coeffs/gnumpfl.cc coeffs/longrat.cc coeffs/longrat0.cc coeffs/ffields.cc \
48        coeffs/modulop.cc coeffs/mpr_complex.cc coeffs/ntupel.cc \
49        coeffs/bigintmat.cc  \
50        coeffs/flintcf_Qrat.cc coeffs/flintcf_Q.cc coeffs/flintcf_Zn.cc \
51        polys/monomials/p_polys.cc polys/monomials/ring.cc polys/monomials/maps.cc \
52        polys/operations/pShallowCopyDelete.cc polys/operations/p_Mult_q.cc \
53        polys/nc/sca.cc polys/nc/summator.cc polys/nc/ncSAFormula.cc polys/nc/ncSACache.cc polys/nc/ncSAMult.cc \
54        polys/pDebug.cc polys/polys0.cc polys/prCopy.cc polys/prCopyMacros.h \
55        polys/kbuckets.cc polys/sbuckets.cc polys/weight.cc polys/weight0.c polys/simpleideals.cc polys/matpol.cc \
56        polys/sparsmat.cc \
57        polys/shiftop.cc \
58        ${USE_P_PROCS_STATIC_CC} ${USE_P_PROCS_DYNAMIC_CC} polys/mod_raw.cc \
59        polys/ext_fields/algext.cc polys/ext_fields/transext.cc \
60        polys/clapsing.cc polys/clapconv.cc  polys/flintconv.cc polys/flint_mpoly.cc\
61        polys/nc/old.gring.cc polys/PolyEnumerator.cc \
62        misc/int64vec.cc misc/options.c misc/sirandom.c misc/intvec.cc misc/prime.cc \
63        reporter/dError.cc reporter/reporter.cc reporter/s_buff.cc
64
65LIBPOLYSHEADERS = polys/monomials/ring.h polys/monomials/monomials.h \
66        polys/monomials/p_polys.h polys/monomials/maps.h polys/PolyEnumerator.h  polys/prCopy.h \
67        polys/nc/nc.h polys/nc/sca.h polys/nc/summator.h polys/nc/ncSAFormula.h polys/nc/ncSACache.h polys/nc/ncSAMult.h polys/nc/gb_hack.h \
68        polys/operations/pShallowCopyDelete.h \
69        polys/templates/p_Procs.h polys/templates/p_MemAdd.h polys/templates/p_MemCmp.h \
70        polys/kbuckets.h polys/sbuckets.h polys/simpleideals.h polys/weight.h polys/matpol.h \
71        polys/sparsmat.h polys/clapsing.h polys/clapconv.h polys/coeffrings.h polys/flintconv.h polys/flint_mpoly.h\
72        polys/shiftop.h \
73        polys/ext_fields/algext.h polys/ext_fields/transext.h polys/mod_raw.h \
74        misc/mylimits.h misc/options.h misc/intvec.h misc/int64vec.h \
75        misc/sirandom.h misc/prime.h misc/auxiliary.h \
76        reporter/reporter.h reporter/s_buff.h reporter/si_signals.h \
77        coeffs/coeffs.h coeffs/numbers.h coeffs/si_gmp.h coeffs/gnumpc.h coeffs/gnumpfl.h coeffs/longrat.h coeffs/modulop.h coeffs/modulop_inl.h \
78        coeffs/ffields.h coeffs/rintegers.h coeffs/rmodulo2m.h coeffs/rmodulon.h \
79        coeffs/shortfl.h coeffs/mpr_complex.h coeffs/mpr_global.h coeffs/numstats.h coeffs/ntupel.h \
80        coeffs/bigintmat.h coeffs/Enumerator.h \
81        coeffs/flintcf_Qrat.h coeffs/flintcf_Q.h coeffs/flintcf_Zn.h
82
83libpolys_la_includedir  =$(includedir)/singular
84libpolys_la_include_HEADERS=${LIBPOLYSHEADERS}
85
86EXTRA_DIST = \
87        polys/prCopy.pl polys/prCopyTemplate.cc \
88        polys/templates/p_Procs_Lib.cc polys/templates/p_MemCopy.h polys/templates/p_Numbers.h \
89        polys/templates/p_Procs_Set.h polys/templates/p_Procs_Static.h polys/templates/p_Procs_Dynamic.h \
90        polys/templates/p_Procs_Impl.h polys/templates/p_Delete__T.cc polys/templates/p_Copy__T.cc \
91        polys/templates/p_ShallowCopyDelete__T.cc polys/templates/p_Mult_nn__T.cc \
92        polys/templates/pp_Mult_nn__T.cc polys/templates/pp_Mult_mm__T.cc polys/templates/p_Mult_mm__T.cc \
93        polys/templates/pp_Mult_Coeff_mm_DivSelect__T.cc polys/templates/pp_Mult_nn__T.cc \
94        polys/templates/pp_Mult_Coeff_mm_DivSelectMult__T.cc \
95        polys/templates/pp_Mult_mm_Noether__T.cc polys/operations/p_Mult_q.h \
96        polys/templates/p_kBucketSetLm__T.cc polys/templates/p_Minus_mm_Mult_qq__T.cc \
97        polys/templates/p_Merge_q__T.cc polys/templates/p_Add_q__T.cc polys/templates/p_Neg__T.cc
98
99
100p_Procs_FieldGeneral_la_CPPFLAGS = -Dp_Procs_FieldGeneral ${P_PROCS_CPPFLAGS_COMMON}
101p_Procs_FieldIndep_la_CPPFLAGS = -Dp_Procs_FieldIndep ${P_PROCS_CPPFLAGS_COMMON}
102p_Procs_FieldQ_la_CPPFLAGS = -Dp_Procs_FieldQ ${P_PROCS_CPPFLAGS_COMMON}
103p_Procs_FieldZp_la_CPPFLAGS = -Dp_Procs_FieldZp ${P_PROCS_CPPFLAGS_COMMON}
104
105P_PROCS_MODULE_LDFLAGS = -shared -module -dynamic -export-dynamic -avoid-version -weak_reference_mismatches weak -undefined dynamic_lookup -flat_namespace
106
107p_Procs_FieldGeneral_la_LDFLAGS = ${P_PROCS_MODULE_LDFLAGS}
108p_Procs_FieldIndep_la_LDFLAGS = ${P_PROCS_MODULE_LDFLAGS}
109p_Procs_FieldQ_la_LDFLAGS = ${P_PROCS_MODULE_LDFLAGS}
110p_Procs_FieldZp_la_LDFLAGS = ${P_PROCS_MODULE_LDFLAGS}
111
112P_PROCS = polys/templates/p_Procs_Lib.cc
113
114p_Procs_FieldGeneral_la_SOURCES = ${P_PROCS}
115p_Procs_FieldIndep_la_SOURCES = ${P_PROCS}
116p_Procs_FieldQ_la_SOURCES = ${P_PROCS}
117p_Procs_FieldZp_la_SOURCES = ${P_PROCS}
118
119
120moduledir = $(libexecdir)/singular/MOD
121
122if ENABLE_P_PROCS_DYNAMIC
123  module_LTLIBRARIES=p_Procs_FieldGeneral.la p_Procs_FieldIndep.la p_Procs_FieldQ.la p_Procs_FieldZp.la
124endif
125
126libpolys_includedir=$(includedir)/singular/polys
127
128nobase_libpolys_include_HEADERS = $(LIBPOLYSHEADERS)
129
130libpolys_la_SOURCES = ${SOURCES}
131
132EXTRA_libpolys_la_SOURCES = polys/templates/p_Procs_Static.cc polys/templates/p_Procs_Dynamic.cc
133
134libpolys_la_LDFLAGS= $(SINGULAR_LDFLAGS) ${USEPPROCSDYNAMICLDFLAGS} ${USEPPROCSDYNAMICLD} -release ${PACKAGE_VERSION}
135libpolys_la_LIBADD = ${USEPPROCSDYNAMICLDFLAGS} ${USEPPROCSDYNAMICLD} ${FACTORY_LIBS}
136
137
138#################################################
139# autogenerated sources
140noinst_PROGRAMS = p_Procs_Generate
141nodist_p_Procs_Generate_SOURCES = polys/templates/p_Procs.inc
142p_Procs_Generate_SOURCES = polys/p_Procs_Generate.cc
143p_Procs_Generate_CPPFLAGS = ${AM_CPPFLAGS} ${USE_P_PROCS_STATIC}
144BUILT_SOURCES = polys/prCopy.inc gftables MOD polys/templates/p_Procs.inc
145
146polys/templates/p_Procs.inc: polys/p_Procs_Generate.cc
147        $(MAKE) $(AM_MAKEFLAGS) CXX="$(CXX_FOR_BUILD)" \
148        CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
149        CPPFLAGS="-I${abs_top_srcdir} -I${abs_top_builddir} -I${top_srcdir} -I${top_builddir} ${FACTORY_INCLUDES} $(CPPFLAGS_FOR_BUILD) ${USE_P_PROCS_STATIC}" \
150        LDFLAGS="" LIBS="" p_Procs_Generate
151        ./p_Procs_Generate$(BUILD_EXEEXT) > ./polys/templates/p_Procs.inc
152
153polys/prCopy.inc: polys/prCopy.pl
154        perl ${srcdir}/polys/prCopy.pl >  polys/prCopy.inc
155
156CLEANFILES = $(BUILT_SOURCES) p_Procs_Generate
157
158######################################################################
159
160TESTS = test
161check_PROGRAMS = $(TESTS)
162
163test_LDADD=libpolys.la \
164$(FACTORY_LIBS) $(RESOURCES_LIBS) $(OMALLOC_LIBS) \
165$(FLINT_LIBS) $(GMP_LIBS) $(NTL_LIBS)
166
167test_SOURCES=test.cc
168
169gftables: ${top_srcdir}/../factory/gftables
170        ln -snf ${top_srcdir}/../factory/gftables ${builddir}/gftables
171
172MOD:
173        if [ -d "${top_builddir}/libpolys/.libs" ]; then \
174          ln -snf ${top_builddir}/libpolys/.libs/ ${abs_builddir}/MOD; \
175        fi
176
Note: See TracBrowser for help on using the repository browser.