File:  [local] / rpl / rplcas / Makefile.in
Revision 1.61: download - view: text, annotated - select for diffs - revision graph
Fri Nov 1 09:58:19 2019 UTC (4 years, 5 months ago) by bertrand
Branches: MAIN
CVS tags: HEAD
Patches pour que giac puisse être compilé avec la version
embarquée de CoCoALib. Modification des makefiles pour forcer
la liaison statique de giac avec les différentes bibliothèques
statiques (le script configure de giac est fautif).

    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:                     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:                     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/libcocoa.a: lib/@LIB_PREFIX@gmp.a
  108:     for i in $(shell find @COCOA@ -name "*" -exec grep /bin/bash {} /dev/null \; | cut -d: -f1); \
  109:     do \
  110:         sed '1,1s/^#! *\/bin\/bash/#!@BASH@/g' $$i > $$i.2; \
  111:         sed '1,$$s/SHELL=\/bin\/bash/SHELL=@BASH@/g' $$i.2 > $$i; \
  112:         \rm -f $$i.2; \
  113:         chmod 755 $$i; \
  114:     done
  115:     if [ @BUILD@ = @HOST@ ]; then \
  116:         (cd @COCOA@ && CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
  117:                 ./configure --with-libgmp=../lib/libgmp.a \
  118:                 --with-libgsl=../../tools/@GSL@/.libs/libgsl.a); \
  119:     else \
  120:         (cd @COCOA@ && CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
  121:                 ./configure --with-libgmp=../lib/libgmp.a \
  122:                 --with-cxx=@HOST@-g++ \
  123:                 --with-cxxflags="@SYSROOT@ $(CXXFLAGS)" \
  124:                 --with-libgsl=../../tools/@GSL@/.libs/libgsl.a); \
  125:     fi; \
  126:     $(MAKE) -C @COCOA@ $(AM_MAKEFLAGS) library
  127:     cp @COCOA@/lib/libcocoa.a lib/libcocoa.a
  128:     cp -R @COCOA@/include/CoCoA include
  129: 
  130: lib/libpari.a: lib/@LIB_PREFIX@gmp.a
  131:     if [ ! -f @PARI@/configured ]; then \
  132:         if [ @BUILD@ = @HOST@ ]; then \
  133:             (cd @PARI@ && CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
  134:                     LDFLAGS="$(LDFLAGS)" \
  135:                     ./Configure --prefix=$(top_builddir)/rplcas \
  136:                     --with-gmp=../lib/libgmp.a \
  137:                     --without-readline --graphic=none -s); \
  138:         else \
  139:             (cd @PARI@ && CC=@HOST@-gcc LD=@HOST@-ld \
  140:                     CFLAGS="@SYSROOT@ $(CFLAGS)" \
  141:                     CXXFLAGS="$(CXXFLAGS)" \
  142:                     LDFLAGS="-L@SYSROOT2@/usr/lib $(LDFLAGS)" \
  143:                     ./Configure --prefix=$(top_builddir)/rplcas \
  144:                     --with-gmp=../lib/libgmp.a \
  145:                     --without-readline --graphic=none -s); \
  146:         fi; \
  147:         (cd @PARI@ && \
  148:                 sed -i -e 's/perl/perl -I./g' \
  149:                         $$(find . -maxdepth 1 -name "O*")/Makefile); \
  150:         touch @PARI@/configured; \
  151:     fi
  152:     $(MAKE) -C @PARI@ $(AM_MAKEFLAGS) gp && \
  153:             $(MAKE) -C @PARI@ $(AM_MAKEFLAGS) install
  154: 
  155: lib/@LIB_PREFIX@giac.a: lib/@LIB_PREFIX@gmp.a lib/@LIB_PREFIX@mpfr.a lib/ntl.a \
  156:         lib/libcocoa.a lib/libpari.a lib/@LIB_PREFIX@mpfi.a
  157:     if [ ! -d @GIAC@ ]; then \
  158:         mkdir @GIAC@ ; \
  159:     fi
  160:     if [ @BUILD@ = @HOST@ ]; then \
  161:         (cd @GIAC@ && \
  162:                 CXX=@CXX@ \
  163:                 CPPFLAGS="-I$(top_builddir)/rplcas/include -I$(top_builddir)/tools/@GSL@ $(CPPFLAGS)" \
  164:                 CXXFLAGS="$(CXXFLAGS) -fpermissive" \
  165:                 LDFLAGS="$(top_builddir)/rplcas/lib/libpari.a $(top_builddir)/rplcas/lib/libcocoa.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" \
  166:                 ../$(srcdir)/@GIAC@/configure --prefix=$(top_builddir)/rplcas \
  167:                 --enable-pari \
  168:                 --enable-ntl \
  169:                 --enable-cocoa \
  170:                 --enable-gsl \
  171:                 --disable-shared --enable-static \
  172:                 --disable-gui --without-x); \
  173:     else \
  174:         (cd @GIAC@ && \
  175:                 CPPFLAGS="-I$(top_builddir)/rplcas/include -I$(top_builddir)/tools/@GSL@ @SYSROOT@ $(CPPFLAGS)" \
  176:                 CXXFLAGS="$(CXXFLAGS) -fpermissive" \
  177:                 LDFLAGS="$(top_builddir)/rplcas/lib/libpari.a $(top_builddir)/rplcas/lib/libcocoa.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)" \
  178:                 ../$(srcdir)/@GIAC@/configure --prefix=$(top_builddir)/rplcas \
  179:                 --host=@HOST@ \
  180:                 --enable-pari \
  181:                 --enable-ntl \
  182:                 --enable-cocoa \
  183:                 --enable-gsl \
  184:                 --disable-shared --enable-static \
  185:                 --disable-gui --without-x); \
  186:     fi; \
  187:     (cd @GIAC@/src && \
  188:             mv -f config.h config.h.orig && \
  189:             sed -e 's/#define HAVE_LIBPNG 1//' config.h.orig | \
  190:             sed -e 's/\/\* #undef HAVE_LIBGMP \*\//#define HAVE_LIBMP/' | \
  191:             sed -e 's/\/\* #undef HAVE_LIBGMPXX \*\//#define HAVE_LIBMPXX/' | \
  192:             sed -e 's/\/\* #undef HAVE_LIBMPFR \*\//#define HAVE_LIBPFR/' | \
  193:             sed -e 's/\/\* #undef HAVE_LIBMPFI \*\//#define HAVE_LIBPFI/' | \
  194:             sed -e 's/\/\* #undef HAVE_LIBNTL \*\//#define HAVE_LIBNTL/' | \
  195:             sed -e 's/\/\* #undef HAVE_LIBPARI \*\//#define HAVE_LIBPARI/' | \
  196:             sed -e 's/\/\* #undef HAVE_LIBGSL \*\//#define HAVE_LIBGSL/' | \
  197:             sed -e 's/\/\* #undef HAVE_LIBCOCOA \*\//#define HAVE_LIBCOCOA/' | \
  198:             sed -e 's/#define HAVE_PNG_H 1//' > config.h && \
  199:             rm -f config.h.orig); \
  200:     (cd @GIAC@/src && \
  201:             mv -f Makefile Makefile.orig && \
  202:             sed -e 's/-lntl//' Makefile.orig | \
  203:             sed -e 's/-lgmp//' | \
  204:             sed -e 's/-lmpfr//' > Makefile && \
  205:             rm -f Makefile.orig); \
  206:     $(MAKE) -C @GIAC@ $(AM_MAKEFLAGS)
  207:     if [ x$(srcdir) != x. ]; then \
  208:         for i in mkinstalldirs xcas.xpm xcas.desktop xcas.applications; \
  209:                 do cp $(srcdir)/@GIAC@/$$i @GIAC@/$$i; done; \
  210:         cp -R $(srcdir)/@GIAC@/icons @GIAC@; \
  211:     fi
  212:     $(MAKE) -C @GIAC@ $(AM_MAKEFLAGS) install
  213: 
  214: lib/librplcas.a: lib/@LIB_PREFIX@giac.a lib/@LIB_PREFIX@gmp.a \
  215:         lib/@LIB_PREFIX@mpfr.a lib/ntl.a lib/libcocoa.a lib/libpari.a \
  216:         lib/@LIB_PREFIX@mpfi.a
  217:     if [ ! -d tmp ]; then mkdir tmp; fi
  218:     for i in `ar t lib/@LIB_PREFIX@giac.a | grep a$$`; \
  219:     do ar d lib/@LIB_PREFIX@giac.a $$i; \
  220:     done
  221:     @(cd tmp && n=0 && \
  222:             rm -f * && \
  223:             echo Building standalone librplcas.a; \
  224:             for i in ../lib/@LIB_PREFIX@gmp.a \
  225:                     ../lib/@LIB_PREFIX@mpfr.a \
  226:                     ../lib/@LIB_PREFIX@mpfi.a \
  227:                     ../lib/libcocoa.a \
  228:                     ../lib/libpari.a \
  229:                     ../lib/ntl.a \
  230:                     ../lib/@LIB_PREFIX@giac.a; \
  231:                 do echo Extracting $$i; ar x $$i; \
  232:                 for j in `ar t $$i`; \
  233:                 do cp -f $$j $$n-$$j; \
  234:                     rm -f $$j; \
  235:                 done; \
  236:                 n=`expr $$n + 1`; \
  237:             done; \
  238:             L="start"; \
  239:             while test -n "$$L"; \
  240:             do \
  241:                 echo -n "Remaining files "; \
  242:                 find . -name "*.$(OBJEXT)" | wc -l; \
  243:                 L=""; j=0; \
  244:                 for i in `find . -name "*.$(OBJEXT)"`; \
  245:                 do \
  246:                     k=`echo $$i | wc -c`; \
  247:                     j=`expr $$j + $$k + 1`; \
  248:                     if test $$j -le 8000; then \
  249:                         L="$$L $$i"; \
  250:                     else \
  251:                         break; \
  252:                     fi; \
  253:                 done; \
  254:                 if test -n "$$L"; then \
  255:                     echo -n "Adding files to librplcas.a archive... "; \
  256:                     ar cr ../lib/librplcas.a $$L; \
  257:                     rm -f $$L; \
  258:                     echo "done"; \
  259:                 fi; \
  260:             done; \
  261:             echo Archive created; \
  262:             ar s ../lib/librplcas.a; \
  263:             if [ @OS@ != OS2 -a @OS@ != Darwin ]; then \
  264:                 echo Stripping librplcas.a && strip -d ../lib/librplcas.a; \
  265:             fi;)
  266:     rmdir tmp
  267: 
  268: install:
  269: 
  270: uninstall:
  271: 
  272: clean:
  273:     \rm -f $(top_builddir)/rplcas/lib/lib*
  274: 
  275: distdir:

CVSweb interface <joel.bertrand@systella.fr>