File:  [local] / rpl / Makefile.am
Revision 1.73: download - view: text, annotated - select for diffs - revision graph
Mon Nov 9 16:48:08 2015 UTC (8 years, 5 months ago) by bertrand
Branches: MAIN
CVS tags: rpl-4_1_24, rpl-4_1_23, HEAD
Mise à jour de Giac et ajout de la bibliothèque mpfi.

    1: SUBDIRS = tools rplsums rpliconv rplawk lapack/blas lapack/lapack rplcas src \
    2:         rpltags scripts man doc
    3: 
    4: include_HEADERS = rplconfig.h
    5: 
    6: EXTRA_DIST = LIMITATIONS Licence_CeCILL_V2-fr.txt Licence_CeCILL_V2-en.txt \
    7:         HEADER.in lapack/COPYING lapack/RELEASE autogen.sh \
    8:         tests/tests.tar.gz vim/indent/rpl.vim vim/ftplugin/rpl.vim \
    9:         vim/syntax/rpl.vim examples/obele.rpl examples/appel.tar.gz \
   10:         examples/external.tar.gz DEBIAN/control.in \
   11:         rplcas/@GMP@.tar.gz rplcas/@MPFR@.tar.gz rplcas/@NTL@.tar.gz \
   12:         rplcas/@COCOA@.tar.gz rplcas/@PARI@.tar.gz rplcas/@GIAC@.tar.gz
   13: 
   14: all:
   15:     @if [ x"$(shell $(MAKE) -v | grep '^GNU Make')" = x ]; then \
   16:         echo; \
   17:         echo MAKE=$(MAKE); \
   18:         echo "Please use GNU Make !"; \
   19:         echo; \
   20:         false; \
   21:     fi
   22:     $(MAKE) all-rpl
   23: 
   24: licences:
   25:     cp -f $(top_builddir)/HEADER $(srcdir)
   26:     $(MAKE) -C src $@
   27: 
   28: purge:
   29:     for i in @NCURSES@ @READLINE@ @UNITS@ @GSL@ @GPP@ @GNUPLOT_COMPILATION@ \
   30:             @FILE@ @ICONV@ @SQLITE@ @SIGSEGV@ @BUILD_OPENMOTIF@; \
   31:     do \
   32:         rm -rf $(srcdir)/tools/$$i; \
   33:         rm -rf $(top_builddir)/tools/$$i; \
   34:     done;
   35:     for i in @GMP@ @MPFR@ @NTL@ @COCOA@ @PARI@ @GIAC@ @FLTK@; \
   36:     do \
   37:         if [ -d $(srcdir)/rplcas/$$i ]; then \
   38:             rm -rf $(srcdir)/rplcas/$$i; \
   39:         fi; \
   40:         if [ -d $(top_builddir)/rplcas/$$i ]; then \
   41:             rm -rf $(top_builddir)/rplcas/$$i; \
   42:         fi; \
   43:     done;
   44:     for i in bin lib include share; \
   45:     do \
   46:         if [ -d $(top_builddir)/rplcas/$$i ]; then \
   47:             rm -rf $(top_builddir)/rplcas/$$i; \
   48:         fi; \
   49:     done;
   50:     test -f $(top_builddir)/tools/openmotif.lib && \
   51:             rm -f $(top_builddir)/tools/openmotif.lib
   52:     rm -rf $(top_builddir)/tools/@OPENSSL@
   53:     rm -rf $(top_builddir)/tools/@ZLIB@
   54: 
   55: $(top_builddir)/tools/@NCURSES@/lib/@LIB_PREFIX@ncurses.a:
   56:     for i in $(shell find tools/@NCURSES@ -name Makefile \
   57:          -exec grep static {} /dev/null \; | cut -d: -f1); \
   58:     do \
   59:         echo -n Checking $$i; \
   60:         TMP=tmp.ncurses; \
   61:         if [ -n "$$(grep static $$i | grep dynamic)" ]; then \
   62:             awk \
   63:             '{ \
   64:                 if (index($$0, "-static") != 0 && index($$0, "-dynamic") != 0) \
   65:                 { \
   66:                     for(j = 1; j <= NF; j++) \
   67:                     { \
   68:                         if (index($$j, "-static") == 0) \
   69:                         { \
   70:                             printf("%s ", $$j); \
   71:                         } \
   72:                     } \
   73:                     printf("\n"); \
   74:                 } \
   75:                 else \
   76:                 { \
   77:                     print; \
   78:                 } \
   79:             }' $$i > $$TMP; \
   80:             mv -f $$TMP $$i; \
   81:             echo -n " (fixed)"; \
   82:         else \
   83:             echo -n " (nothing to do)"; \
   84:             rm -f $$TMP; \
   85:         fi; \
   86:         echo .; \
   87:     done;
   88:     for i in tools/@NCURSES@/test/Makefile; \
   89:     do \
   90:         echo -n Checking $$i; \
   91:         TMP=tmp.ncurses_test; \
   92:         awk \
   93:             '/^TEST_ARGS/ \
   94:                 { printf("TEST_ARGS = ../lib/@LIB_PREFIX@form.a \
   95:                         ../lib/@LIB_PREFIX@menu.a "); \
   96:                 printf("../lib/@LIB_PREFIX@panel.a \
   97:                         ../lib/@LIB_PREFIX@ncurses.a\n"); } \
   98:             ! /^TEST_ARGS/ \
   99:                 { print; }' tools/@NCURSES@/test/Makefile > $$TMP; \
  100:         mv -f $$TMP $$i; \
  101:         echo .; \
  102:     done;
  103:     if [ @OS@ = "OS2" ]; then \
  104:         TMP=tmp.ncurses_test_os2; \
  105:         awk \
  106:             '/^CXX_AR[ \t]/ \
  107:                 { printf("CXX_AR = $(AR)\n"); } \
  108:             ! /^CXX_AR[ \t]/ \
  109:                 { print; }' \
  110:             $(top_builddir)/tools/@NCURSES@/c++/Makefile | \
  111:         awk \
  112:             '/^CXX_ARFLAGS[ \t]/ \
  113:                 { printf("CXX_ARFLAGS = $(ARFLAGS)\n"); } \
  114:             ! /^CXX_ARFLAGS[ \t]/ \
  115:                 { print; }' | \
  116:         awk \
  117:             '/^CXX[ \t]/ \
  118:                 { printf("CXX = g++\n"); } \
  119:             ! /^CXX[ \t]/ \
  120:                 { print; }' > $$TMP; \
  121:         mv -f $$TMP $(top_builddir)/tools/@NCURSES@/c++/Makefile; \
  122:     fi;
  123:     $(MAKE) -C $(top_builddir)/tools/@NCURSES@ $(AM_MAKEFLAGS)
  124: 
  125: $(top_builddir)/tools/@READLINE@/libreadline.a \
  126:         $(top_builddir)/tools/@READLINE@/libhistory.a:
  127:     $(MAKE) -C $(top_builddir)/tools/@READLINE@ $(AM_MAKEFLAGS)
  128: 
  129: $(top_builddir)/tools/@ZLIB@/libz.a:
  130:     $(MAKE) -C $(top_builddir)/tools/@ZLIB@ $(AM_MAKEFLAGS)
  131: 
  132: $(top_builddir)/tools/@GSL@/.libs/@LIB_PREFIX@gsl.a:
  133: # Quick and dirty hack pour avaliser le remplacement de ${1 + "$@"}
  134: # dans ltmain.sh et propager les modifications dans le script libtool.
  135:     if [ @OS@ = "OS2" ]; then \
  136:         (cd $(top_builddir)/tools/@GSL@ && configure --disable-shared;); \
  137:     fi
  138:     $(MAKE) -C $(top_builddir)/tools/@GSL@ $(AM_MAKEFLAGS)
  139: 
  140: $(top_builddir)/tools/@ICONV@/lib/.libs/@LIB_PREFIX@iconv.a:
  141: # La dépendance est faite par rpliconv.
  142:     if [ @OS@ = "OS2" ]; then \
  143:         TMP=tmp.libiconv; \
  144:         awk '! /^[ \t]cd po/ { print; }' \
  145:                 $(top_builddir)/tools/@ICONV@/Makefile > $$TMP; \
  146:         mv -f $$TMP $(top_builddir)/tools/@ICONV@/Makefile; \
  147:         $(MAKE) -C $(top_builddir)/tools/@ICONV@ $(AM_MAKEFLAGS) all; \
  148:     else \
  149:         $(MAKE) -C $(top_builddir)/tools/@ICONV@ $(AM_MAKEFLAGS) all; \
  150:     fi
  151: 
  152: $(top_builddir)/lapack/lapack/liblapack.a:
  153:     (cd $(top_builddir)/lapack/lapack && $(MAKE) $(AM_MAKEFLAGS))
  154: 
  155: $(top_builddir)/lapack/blas/libblas.a:
  156:     (cd $(top_builddir)/lapack/blas && $(MAKE) $(AM_MAKEFLAGS))
  157: 
  158: $(top_builddir)/rpliconv/rpliconv$(EXEEXT): \
  159:         $(top_builddir)/tools/@ICONV@/lib/.libs/@LIB_PREFIX@iconv.a
  160:     $(MAKE) -C $(top_builddir)/rpliconv $(AM_MAKEFLAGS)
  161: 
  162: $(top_builddir)/rplawk/rplawk$(EXEEXT):
  163:     $(MAKE) -C $(top_builddir)/rplawk $(AM_MAKEFLAGS)
  164: 
  165: $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT) \
  166:         $(top_builddir)/tools/@FILE@/magic/magic.mgc: \
  167:         $(top_builddir)/tools/@ICONV@/lib/.libs/@LIB_PREFIX@iconv.a
  168:     TMP=tmp.rplfile; \
  169:     awk \
  170:     '{ \
  171:         if (index($$0, "LDFLAGS") == 1) \
  172:         { \
  173:             if (index($$0, "-static") == 0) \
  174:             { \
  175:                 printf("%s -static @ABI@\n", $$0); \
  176:             } \
  177:             else \
  178:             { \
  179:                 print; \
  180:             } \
  181:         } \
  182:         else \
  183:         { \
  184:             if (index($$0, "CFLAGS") == 1) \
  185:             { \
  186:                 printf("CFLAGS = -O2 -g @ABI@\n"); \
  187:             } \
  188:             else \
  189:             { \
  190:                 print; \
  191:             } \
  192:         } \
  193:     }' tools/@FILE@/src/Makefile > $$TMP; \
  194:     mv -f $$TMP tools/@FILE@/src/Makefile
  195:     $(MAKE) -C $(top_builddir)/tools/@FILE@ $(AM_MAKEFLAGS)
  196:     $(CC) -o $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT) \
  197:             @CFLAGS@ $(top_builddir)/tools/@FILE@/src/*.o \
  198:             $(shell grep '^LIBS =' $(top_builddir)/tools/@FILE@/Makefile | \
  199:             cut -d= -f2) $(LDFLAGS)
  200: 
  201: $(top_builddir)/tools/@SQLITE@/.libs/@LIB_PREFIX@sqlite3.a:
  202:     $(MAKE) -C $(top_builddir)/tools/@SQLITE@ $(AM_MAKEFLAGS)
  203: 
  204: $(top_builddir)/tools/@OPENSSL@/@LIB_PREFIX@crypto.a \
  205:         $(top_builddir)/tools/@OPENSSL@/@LIB_PREFIX@ssl.a:
  206:     if [ ! -f $(top_builddir)/tools/@OPENSSL@/@LIB_PREFIX@crypto.a \
  207:             -o ! -f $(top_builddir)/tools/@OPENSSL@/@LIB_PREFIX@ssl.a \
  208:             -o ! -f $(top_builddir)/tools/@OPENSSL@/tests_success ]; then \
  209:         if [ @OS@ = "OS2" ]; then \
  210:             (cd $(top_builddir)/tools/@OPENSSL@ && \
  211:                     sed -e '1,$$s/-m486/-mtune=i586 -DOPENSSL_USE_IPV6=0/g' \
  212:                     OS2-EMX.mak | \
  213:                     sed -e '1,$$s/-DBN_ASM/-UBN_ASM/g' | \
  214:                     sed -e '1,$$s/-DMD5_ASM/-UMD5_ASM/g' | \
  215:                     sed -e '1,$$s/-DSHA1_ASM/-USHA1_ASM/g' | \
  216:                     sed -e '1,$$s/-DOPENSSL_BN_ASM_PART_WORDS/-UOPENSSL_BN_ASM_PART_ASM/g' \
  217:                     > OS2-EMX.mak2; \
  218:                     $(MAKE) -j1 -f OS2-EMX.mak2 $(AM_MAKEFLAGS); \
  219:                     touch tests_success); \
  220:         else \
  221:             (cd $(top_builddir)/tools/@OPENSSL@ && \
  222:                     $(MAKE) -j1 $(AM_MAKEFLAGS); \
  223:                     touch tests_success); \
  224:         fi \
  225:     fi
  226: 
  227: $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \
  228:         $(top_builddir)/rplsums/rplsha1sum$(EXEEXT): \
  229:         $(top_builddir)/tools/@OPENSSL@/@LIB_PREFIX@crypto.a
  230:     $(MAKE) -C $(top_builddir)/rplsums $(AM_MAKEFLAGS)
  231: 
  232: $(top_builddir)/tools/@GPP@/src/gpp$(EXEEXT):
  233:     $(MAKE) -C $(top_builddir)/tools/@GPP@ $(AM_MAKEFLAGS)
  234: 
  235: $(top_builddir)/tools/@UNITS@/units$(EXEEXT):
  236:     if [ @OS@ = OpenBSD ]; then \
  237:         TMP=tmp.units; \
  238:         sed -e 's/^DEFS = -DUNITSFILE/DEFS = -Dmalloc=malloc -DUNITSFILE/g' \
  239:                 @UNITS@/Makefile > $$TMP; \
  240:         mv -f $$TMP @UNITS@/Makefile; \
  241:     fi; \
  242:     $(MAKE) -C $(top_builddir)/tools/@UNITS@ $(AM_MAKEFLAGS)
  243: 
  244: .NOTPARALLEL: $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT) \
  245:         $(top_builddir)/tools/@FILE@/magic/magic.mgc
  246: 
  247: .NOTPARALLEL: $(top_builddir)/tools/@READLINE@/@LIB_PREFIX@readline.a \
  248:         $(top_builddir)/tools/@READLINE@/@LIB_PREFIX@history.a
  249: 
  250: .NOTPARALLEL: $(top_builddir)/tools/@OPENSSL@/@LIB_PREFIX@crypto.a \
  251:         $(top_builddir)/tools/@OPENSSL@/@LIB_PREFIX@ssl.a
  252: 
  253: .NOTPARALLEL: $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \
  254:         $(top_builddir)/rplsums/rplsha1sum$(EXEEXT)
  255: 
  256: install-strip:
  257:     $(MAKE) $(AM_MAKEFLAGS) install
  258: 
  259: $(top_builddir)/rplcas/lib/librplcas.a: \
  260:         $(top_builddir)/tools/@GSL@/.libs/@LIB_PREFIX@gsl.a
  261:     $(MAKE) -C $(top_builddir)/rplcas $(AM_MAKEFLAGS)
  262: 
  263: $(top_builddir)/tools/@OPENMOTIF@/lib/Xm/.libs/libXm.a: \
  264:         $(top_builddir)/tools/@LIBXPM@/src/.libs/libXpm.a
  265:     $(MAKE) -C $(top_builddir)/tools/@OPENMOTIF@ -j1
  266: 
  267: $(top_builddir)/tools/@LIBXPM@/src/.libs/libXpm.a:
  268:     $(MAKE) -C $(top_builddir)/tools/@LIBXPM@ $(AM_MAKEFLAGS)
  269: 
  270: $(top_builddir)/tools/@SIGSEGV@/src/.libs/@LIB_PREFIX@sigsegv.a:
  271:     $(MAKE) -C $(top_builddir)/tools/@SIGSEGV@ $(AM_MAKEFLAGS)
  272: 
  273: all-rpl: $(top_builddir)/tools/@NCURSES@/lib/@LIB_PREFIX@ncurses.a \
  274:         $(top_builddir)/tools/@READLINE@/@LIB_PREFIX@readline.a \
  275:         $(top_builddir)/tools/@READLINE@/@LIB_PREFIX@history.a \
  276:         $(top_builddir)/tools/@GSL@/.libs/@LIB_PREFIX@gsl.a \
  277:         $(top_builddir)/tools/@SQLITE@/.libs/@LIB_PREFIX@sqlite3.a \
  278:         $(top_builddir)/tools/@OPENSSL@/@LIB_PREFIX@crypto.a \
  279:         $(top_builddir)/tools/@OPENSSL@/libssl.a \
  280:         $(top_builddir)/tools/@ZLIB@/libz.a \
  281:         $(top_builddir)/lapack/lapack/liblapack.a \
  282:         $(top_builddir)/lapack/blas/libblas.a \
  283:         $(top_builddir)/rpliconv/rpliconv$(EXEEXT) \
  284:         $(top_builddir)/rplawk/rplawk$(EXEEXT) \
  285:         $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT) \
  286:         $(top_builddir)/tools/@FILE@/magic/magic.mgc \
  287:         $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \
  288:         $(top_builddir)/rplsums/rplsha1sum$(EXEEXT) \
  289:         $(top_builddir)/tools/@GPP@/src/gpp$(EXEEXT) \
  290:         $(top_builddir)/tools/@UNITS@/units$(EXEEXT) \
  291:         $(top_builddir)/tools/@SIGSEGV@/src/.libs/@LIB_PREFIX@sigsegv.a \
  292:         @LIBRPLCAS@ @LIBMOTIF@
  293: # Cette règle n'est là que pour forcer la compilation de Gnuplot.
  294:     $(MAKE) -C $(top_builddir)/tools $(AM_MAKEFLAGS)
  295:     $(MAKE) -C $(top_builddir)/rpltags $(AM_MAKEFLAGS)
  296:     $(MAKE) -C $(top_builddir)/src $(AM_MAKEFLAGS)
  297: 
  298: debian: all
  299:     $(MAKE) -C $(top_builddir)/src $(AM_MAKEFLAGS) librpl
  300:     $(MKDIR_P) $(top_builddir)/debian/$(prefix)/bin
  301:     for i in $(top_builddir)/src/rpl$(EXEEXT) $(top_builddir)/scripts/rplcc \
  302:             $(top_builddir)/scripts/rpllink $(top_builddir)/scripts/mkrplso \
  303:             $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT) \
  304:             $(top_builddir)/rpltags/rpltags$(EXEEXT) \
  305:             $(top_builddir)/rplawk/rplawk$(EXEEXT) \
  306:             $(top_builddir)/rpliconv/rpliconv$(EXEEXT); \
  307:     do cp -f $$i $(top_builddir)/debian/$(prefix)/bin; \
  308:     done
  309:     cp $(top_builddir)/tools/@UNITS@/units$(EXEEXT) \
  310:             $(top_builddir)/debian/$(prefix)/bin/rplconvert$(EXEEXT)
  311:     cp $(top_builddir)/tools/@GPP@/src/gpp$(EXEEXT) \
  312:             $(top_builddir)/debian/$(prefix)/bin/rplpp$(EXEEXT)
  313:     $(MKDIR_P) $(top_builddir)/debian/$(prefix)/include
  314:     for i in $(srcdir)/src/librpl.h $(top_builddir)/rplconfig.h \
  315:         $(srcdir)/src/rpl.h $(srcdir)/src/rpltypes.h \
  316:             $(top_builddir)/src/librplprototypes.h \
  317:             $(srcdir)/src/rplexternals.h $(top_builddir)/src/rpl.inc; \
  318:     do cp -f $$i $(top_builddir)/debian/$(prefix)/include; \
  319:     done
  320:     $(MKDIR_P) $(top_builddir)/debian/$(prefix)/lib
  321:     cp -f $(top_builddir)/src/librpl.a $(top_builddir)/debian/$(prefix)/lib
  322:     for j in man/man1 man/fr_FR/man1; \
  323:     do \
  324:         $(MKDIR_P) $(top_builddir)/debian/$(prefix)/$$j; \
  325:         for i in $(top_builddir)/$$j/gpp.1 $(top_builddir)/$$j/mkrplso.1 \
  326:                 $(top_builddir)/$$j/rpl.1 $(top_builddir)/$$j/rplcc.1 \
  327:                 $(top_builddir)/$$j/rpllink.1 $(top_builddir)/$$j/rplpp.1 \
  328:                 $(top_builddir)/$$j/rpltags.1; \
  329:         do \
  330:             if [ -f $$i ]; then \
  331:                 cp -f $$i $(top_builddir)/debian/$(prefix)/$$j; \
  332:             fi; \
  333:         done; \
  334:     done
  335:     $(MKDIR_P) $(top_builddir)/debian/$(prefix)/share
  336:     cp -f $(top_builddir)/tools/@FILE@/magic/magic.mgc \
  337:             $(top_builddir)/debian/$(prefix)/share/rplfiles.mgc
  338:     cp -f $(srcdir)/tools/@UNITS@/definitions.units \
  339:             $(top_builddir)/debian/$(prefix)/share/rplunits.tmp
  340:     sed 's/^!include currency.units//g' \
  341:             $(top_builddir)/debian/$(prefix)/share/rplunits.tmp \
  342:             > $(top_builddir)/debian/$(prefix)/share/rplunits
  343:     rm -f $(top_builddir)/debian/$(prefix)/share/rplunits.tmp
  344:     if [ -e $(top_builddir)/tools/@GNUPLOT@/src/gnuplot$(EXEEXT) ]; then \
  345:         if [ -e $(prefix)/bin/gnuplot$(EXEEXT) ]; then \
  346:             mv -f $(prefix)/bin/gnuplot$(EXEEXT) \
  347:                     $(prefix)/bin/gnuplot$(EXEEXT).orig; \
  348:             mv -f $(prefix)/share/gnuplot $(prefix)/share/gnuplot.orig; \
  349:             mv -f $(prefix)/libexec/gnuplot $(prefix)/libexec/gnuplot.orig; \
  350:             (cd $(top_builddir)/tools/@GNUPLOT@ && $(MAKE) install); \
  351:             cp -f $(prefix)/bin/gnuplot$(EXEEXT) \
  352:                     $(top_builddir)/debian/$(prefix)/bin; \
  353:             cp -af $(prefix)/share/gnuplot \
  354:                     $(top_builddir)/debian/$(prefix)/share; \
  355:             $(MKDIR_P) $(top_builddir)/debian/$(prefix)/libexec; \
  356:             cp -af $(prefix)/libexec/gnuplot \
  357:                     $(top_builddir)/debian/$(prefix)/libexec; \
  358:             (cd $(top_builddir)/tools/@GNUPLOT@ && $(MAKE) uninstall); \
  359:             rm -f $(prefix)/bin/gnuplot$(EXEEXT); \
  360:             rm -rf $(prefix)/share/gnuplot; \
  361:             rm -rf $(prefix)/libexec/gnuplot; \
  362:             mv $(prefix)/bin/gnuplot$(EXEEXT).orig \
  363:                     $(prefix)/bin/gnuplot$(EXEEXT); \
  364:             mv -f $(prefix)/share/gnuplot.orig $(prefix)/share/gnuplot; \
  365:             mv -f $(prefix)/libexec/gnuplot.orig $(prefix)/libexec/gnuplot; \
  366:         else \
  367:             (cd $(top_builddir)/tools/@GNUPLOT@ && $(MAKE) install); \
  368:             cp -f $(prefix)/bin/gnuplot$(EXEEXT) \
  369:                     $(top_builddir)/debian/$(prefix)/bin; \
  370:             cp -af $(prefix)/share/gnuplot \
  371:                     $(top_builddir)/debian/$(prefix)/share; \
  372:             $(MKDIR_P) $(top_builddir)/debian/$(prefix)/libexec; \
  373:             cp -af $(prefix)/libexec/gnuplot \
  374:                     $(top_builddir)/debian/$(prefix)/libexec; \
  375:             (cd $(top_builddir)/tools/@GNUPLOT@ && $(MAKE) uninstall); \
  376:         fi; \
  377:     fi
  378:     $(MKDIR_P) $(top_builddir)/debian/DEBIAN
  379:     cp -f $(top_builddir)/DEBIAN/* $(top_builddir)/debian/DEBIAN
  380:     (cd  $(top_builddir) && dpkg-deb --build debian debian)

CVSweb interface <joel.bertrand@systella.fr>