1: srcdir=@srcdir@
2: top_builddir=@abs_top_builddir@
3: CFLAGS=@CFLAGS@
4: CXXFLAGS=@CXXFLAGS@
5: LDFLAGS=@LDFLAGS@
6: OBJEXT=@OBJEXT@
7:
8: .PHONY: configure clean distclean
9:
10: all: lib/librplcas.a
11:
12: lib/@LIB_PREFIX@gmp.a:
13: if [ ! -d @GMP@ ]; then \
14: mkdir @GMP@; \
15: fi
16: if [ ! -f @GMP@/config.log ]; then \
17: (cd @GMP@ && \
18: CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
19: ../$(srcdir)/@GMP@/configure --with-readline=no \
20: --host=@HOST@ --enable-cxx \
21: --disable-shared --enable-static \
22: --prefix=$(top_builddir)/rplcas); \
23: fi
24: $(MAKE) -C @GMP@ $(AM_MAKEFLAGS) all && \
25: $(MAKE) -C $(AM_MAKEFLAGS) @GMP@ install
26:
27: lib/@LIB_PREFIX@mpfr.a: lib/@LIB_PREFIX@gmp.a
28: if [ ! -d @MPFR@ ]; then \
29: mkdir @MPFR@ ; \
30: fi
31: if [ ! -f @MPFR@/config.log ]; then \
32: if [ @BUILD@ = @HOST@ ]; then \
33: (cd @MPFR@ && \
34: CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
35: ../$(srcdir)/@MPFR@/configure \
36: --with-gmp=$(top_builddir)/rplcas \
37: --disable-shared --enable-static \
38: --prefix=$(top_builddir)/rplcas); \
39: else \
40: (cd @MPFR@ && \
41: CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
42: ../$(srcdir)/@MPFR@/configure \
43: --host=@HOST@ \
44: --with-gmp=$(top_builddir)/rplcas \
45: --disable-shared --enable-static \
46: --prefix=$(top_builddir)/rplcas); \
47: fi; \
48: fi
49: $(MAKE) -C @MPFR@ $(AM_MAKEFLAGS) all && \
50: $(MAKE) -C @MPFR@ $(AM_MAKEFLAGS) install
51:
52: lib/@LIB_PREFIX@mpfi.a: lib/@LIB_PREFIX@gmp.a lib/@LIB_PREFIX@mpfr.a
53: if [ ! -d @MPFI@ ]; then \
54: mkdir @MPFI@ ; \
55: fi
56: if [ ! -f @MPFI@/config.log ]; then \
57: if [ @BUILD@ = @HOST@ ]; then \
58: (cd @MPFI@ && \
59: CC=gcc-13 CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
60: ../$(srcdir)/@MPFI@/configure \
61: --with-gmp=$(top_builddir)/rplcas \
62: --with-mpfr=$(top_builddir)/rplcas \
63: --disable-shared --enable-static \
64: --prefix=$(top_builddir)/rplcas); \
65: else \
66: (cd @MPFI@ && \
67: CC=gcc-13 CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
68: ../$(srcdir)/@MPFI@/configure \
69: --host=@HOST@ \
70: --with-gmp=$(top_builddir)/rplcas \
71: --with-mpfr=$(top_builddir)/rplcas \
72: --disable-shared --enable-static \
73: --prefix=$(top_builddir)/rplcas); \
74: fi; \
75: fi
76: $(MAKE) -C @MPFI@ $(AM_MAKEFLAGS) all && \
77: $(MAKE) -C @MPFI@ $(AM_MAKEFLAGS) install
78:
79: lib/ntl.a:
80: if [ @BUILD@ = @HOST@ ]; then \
81: (cd @NTL@/src && ./configure GMP_PREFIX=$(top_builddir)/rplcas \
82: SHARED=off CXXFLAGS="$(CXXFLAGS)"); \
83: else \
84: (cd @NTL@/src && ./configure GMP_PREFIX=$(top_builddir)/rplcas \
85: SHARED=off CC=@HOST@-gcc CXX=@HOST@-g++ \
86: CXXFLAGS="@SYSROOT@ $(CXXFLAGS)" \
87: LDFLAGS="-L@SYSROOT2@/usr/lib"); \
88: fi
89: (cd @NTL@/src && \
90: if [ -z '$(make -v | grep "^GNU Make")' -a $(shell uname) != Linux ]; \
91: then \
92: sed 's/make /gmake /g' makefile > makefile2 && \
93: \mv -f makefile2 makefile && \
94: sed 's/make /gmake /g' WizardAux > WizardAux2 && \
95: \mv -f WizardAux2 WizardAux; \
96: fi && \
97: $(MAKE) $(AM_MAKEFLAGS) -f makefile)
98: if [ ! -d lib ]; then \
99: mkdir lib; \
100: fi; \
101: if [ ! -d include ]; then \
102: mkdir include; \
103: fi; \
104: cp @NTL@/src/ntl.a lib/ntl.a
105: cp -R @NTL@/include/NTL include
106:
107: lib/libpari.a: lib/@LIB_PREFIX@gmp.a
108: if [ ! -f @PARI@/configured ]; then \
109: if [ @BUILD@ = @HOST@ ]; then \
110: (cd @PARI@ && CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
111: LDFLAGS="$(LDFLAGS)" \
112: ./Configure --prefix=$(top_builddir)/rplcas \
113: --with-gmp=../lib/libgmp.a \
114: --without-readline --graphic=none -s); \
115: else \
116: (cd @PARI@ && CC=@HOST@-gcc LD=@HOST@-ld \
117: CFLAGS="@SYSROOT@ $(CFLAGS)" \
118: CXXFLAGS="$(CXXFLAGS)" \
119: LDFLAGS="-L@SYSROOT2@/usr/lib $(LDFLAGS)" \
120: ./Configure --prefix=$(top_builddir)/rplcas \
121: --with-gmp=../lib/libgmp.a \
122: --without-readline --graphic=none -s); \
123: fi; \
124: (cd @PARI@ && \
125: sed -i -e 's/perl/perl -I./g' \
126: $$(find . -maxdepth 1 -name "O*")/Makefile); \
127: touch @PARI@/configured; \
128: fi
129: $(MAKE) -C @PARI@ $(AM_MAKEFLAGS) gp && \
130: $(MAKE) -C @PARI@ $(AM_MAKEFLAGS) install
131:
132: lib/@LIB_PREFIX@giac.a: lib/@LIB_PREFIX@gmp.a lib/@LIB_PREFIX@mpfr.a lib/ntl.a \
133: lib/libpari.a lib/@LIB_PREFIX@mpfi.a
134: if [ ! -d @GIAC@ ]; then \
135: mkdir @GIAC@ ; \
136: fi
137: if [ @BUILD@ = @HOST@ ]; then \
138: (cd @GIAC@ && \
139: CXX=@CXX@ \
140: CPPFLAGS="-I$(top_builddir)/rplcas/include -I$(top_builddir)/tools/@GSL@ $(CPPFLAGS)" \
141: CXXFLAGS="$(CXXFLAGS) -fpermissive" \
142: LDFLAGS="$(top_builddir)/rplcas/lib/libpari.a $(top_builddir)/rplcas/lib/ntl.a $(top_builddir)/rplcas/lib/@LIB_PREFIX@mpfi.a $(top_builddir)/rplcas/lib/@LIB_PREFIX@mpfr.a $(top_builddir)/rplcas/lib/@LIB_PREFIX@gmp.a $(top_builddir)/rplcas/lib/@LIB_PREFIX@gmpxx.a" \
143: ../$(srcdir)/@GIAC@/configure --prefix=$(top_builddir)/rplcas \
144: --enable-pari \
145: --enable-ntl \
146: --enable-gsl \
147: --disable-samplerate \
148: --disable-shared --enable-static \
149: --disable-micropy --disable-quickjs \
150: --disable-gui --without-x); \
151: else \
152: (cd @GIAC@ && \
153: CPPFLAGS="-I$(top_builddir)/rplcas/include -I$(top_builddir)/tools/@GSL@ @SYSROOT@ $(CPPFLAGS)" \
154: CXXFLAGS="$(CXXFLAGS) -fpermissive" \
155: LDFLAGS="$(top_builddir)/rplcas/lib/libpari.a $(top_builddir)/rplcas/lib/ntl.a $(top_builddir)/tools/@GSL@/.libs/libgsl.a $(top_builddir)/rplcas/lib/@LIB_PREFIX@mpfi.a $(top_builddir)/rplcas/lib/@LIB_PREFIX@mpfr.a $(top_builddir)/rplcas/lib/@LIB_PREFIX@gmp.a $(top_builddir)/rplcas/lib/@LIB_PREFIX@gmpxx.a $(LDFLAGS) $(LIBGIAC)" \
156: ../$(srcdir)/@GIAC@/configure --prefix=$(top_builddir)/rplcas \
157: --host=@HOST@ \
158: --enable-pari \
159: --enable-ntl \
160: --enable-gsl \
161: --disable-samplerate \
162: --disable-shared --enable-static \
163: --disable-micropy --disable-quickjs \
164: --disable-gui --without-x); \
165: fi; \
166: (cd @GIAC@/src && \
167: mv -f config.h config.h.orig && \
168: sed -e 's/#define HAVE_LIBPNG 1//' config.h.orig | \
169: sed -e 's/\/\* #undef HAVE_LIBGMP \*\//#define HAVE_LIBGMP/' | \
170: sed -e 's/\/\* #undef HAVE_LIBGMPXX \*\//#define HAVE_LIBGMPXX/' | \
171: sed -e 's/\/\* #undef HAVE_LIBMPFR \*\//#define HAVE_LIBPFR/' | \
172: sed -e 's/\/\* #undef HAVE_LIBMPFI \*\//#define HAVE_LIBPFI/' | \
173: sed -e 's/\/\* #undef HAVE_LIBNTL \*\//#define HAVE_LIBNTL/' | \
174: sed -e 's/\/\* #undef HAVE_LIBPARI \*\//#define HAVE_LIBPARI/' | \
175: sed -e 's/\/\* #undef HAVE_LIBGSL \*\//#define HAVE_LIBGSL/' | \
176: sed -e 's/#define HAVE_LIBSAMPLERATE 1//' | \
177: sed -e 's/#define HAVE_PNG_H 1//' > config.h && \
178: rm -f config.h.orig); \
179: (cd @GIAC@/src && \
180: mv -f Makefile Makefile.orig && \
181: sed -e 's/-lntl//' Makefile.orig | \
182: sed -e 's/-lgmp//' | \
183: sed -e 's/-lmpfr//' > Makefile && \
184: rm -f Makefile.orig); \
185: $(MAKE) -C @GIAC@ $(AM_MAKEFLAGS)
186: if [ x$(srcdir) != x. ]; then \
187: for i in mkinstalldirs xcas.xpm xcas.desktop xcas.applications; \
188: do cp $(srcdir)/@GIAC@/$$i @GIAC@/$$i; done; \
189: cp -R $(srcdir)/@GIAC@/icons @GIAC@; \
190: fi
191: $(MAKE) -C @GIAC@ $(AM_MAKEFLAGS) install
192:
193: lib/librplcas.a: lib/@LIB_PREFIX@giac.a lib/@LIB_PREFIX@gmp.a \
194: lib/@LIB_PREFIX@mpfr.a lib/ntl.a lib/libpari.a \
195: lib/@LIB_PREFIX@mpfi.a
196: if [ ! -d tmp ]; then mkdir tmp; fi
197: for i in `ar t lib/@LIB_PREFIX@giac.a | grep a$$`; \
198: do ar d lib/@LIB_PREFIX@giac.a $$i; \
199: done
200: @(cd tmp && n=0 && \
201: rm -f * && \
202: echo Building standalone librplcas.a; \
203: for i in ../lib/@LIB_PREFIX@gmp.a \
204: ../lib/@LIB_PREFIX@mpfr.a \
205: ../lib/@LIB_PREFIX@mpfi.a \
206: ../lib/libpari.a \
207: ../lib/ntl.a \
208: ../lib/@LIB_PREFIX@giac.a; \
209: do echo Extracting $$i; ar x $$i; \
210: for j in `ar t $$i`; \
211: do cp -f $$j $$n-$$j; \
212: rm -f $$j; \
213: done; \
214: n=`expr $$n + 1`; \
215: done; \
216: L="start"; \
217: while test -n "$$L"; \
218: do \
219: echo -n "Remaining files "; \
220: find . -name "*.$(OBJEXT)" | wc -l; \
221: L=""; j=0; \
222: for i in `find . -name "*.$(OBJEXT)"`; \
223: do \
224: k=`echo $$i | wc -c`; \
225: j=`expr $$j + $$k + 1`; \
226: if test $$j -le 8000; then \
227: L="$$L $$i"; \
228: else \
229: break; \
230: fi; \
231: done; \
232: if test -n "$$L"; then \
233: echo -n "Adding files to librplcas.a archive... "; \
234: ar cr ../lib/librplcas.a $$L; \
235: rm -f $$L; \
236: echo "done"; \
237: fi; \
238: done; \
239: echo Archive created; \
240: ar s ../lib/librplcas.a; \
241: if [ @OS@ != OS2 -a @OS@ != Darwin ]; then \
242: echo Stripping librplcas.a && strip -d ../lib/librplcas.a; \
243: fi;)
244: rmdir tmp
245:
246: install:
247:
248: uninstall:
249:
250: clean:
251: \rm -f $(top_builddir)/rplcas/lib/lib*
252:
253: distdir:
CVSweb interface <joel.bertrand@systella.fr>