File:  [local] / rpl / src / Makefile.am
Revision 1.10: download - view: text, annotated - select for diffs - revision graph
Wed Mar 17 14:14:36 2010 UTC (14 years, 1 month ago) by bertrand
Branches: MAIN
CVS tags: HEAD
Correction de bugs de compilation.

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

CVSweb interface <joel.bertrand@systella.fr>