File:  [local] / rpl / src / Makefile.am
Revision 1.9: download - view: text, annotated - select for diffs - revision graph
Sun Mar 7 17:03:29 2010 UTC (14 years, 1 month ago) by bertrand
Branches: MAIN
CVS tags: rpl-4_0_12, HEAD
Ajout de la gestion des fichiers formatés à accès direct.

    1: ldadd_libncurses = $(top_builddir)/tools/@NCURSES@/lib/libncurses.a
    2: include_libncurses = -I$(top_builddir)/tools/@NCURSES@/include \
    3:         -I$(top_srcdir)/tools/@NCURSES@/include
    4: 
    5: ldadd_libhistory = $(top_builddir)/tools/@READLINE@/libhistory.a
    6: ldadd_libreadline = $(top_builddir)/tools/@READLINE@/libreadline.a
    7: include_libreadline = -I$(top_srcdir)/tools/@READLINE@ \
    8:         -I$(top_builddir)/tools/@READLINE@ -DREADLINE_LIBRARY
    9: 
   10: ldadd_libgsl = $(top_builddir)/tools/@GSL@/.libs/libgsl.a
   11: include_libgsl = -I$(top_builddir)/tools/@GSL@
   12: 
   13: ldadd_libiconv = $(top_builddir)/tools/@ICONV@/lib/.libs/libiconv.a
   14: include_libiconv = -I$(top_builddir)/tools/@ICONV@/include
   15: 
   16: ldadd_libcrypto = $(top_builddir)/tools/@OPENSSL@/libcrypto.a
   17: include_libcrypto = -I$(top_builddir)/tools/@OPENSSL@/include
   18: 
   19: ldadd_libsqlite = $(top_builddir)/tools/@SQLITE@/.libs/libsqlite3.a
   20: include_libsqlite = -I$(top_builddir)/tools/@SQLITE@/include
   21: 
   22: date := -Dd_date_rpl="\"$(shell LC_ALL=fr_FR date +'%A %x, %X %Z' | \
   23:         awk '{ v=$$0; gsub(/^[ \t]+/, "", v); gsub(/[ \t]+$$/, "", v); \
   24:         printf("%s\n", v);}')\"" \
   25:         -Dd_date_en_rpl="\"$(shell LC_ALL=C date +'%A %x, %X %Z' | \
   26:         awk '{ v=$$0; gsub(/^[ \t]+/, "", v); gsub(/[ \t]+$$/, "", v); \
   27:         printf("%s\n", v);}')\""
   28: 
   29: hash := -Drplpp_md5="\"$(shell $(top_builddir)/rplsums/rplmd5sum \
   30:         $(top_builddir)/tools/@GPP@/src/gpp$(EXEEXT))\"" \
   31:         -Drplpp_sha1="\"$(shell $(top_builddir)/rplsums/rplsha1sum \
   32:         $(top_builddir)/tools/@GPP@/src/gpp$(EXEEXT))\"" \
   33:         -Drplfile_md5="\"$(shell $(top_builddir)/rplsums/rplmd5sum \
   34:         $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT))\"" \
   35:         -Drplfile_sha1="\"$(shell $(top_builddir)/rplsums/rplsha1sum \
   36:         $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT))\"" \
   37:         -Drpliconv_md5="\"$(shell $(top_builddir)/rplsums/rplmd5sum \
   38:         $(top_builddir)/rpliconv/rpliconv$(EXEEXT))\"" \
   39:         -Drpliconv_sha1="\"$(shell $(top_builddir)/rplsums/rplsha1sum \
   40:         $(top_builddir)/rpliconv/rpliconv$(EXEEXT))\"" \
   41:         -Drplconvert_md5="\"$(shell $(top_builddir)/rplsums/rplmd5sum \
   42:         $(top_builddir)/tools/@UNITS@/units$(EXEEXT))\"" \
   43:         -Drplconvert_sha1="\"$(shell $(top_builddir)/rplsums/rplsha1sum \
   44:         $(top_builddir)/tools/@UNITS@/units$(EXEEXT))\""
   45: 
   46: SRCC=\
   47:     algebre_lineaire1.c\
   48:     algebre_lineaire2.c\
   49:     algebre_lineaire3.c\
   50:     algebre_lineaire4.c\
   51:     analyse.c\
   52:     analyse_notation_algebrique.c\
   53:     analyse_notation_rpn.c\
   54:     asprintf.c\
   55:     bibliotheques_externes.c\
   56:     calcul_differentiel.c\
   57:     calcul_integral.c\
   58:     chainage.c\
   59:     chiffrement.c\
   60:     compilation.c\
   61:     completion.c\
   62:     controle.c \
   63:     daemon.c\
   64:     date.c\
   65:     depassements.c\
   66:     dft.c\
   67:     encart.c\
   68:     evaluation.c\
   69:     fonctions_trigonometriques.c\
   70:     formateur.c\
   71:     formateur_fichiers.c\
   72:     fusible.c\
   73:     generateurs_aleatoires.c\
   74:     gestion_fichiers.c\
   75:     gestion_interruptions.c\
   76:     gestion_niveaux.c\
   77:     gestion_objets.c\
   78:     gestion_pile.c\
   79:     gestion_pile_last.c\
   80:     gestion_pile_systeme.c\
   81:     gestion_processus.c\
   82:     gestion_threads.c\
   83:     gestion_variables.c\
   84:     gestion_variables_statiques.c\
   85:     gestion_variables_partagees.c\
   86:     indicateurs.c\
   87:     instructions_a1.c\
   88:     instructions_a2.c\
   89:     instructions_a3.c\
   90:     instructions_a4.c\
   91:     instructions_a5.c\
   92:     instructions_b1.c\
   93:     instructions_c1.c\
   94:     instructions_c2.c\
   95:     instructions_c3.c\
   96:     instructions_c4.c\
   97:     instructions_c5.c\
   98:     instructions_c6.c\
   99:     instructions_c7.c\
  100:     instructions_d1.c\
  101:     instructions_d2.c\
  102:     instructions_d3.c\
  103:     instructions_d4.c\
  104:     instructions_d5.c\
  105:     instructions_d6.c\
  106:     instructions_e1.c\
  107:     instructions_e2.c\
  108:     instructions_e3.c\
  109:     instructions_e4.c\
  110:     instructions_f1.c\
  111:     instructions_f2.c\
  112:     instructions_f3.c\
  113:     instructions_f4.c\
  114:     instructions_g1.c\
  115:     instructions_g2.c\
  116:     instructions_g3.c\
  117:     instructions_g4.c\
  118:     instructions_h1.c\
  119:     instructions_h2.c\
  120:     instructions_i1.c\
  121:     instructions_i2.c\
  122:     instructions_i3.c\
  123:     instructions_i4.c\
  124:     instructions_j1.c\
  125:     instructions_k1.c\
  126:     instructions_l1.c\
  127:     instructions_l2.c\
  128:     instructions_l3.c\
  129:     instructions_l4.c\
  130:     instructions_l5.c\
  131:     instructions_m1.c\
  132:     instructions_m2.c\
  133:     instructions_m3.c\
  134:     instructions_m4.c\
  135:     instructions_n1.c\
  136:     instructions_n2.c\
  137:     instructions_o1.c\
  138:     instructions_o2.c\
  139:     instructions_p1.c\
  140:     instructions_p2.c\
  141:     instructions_p3.c\
  142:     instructions_p4.c\
  143:     instructions_p5.c\
  144:     instructions_p6.c\
  145:     instructions_p7.c\
  146:     instructions_q1.c\
  147:     instructions_r1.c\
  148:     instructions_r2.c\
  149:     instructions_r3.c\
  150:     instructions_r4.c\
  151:     instructions_r5.c\
  152:     instructions_r6.c\
  153:     instructions_s1.c\
  154:     instructions_s2.c\
  155:     instructions_s3.c\
  156:     instructions_s4.c\
  157:     instructions_s5.c\
  158:     instructions_s6.c\
  159:     instructions_s7.c\
  160:     instructions_s8.c\
  161:     instructions_s9.c\
  162:     instructions_s10.c\
  163:     instructions_t1.c\
  164:     instructions_t2.c\
  165:     instructions_t3.c\
  166:     instructions_u1.c\
  167:     instructions_v1.c\
  168:     instructions_v2.c\
  169:     instructions_w1.c\
  170:     instructions_w2.c\
  171:     instructions_x1.c\
  172:     instructions_x2.c\
  173:     instructions_y1.c\
  174:     interface_gnuplot.c\
  175:     interface_tex.c\
  176:     interruptions.c\
  177:     messages.c\
  178:     occupation_memoire.c\
  179:     operations_atomiques.c\
  180:     operations_binaires.c\
  181:     optimisation.c\
  182:     profilage.c\
  183:     rpl.c\
  184:     rplcore.c\
  185:     sequenceur.c\
  186:     simplification.c\
  187:     sommations.c\
  188:     sql.c\
  189:     statistiques.c\
  190:     transliteration.c\
  191:     types.c
  192: 
  193: SRCH=\
  194:     completion.h\
  195:     convert.h\
  196:     copyright.h\
  197:     garanties.h\
  198:     gnuplot.h\
  199:     librpl.h\
  200:     licence.h\
  201:     rpl.h\
  202:     rplexternals.h\
  203:     rpltypes.h\
  204:     tex.h\
  205:     usages.h\
  206:     vim.h
  207: 
  208: SRCF=\
  209:     arithmetique.f\
  210:     bibliotheque_logarithmique.f\
  211:     bibliotheque_trigonometrique.f
  212: 
  213: SRCF90=\
  214:     combinaisons.F90\
  215:     distributions.F90\
  216:     fonctions_speciales.F90
  217: 
  218: SRCINC=\
  219:     rplftypes.inc
  220: 
  221: SRCXPM=\
  222:     rpl.xpm
  223: 
  224: INIT_EXE=init.c
  225: 
  226: INIT_LIB=librpl.c
  227: 
  228: LIB=-lz @LIBMTMALLOC@
  229: 
  230: bin_PROGRAMS = rpl
  231: lib_LIBRARIES = librpl.a
  232: 
  233: SRCCc=$(SRCC:.c=.conv.c)
  234: SRCHc=$(SRCH:.h=.conv.h)
  235: SRCFc=$(SRCF:.f=.conv.f)
  236: SRCF90c=$(SRCF90:.F90=.conv.F90)
  237: SRCINCc=$(SRCINC:.inc=.conv.inc)
  238: INIT_LIBc=$(INIT_LIB:.c=.conv.c)
  239: INIT_EXEc=$(INIT_EXE:.c=.conv.c)
  240: 
  241: %.conv.c: %.c
  242:     $(top_builddir)/rpliconv/rpliconv \
  243:             -f `$(top_builddir)/tools/@FILE@/src/rplfile \
  244:             -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \
  245:             awk -F= '{print $$2;}'` \
  246:             -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@
  247: 
  248: %.conv.h: %.h
  249:     $(top_builddir)/rpliconv/rpliconv \
  250:             -f `$(top_builddir)/tools/@FILE@/src/rplfile \
  251:             -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \
  252:             awk -F= '{print $$2;}'` \
  253:             -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@
  254: 
  255: %.conv.f: %.f
  256:     $(top_builddir)/rpliconv/rpliconv \
  257:             -f `$(top_builddir)/tools/@FILE@/src/rplfile \
  258:             -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \
  259:             awk -F= '{print $$2;}'` \
  260:             -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@
  261: 
  262: %.conv.F90: %.F90
  263:     $(top_builddir)/rpliconv/rpliconv \
  264:             -f `$(top_builddir)/tools/@FILE@/src/rplfile \
  265:             -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \
  266:             awk -F= '{print $$2;}'` \
  267:             -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@
  268: 
  269: %.conv.inc: %.inc
  270:     $(top_builddir)/rpliconv/rpliconv \
  271:             -f `$(top_builddir)/tools/@FILE@/src/rplfile \
  272:             -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \
  273:             awk -F= '{print $$2;}'` \
  274:             -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@
  275: 
  276: licences:
  277:     cat $(srcdir)/../COPYING > $(srcdir)/licence.h
  278:     echo >> $(srcdir)/licence.h
  279:     echo >> $(srcdir)/licence.h
  280:     echo "#ifndef INCLUSION_LICENCE" >> $(srcdir)/licence.h
  281:     echo "#   define INCLUSION_LICENCE" >> $(srcdir)/licence.h
  282:     echo "    unsigned char CeCILL_fr[] =" >> $(srcdir)/licence.h
  283:     sed -e '1,$$s/"/\\"/g' $(srcdir)/../Licence_CeCILL_V2-fr.txt | \
  284:             awk -F'\n' '{ printf("\"%s\\n\"\n", $$1);}' \
  285:             >> $(srcdir)/licence.h
  286:     echo "    ;" >> $(srcdir)/licence.h
  287:     echo "    unsigned char CeCILL_en[] =" >> $(srcdir)/licence.h
  288:     sed -e '1,$$s/"/\\"/g' $(srcdir)/../Licence_CeCILL_V2-en.txt | \
  289:             awk -F'\n' '{ printf("\"%s\\n\"\n", $$1);}' \
  290:             >> $(srcdir)/licence.h
  291:     echo "    ;" >> $(srcdir)/licence.h
  292:     echo "#endif" >> $(srcdir)/licence.h
  293:     echo >> $(srcdir)/licence.h
  294:     echo "// vim: ts=4" >> $(srcdir)/licence.h
  295:     for i in $(SRCC) $(SRCH) $(INIT_EXE) $(INIT_LIB); \
  296:     do \
  297:         cat $(srcdir)/../COPYING > $(srcdir)/tmp; \
  298:         echo >> $(srcdir)/tmp; \
  299:         echo >> $(srcdir)/tmp; \
  300:         awk -F'\n' 'BEGIN {d=0;} /^#/ {d=1;} {if(d==1) print $$1;}' \
  301:                 $(srcdir)/$$i >> $(srcdir)/tmp; \
  302:         mv -f $(srcdir)/tmp $(srcdir)/$$i; \
  303:     done
  304:     for i in $(SRCINC); \
  305:     do \
  306:         iconv -f `file -i $(srcdir)/../COPYING | awk -F= '{print $$2;}'` \
  307:                 $(srcdir)/../COPYING | \
  308:                 awk -F'\n' '! (/^\/\*/ || /^\*\//) \
  309:                 {printf("!%s\n", substr($$1,2));}' | \
  310:                 iconv -t `file -i $(srcdir)/../COPYING | \
  311:                 awk -F= '{print $$2;}'` > $(srcdir)/tmp; \
  312:         awk -F'\n' 'BEGIN {d=0;} ! /^!/ {d=1;} {if(d==1) print $$1;}' \
  313:                 $(srcdir)/$$i >> $(srcdir)/tmp; \
  314:         mv -f $(srcdir)/tmp $(srcdir)/$$i; \
  315:     done
  316:     for i in $(SRCF); \
  317:     do \
  318:         iconv -f `file -i $(srcdir)/../COPYING | awk -F= '{print $$2;}'` \
  319:                 $(srcdir)/../COPYING | \
  320:                 awk -F'\n' '! (/^\/\*/ || /^\*\//) \
  321:                 {printf("C%s\n", substr($$1,2));}' | \
  322:                 iconv -t `file -i $(srcdir)/../COPYING | \
  323:                 awk -F= '{print $$2;}'` > $(srcdir)/tmp; \
  324:         awk -F'\n' 'BEGIN {d=0;} ! /^C/ {d=1;} {if(d==1) print $$1;}' \
  325:                 $(srcdir)/$$i >> $(srcdir)/tmp; \
  326:         mv -f $(srcdir)/tmp $(srcdir)/$$i; \
  327:     done
  328:     for i in $(SRCF90); \
  329:     do \
  330:         iconv -f `file -i $(srcdir)/../COPYING | awk -F= '{print $$2;}'` \
  331:                 $(srcdir)/../COPYING | \
  332:                 awk -F'\n' '! (/^\/\*/ || /^\*\//) \
  333:                 {printf("!%s\n", substr($$1,2));}' | \
  334:                 iconv -t `file -i $(srcdir)/../COPYING | \
  335:                 awk -F= '{print $$2;}'` > $(srcdir)/tmp; \
  336:         awk -F'\n' 'BEGIN {d=0;} ! /^!/ {d=1;} {if(d==1) print $$1;}' \
  337:                 $(srcdir)/$$i >> $(srcdir)/tmp; \
  338:         mv -f $(srcdir)/tmp $(srcdir)/$$i; \
  339:     done
  340: 
  341: librplprototypes.h: rpl.h conversion.awk
  342:     awk -f $(srcdir)/conversion.awk $(srcdir)/rpl.h > \
  343:             $(top_builddir)/src/librplprototypes.h
  344: generateurs.c: generateurs_aleatoires.awk
  345:     awk -f $(srcdir)/generateurs_aleatoires.awk \
  346:             $(srcdir)/../tools/@GSL@/rng/gsl_rng.h > \
  347:             $(top_builddir)/src/generateurs.c
  348: 
  349: EXTRA_DIST = $(SRCC) $(SRCH) $(SRCF) $(SRCF90) $(SRCINC) \
  350:         $(INIT_EXE) $(INIT_LIB) $(SRCXPM) \
  351:         conversion.awk generateurs_aleatoires.awk
  352: BUILT_SOURCES = librplprototypes.h generateurs.c \
  353:         $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) \
  354:         $(INIT_LIBc) $(SRCINCc) $(INIT_EXEc)
  355: CLEANFILES= $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) $(SRCINCc) \
  356:         $(INIT_LIBc) $(INIT_EXEc) librplprototypes.h
  357: 
  358: nodist_rpl_SOURCES = $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) $(INIT_EXEc) \
  359:         $(SRCXPM) $(SRCINCc)
  360: #rpl_LDFLAGS = -g @PROFILAGE@ $(LIB) -rdynamic
  361: rpl_LDFLAGS = -g @PROFILAGE@ $(LIB) -export-dynamic
  362: 
  363: rpl_CFLAGS = $(AM_CFLAGS) -Wall -Wextra \
  364:              -Wno-pointer-sign -Wno-unused-parameter
  365: rpl_FFLAGS = $(AM_FFLAGS) -fno-f2c
  366: rpl_FCFLAGS = $(AM_FCFLAGS) -fno-second-underscore -fno-f2c
  367: 
  368: nodist_librpl_a_SOURCES = $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) $(INIT_LIBc) \
  369:          $(SRCXPM) $(SRCINCc)
  370: librpl_a_CFLAGS = $(AM_CFLAGS) -DLIBRPL \
  371:         -Wall -Wextra -Wno-pointer-sign -Wno-unused-parameter
  372: librpl_a_FFLAGS = $(AM_FFLAGS) -ff2c
  373: librpl_a_FCFLAGS = $(AM_FCLAGS) -fno-second-underscore
  374: 
  375: include_HEADERS = rplexternals.h rpltypes.h rpl.h librpl.h
  376: 
  377: INCLUDES = -I$(srcdir) -I$(top_builddir) \
  378:         $(include_libreadline) $(include_libncurses) $(include_libgsl) \
  379:         $(include_libiconv) $(include_libcrypto) $(include_libsqlite)\
  380:         @includeX@ @libMySQLinc@ @libPgSQLinc@
  381: DEFS = -DHAVE_CONFIG_H -Dd_version_rpl=\"@VERSION@\" \
  382:         -Dd_exec_path=\"@RUNPATH@\" @FORCE_GNUPLOT_PATH@ @DEBUG@ \
  383:         @MOTIF_SUPPORT@ @POSTSCRIPT_SUPPORT@ @GNUPLOT_SUPPORT@ \
  384:         @VIM_SUPPORT@ @MYSQL_SUPPORT@ @POSTGRESQL_SUPPORT@ \
  385:         @EXPERIMENTAL_CODE@ $(date) $(hash) -g @PROFILAGE@ \
  386:         -Dd_locale=\"$(shell locale charmap)\" \
  387:         -D@OS@
  388: rpl_LDADD = $(top_builddir)/lapack/lapack/liblapack.a \
  389:         $(top_builddir)/lapack/blas/libblas.a \
  390:         $(ldadd_libhistory) $(ldadd_libreadline) $(ldadd_libncurses) \
  391:         $(ldadd_libiconv) $(ldadd_libcrypto) $(ldadd_libsqlite) \
  392:         $(ldadd_libgsl) @libX@ @libMySQLlib@ @libPgSQLlib@
  393: 
  394: always: $(top_builddir)/src/rpl.conv.c
  395:     touch $(top_builddir)/src/rpl.conv.c; \
  396:     (cd $(srcdir); ctags $(SRCC) $(SRCF) $(SRCF90) $(SRCH) $(SRCINC) \
  397:             $(INIT_LIB) $(INIT_EXE) 2>&1 /dev/null);
  398: 
  399: .PHONY: always librpl licences
  400: 
  401: all-local: always
  402: 
  403: install-exec-local: librpl
  404: 
  405: librpl: install-libLIBRARIES
  406:     echo \
  407:         open $(libdir)/librpl.a+ \
  408:         addlib $(top_builddir)/lapack/lapack/liblapack.a+ \
  409:         addlib $(top_builddir)/lapack/blas/libblas.a+ \
  410:         addlib $(ldadd_libhistory)+ \
  411:         addlib $(ldadd_libreadline)+ \
  412:         addlib $(ldadd_libncurses)+ \
  413:         addlib $(ldadd_libgsl)+ \
  414:         addlib $(ldadd_libiconv)+ \
  415:         addlib $(ldadd_libcrypto)+ \
  416:         addlib $(ldadd_libsqlite)+ \
  417:         save+ \
  418:         end \
  419:     | tr '+' '\n' | ar -M; \
  420:     $(RANLIB) $(libdir)/librpl.a

CVSweb interface <joel.bertrand@systella.fr>