--- rpl/src/Makefile.am 2010/03/04 10:09:31 1.5 +++ rpl/src/Makefile.am 2010/08/09 13:51:47 1.31 @@ -10,16 +10,44 @@ include_libreadline = -I$(top_srcdir)/to ldadd_libgsl = $(top_builddir)/tools/@GSL@/.libs/libgsl.a include_libgsl = -I$(top_builddir)/tools/@GSL@ -ldadd_libiconv = $(top_builddir)/tools/@ICONV@/lib/.libs/@LIBICONV@ +ldadd_libiconv = $(top_builddir)/tools/@ICONV@/lib/.libs/libiconv.a include_libiconv = -I$(top_builddir)/tools/@ICONV@/include -date := -Dd_date_rpl="\"$(shell LC_ALL=fr_FR date +'%A %x, %X %Z' | \ - awk '{ v=$$0; gsub(/^[ \t]+/, "", v); gsub(/[ \t]+$$/, "", v); \ +ldadd_libcrypto = $(top_builddir)/tools/@OPENSSL@/libcrypto.a +ldadd_libssl = $(top_builddir)/tools/@OPENSSL@/libssl.a +include_libcrypto = -I$(top_builddir)/tools/@OPENSSL@/include + +ldadd_libsqlite = $(top_builddir)/tools/@SQLITE@/.libs/libsqlite3.a +include_libsqlite = -I$(top_srcdir)/tools/@SQLITE@ + +date = -Dd_date_rpl="\"$(shell LC_ALL=fr_FR date +'%A %x, %X %Z' | \ + $(AWK) '{ v=$$0; gsub(/^[ \t]+/, "", v); gsub(/[ \t]+$$/, "", v); \ printf("%s\n", v);}')\"" \ -Dd_date_en_rpl="\"$(shell LC_ALL=C date +'%A %x, %X %Z' | \ - awk '{ v=$$0; gsub(/^[ \t]+/, "", v); gsub(/[ \t]+$$/, "", v); \ + $(AWK) '{ v=$$0; gsub(/^[ \t]+/, "", v); gsub(/[ \t]+$$/, "", v); \ printf("%s\n", v);}')\"" +hash.h: + $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \ + $(top_builddir)/tools/@GPP@/src/gpp$(EXEEXT) > $@ + +hash = -Drplpp_md5="\"$(shell $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \ + $(top_builddir)/tools/@GPP@/src/gpp$(EXEEXT))\"" \ + -Drplpp_sha1="\"$(shell $(top_builddir)/rplsums/rplsha1sum$(EXEEXT) \ + $(top_builddir)/tools/@GPP@/src/gpp$(EXEEXT))\"" \ + -Drplfile_md5="\"$(shell $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \ + $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT))\"" \ + -Drplfile_sha1="\"$(shell $(top_builddir)/rplsums/rplsha1sum$(EXEEXT) \ + $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT))\"" \ + -Drpliconv_md5="\"$(shell $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \ + $(top_builddir)/rpliconv/rpliconv$(EXEEXT))\"" \ + -Drpliconv_sha1="\"$(shell $(top_builddir)/rplsums/rplsha1sum$(EXEEXT) \ + $(top_builddir)/rpliconv/rpliconv$(EXEEXT))\"" \ + -Drplconvert_md5="\"$(shell $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \ + $(top_builddir)/tools/@UNITS@/units$(EXEEXT))\"" \ + -Drplconvert_sha1="\"$(shell $(top_builddir)/rplsums/rplsha1sum$(EXEEXT) \ + $(top_builddir)/tools/@UNITS@/units$(EXEEXT))\"" + SRCC=\ algebre_lineaire1.c\ algebre_lineaire2.c\ @@ -35,6 +63,7 @@ SRCC=\ chainage.c\ compilation.c\ completion.c\ + controle.c \ daemon.c\ date.c\ depassements.c\ @@ -58,6 +87,7 @@ SRCC=\ gestion_variables.c\ gestion_variables_statiques.c\ gestion_variables_partagees.c\ + getaddrinfo.c\ indicateurs.c\ instructions_a1.c\ instructions_a2.c\ @@ -107,6 +137,7 @@ SRCC=\ instructions_m2.c\ instructions_m3.c\ instructions_m4.c\ + instructions_m5.c\ instructions_n1.c\ instructions_n2.c\ instructions_o1.c\ @@ -157,6 +188,7 @@ SRCC=\ profilage.c\ rpl.c\ rplcore.c\ + semaphores.c\ sequenceur.c\ simplification.c\ sommations.c\ @@ -170,6 +202,7 @@ SRCH=\ convert.h\ copyright.h\ garanties.h\ + getaddrinfo.h\ gnuplot.h\ librpl.h\ licence.h\ @@ -200,52 +233,54 @@ INIT_EXE=init.c INIT_LIB=librpl.c -LIB=-lz @LIBMTMALLOC@ +# @MALLOC@ doit être la première bibliothèque pour éviter que la libgfortran +# utilise un allocateur différent. +LIB=-lz @MALLOC@ bin_PROGRAMS = rpl lib_LIBRARIES = librpl.a -SRCCc=$(SRCC:.c=.conv.c) -SRCHc=$(SRCH:.h=.conv.h) -SRCFc=$(SRCF:.f=.conv.f) -SRCF90c=$(SRCF90:.F90=.conv.F90) -SRCINCc=$(SRCINC:.inc=.conv.inc) -INIT_LIBc=$(INIT_LIB:.c=.conv.c) -INIT_EXEc=$(INIT_EXE:.c=.conv.c) +SRCCc=$(SRCC:.c=-conv.c) +SRCHc=$(SRCH:.h=-conv.h) +SRCFc=$(SRCF:.f=-conv.f) +SRCF90c=$(SRCF90:.F90=-conv.F90) +SRCINCc=$(SRCINC:.inc=-conv.inc) +INIT_LIBc=$(INIT_LIB:.c=-conv.c) +INIT_EXEc=$(INIT_EXE:.c=-conv.c) -%.conv.c: %.c +%-conv.c: %.c $(top_builddir)/rpliconv/rpliconv \ -f `$(top_builddir)/tools/@FILE@/src/rplfile \ -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \ - awk -F= '{print $$2;}'` \ + $(AWK) -F= '{print $$2;}'` \ -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@ -%.conv.h: %.h +%-conv.h: %.h $(top_builddir)/rpliconv/rpliconv \ -f `$(top_builddir)/tools/@FILE@/src/rplfile \ -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \ - awk -F= '{print $$2;}'` \ + $(AWK) -F= '{print $$2;}'` \ -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@ -%.conv.f: %.f +%-conv.f: %.f $(top_builddir)/rpliconv/rpliconv \ -f `$(top_builddir)/tools/@FILE@/src/rplfile \ -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \ - awk -F= '{print $$2;}'` \ + $(AWK) -F= '{print $$2;}'` \ -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@ -%.conv.F90: %.F90 +%-conv.F90: %.F90 $(top_builddir)/rpliconv/rpliconv \ -f `$(top_builddir)/tools/@FILE@/src/rplfile \ -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \ - awk -F= '{print $$2;}'` \ + $(AWK) -F= '{print $$2;}'` \ -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@ -%.conv.inc: %.inc +%-conv.inc: %.inc $(top_builddir)/rpliconv/rpliconv \ -f `$(top_builddir)/tools/@FILE@/src/rplfile \ -m $(top_builddir)/tools/@FILE@/magic/magic -i $< | \ - awk -F= '{print $$2;}'` \ + $(AWK) -F= '{print $$2;}'` \ -t @FINAL_ENCODING@//TRANSLIT $< | expand -t 4 > $@ licences: @@ -256,12 +291,12 @@ licences: echo "# define INCLUSION_LICENCE" >> $(srcdir)/licence.h echo " unsigned char CeCILL_fr[] =" >> $(srcdir)/licence.h sed -e '1,$$s/"/\\"/g' $(srcdir)/../Licence_CeCILL_V2-fr.txt | \ - awk -F'\n' '{ printf("\"%s\\n\"\n", $$1);}' \ + $(AWK) -F'\n' '{ printf("\"%s\\n\"\n", $$1);}' \ >> $(srcdir)/licence.h echo " ;" >> $(srcdir)/licence.h echo " unsigned char CeCILL_en[] =" >> $(srcdir)/licence.h sed -e '1,$$s/"/\\"/g' $(srcdir)/../Licence_CeCILL_V2-en.txt | \ - awk -F'\n' '{ printf("\"%s\\n\"\n", $$1);}' \ + $(AWK) -F'\n' '{ printf("\"%s\\n\"\n", $$1);}' \ >> $(srcdir)/licence.h echo " ;" >> $(srcdir)/licence.h echo "#endif" >> $(srcdir)/licence.h @@ -272,122 +307,157 @@ licences: cat $(srcdir)/../COPYING > $(srcdir)/tmp; \ echo >> $(srcdir)/tmp; \ echo >> $(srcdir)/tmp; \ - awk -F'\n' 'BEGIN {d=0;} /^#/ {d=1;} {if(d==1) print $$1;}' \ + $(AWK) -F'\n' 'BEGIN {d=0;} /^#/ {d=1;} {if(d==1) print $$1;}' \ $(srcdir)/$$i >> $(srcdir)/tmp; \ mv -f $(srcdir)/tmp $(srcdir)/$$i; \ done for i in $(SRCINC); \ do \ - iconv -f `file -i $(srcdir)/../COPYING | awk -F= '{print $$2;}'` \ + iconv -f `file -i $(srcdir)/../COPYING | $(AWK) -F= '{print $$2;}'` \ $(srcdir)/../COPYING | \ - awk -F'\n' '! (/^\/\*/ || /^\*\//) \ + $(AWK) -F'\n' '! (/^\/\*/ || /^\*\//) \ {printf("!%s\n", substr($$1,2));}' | \ iconv -t `file -i $(srcdir)/../COPYING | \ - awk -F= '{print $$2;}'` > $(srcdir)/tmp; \ - awk -F'\n' 'BEGIN {d=0;} ! /^!/ {d=1;} {if(d==1) print $$1;}' \ + $(AWK) -F= '{print $$2;}'` > $(srcdir)/tmp; \ + $(AWK) -F'\n' 'BEGIN {d=0;} ! /^!/ {d=1;} {if(d==1) print $$1;}' \ $(srcdir)/$$i >> $(srcdir)/tmp; \ mv -f $(srcdir)/tmp $(srcdir)/$$i; \ done for i in $(SRCF); \ do \ - iconv -f `file -i $(srcdir)/../COPYING | awk -F= '{print $$2;}'` \ + iconv -f `file -i $(srcdir)/../COPYING | $(AWK) -F= '{print $$2;}'` \ $(srcdir)/../COPYING | \ - awk -F'\n' '! (/^\/\*/ || /^\*\//) \ + $(AWK) -F'\n' '! (/^\/\*/ || /^\*\//) \ {printf("C%s\n", substr($$1,2));}' | \ iconv -t `file -i $(srcdir)/../COPYING | \ - awk -F= '{print $$2;}'` > $(srcdir)/tmp; \ - awk -F'\n' 'BEGIN {d=0;} ! /^C/ {d=1;} {if(d==1) print $$1;}' \ + $(AWK) -F= '{print $$2;}'` > $(srcdir)/tmp; \ + $(AWK) -F'\n' 'BEGIN {d=0;} ! /^C/ {d=1;} {if(d==1) print $$1;}' \ $(srcdir)/$$i >> $(srcdir)/tmp; \ mv -f $(srcdir)/tmp $(srcdir)/$$i; \ done for i in $(SRCF90); \ do \ - iconv -f `file -i $(srcdir)/../COPYING | awk -F= '{print $$2;}'` \ + iconv -f `file -i $(srcdir)/../COPYING | $(AWK) -F= '{print $$2;}'` \ $(srcdir)/../COPYING | \ - awk -F'\n' '! (/^\/\*/ || /^\*\//) \ + $(AWK) -F'\n' '! (/^\/\*/ || /^\*\//) \ {printf("!%s\n", substr($$1,2));}' | \ iconv -t `file -i $(srcdir)/../COPYING | \ - awk -F= '{print $$2;}'` > $(srcdir)/tmp; \ - awk -F'\n' 'BEGIN {d=0;} ! /^!/ {d=1;} {if(d==1) print $$1;}' \ + $(AWK) -F= '{print $$2;}'` > $(srcdir)/tmp; \ + $(AWK) -F'\n' 'BEGIN {d=0;} ! /^!/ {d=1;} {if(d==1) print $$1;}' \ $(srcdir)/$$i >> $(srcdir)/tmp; \ mv -f $(srcdir)/tmp $(srcdir)/$$i; \ done librplprototypes.h: rpl.h conversion.awk - awk -f $(srcdir)/conversion.awk $(srcdir)/rpl.h > \ + $(AWK) -f $(srcdir)/conversion.awk $(srcdir)/rpl.h > \ $(top_builddir)/src/librplprototypes.h + generateurs.c: generateurs_aleatoires.awk - awk -f $(srcdir)/generateurs_aleatoires.awk \ + $(AWK) -f $(srcdir)/generateurs_aleatoires.awk \ $(srcdir)/../tools/@GSL@/rng/gsl_rng.h > \ $(top_builddir)/src/generateurs.c +rpl.inc: + echo BUILDPATH=$(top_builddir)/.. > $@ + echo COMPILE=$(DEFS) >> $@ + echo LINK=@libX@ @libMySQLlib@ @libPgSQLlib@ $(LIBS) >> $@ + echo OBJECTS=$(SRCCc:.c=.$(OBJEXT)) $(SRCFc:.f=.$(OBJEXT)) \ + $(SRCF90c:.F90=.$(OBJEXT)) \ + librpl-conv.$(OBJEXT) >> $@ + echo EXTOBJECTS= @MALLOC@ @EXT_SQL@ \ + $(top_builddir)/lapack/lapack/liblapack.a \ + $(top_builddir)/lapack/blas/libblas.a \ + $(ldadd_libhistory) \ + $(ldadd_libreadline) \ + $(ldadd_libncurses) \ + $(ldadd_libgsl) \ + $(ldadd_libiconv) \ + $(ldadd_libcrypto) \ + $(ldadd_libssl) \ + $(ldadd_libsqlite) \ + >> $@ + EXTRA_DIST = $(SRCC) $(SRCH) $(SRCF) $(SRCF90) $(SRCINC) \ $(INIT_EXE) $(INIT_LIB) $(SRCXPM) \ conversion.awk generateurs_aleatoires.awk BUILT_SOURCES = librplprototypes.h generateurs.c \ $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) \ - $(INIT_LIBc) $(SRCINCc) $(INIT_EXEc) + $(INIT_LIBc) $(SRCINCc) $(INIT_EXEc) \ + rpl.inc CLEANFILES= $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) $(SRCINCc) \ - $(INIT_LIBc) $(INIT_EXEc) librplprototypes.h + $(INIT_LIBc) $(INIT_EXEc) librplprototypes.h generateurs.c \ + rpl.inc rpl-librpl-conv.$(OBJEXT) -nodist_rpl_SOURCES = $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) $(INIT_EXEc) \ +nodist_rpl_SOURCES = \ + $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) $(INIT_EXEc) \ $(SRCXPM) $(SRCINCc) -#rpl_LDFLAGS = -g @PROFILAGE@ $(LIB) -rdynamic -rpl_LDFLAGS = -g @PROFILAGE@ $(LIB) -export-dynamic - -rpl_CFLAGS = $(AM_CFLAGS) -Wall -Wextra \ - -Wno-pointer-sign -Wno-unused-parameter +rpl_LDFLAGS = -g @PROFILAGE@ $(LIB) @EXPORT_DYNAMIC@ +rpl_CFLAGS = $(AM_CFLAGS) @C_STANDARD@ -Wall -Wextra -Wno-unused-function \ + -Wno-pointer-sign -Wno-unused-parameter @NESTED_FUNCTIONS@ rpl_FFLAGS = $(AM_FFLAGS) -fno-f2c rpl_FCFLAGS = $(AM_FCFLAGS) -fno-second-underscore -fno-f2c -nodist_librpl_a_SOURCES = $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) $(INIT_LIBc) \ - $(SRCXPM) $(SRCINCc) -librpl_a_CFLAGS = $(AM_CFLAGS) -DLIBRPL \ - -Wall -Wextra -Wno-pointer-sign -Wno-unused-parameter +nodist_librpl_a_SOURCES = \ + $(SRCCc) $(SRCHc) $(SRCFc) $(SRCF90c) $(INIT_LIBc) \ + $(SRCXPM) $(SRCINCc) +librpl_a_CFLAGS = $(AM_CFLAGS) @C_STANDARD@ -Wall -Wextra -Wno-unused-function \ + -Wno-pointer-sign -Wno-unused-parameter @NESTED_FUNCTIONS@ librpl_a_FFLAGS = $(AM_FFLAGS) -ff2c librpl_a_FCFLAGS = $(AM_FCLAGS) -fno-second-underscore -include_HEADERS = rplexternals.h rpltypes.h rpl.h librpl.h +include_HEADERS = rplexternals.h rpltypes.h rpl.h librpl.h rpl.inc \ + librplprototypes.h INCLUDES = -I$(srcdir) -I$(top_builddir) \ $(include_libreadline) $(include_libncurses) $(include_libgsl) \ - $(include_libiconv) \ + $(include_libiconv) $(include_libcrypto) $(include_libsqlite)\ @includeX@ @libMySQLinc@ @libPgSQLinc@ DEFS = -DHAVE_CONFIG_H -Dd_version_rpl=\"@VERSION@\" \ -Dd_exec_path=\"@RUNPATH@\" @FORCE_GNUPLOT_PATH@ @DEBUG@ \ @MOTIF_SUPPORT@ @POSTSCRIPT_SUPPORT@ @GNUPLOT_SUPPORT@ \ @VIM_SUPPORT@ @MYSQL_SUPPORT@ @POSTGRESQL_SUPPORT@ \ - @EXPERIMENTAL_CODE@ $(date) -g @PROFILAGE@ \ - -Dd_locale=\"$(shell locale charmap)\" \ + @SEMAPHORES_NOMMES@ @SEMAPHORES_SYSV@ @SEMUN@ \ + @EXPERIMENTAL_CODE@ $(date) $(hash) -g @PROFILAGE@ \ + -Dd_locale=\"@FINAL_ENCODING@\" \ -D@OS@ -rpl_LDADD = $(top_builddir)/lapack/lapack/liblapack.a \ +rpl_LDADD = \ + $(top_builddir)/lapack/lapack/liblapack.a \ $(top_builddir)/lapack/blas/libblas.a \ $(ldadd_libhistory) $(ldadd_libreadline) $(ldadd_libncurses) \ - $(ldadd_libiconv) \ + $(ldadd_libiconv) $(ldadd_libcrypto) $(ldadd_libssl) \ + $(ldadd_libsqlite) \ $(ldadd_libgsl) @libX@ @libMySQLlib@ @libPgSQLlib@ -always: $(top_builddir)/src/rpl.conv.c +always: $(top_builddir)/src/rpl-conv.c touch $(top_builddir)/src/rpl.conv.c; \ - (cd $(srcdir); ctags $(SRCC) $(SRCF) $(SRCF90) $(SRCH) $(SRCINC) \ - $(INIT_LIB) $(INIT_EXE) 2>&1 /dev/null); + if [ x$(shell which ctags) != x ]; then \ + (cd $(srcdir); ctags $(SRCC) $(SRCF) $(SRCF90) \ + $(INIT_LIB) $(INIT_EXE) 2>&1 /dev/null); \ + fi; -.PHONY: always librpl licences +.PHONY: always librpl licences rpl.inc all-local: always install-exec-local: librpl librpl: install-libLIBRARIES - echo \ - open $(libdir)/librpl.a+ \ - addlib $(top_builddir)/lapack/lapack/liblapack.a+ \ - addlib $(top_builddir)/lapack/blas/libblas.a+ \ - addlib $(ldadd_libhistory)+ \ - addlib $(ldadd_libreadline)+ \ - addlib $(ldadd_libncurses)+ \ - addlib $(ldadd_libgsl)+ \ - addlib $(ldadd_libiconv)+ \ - save+ \ - end \ - | tr '+' '\n' | ar -M; \ - $(RANLIB) $(libdir)/librpl.a + if [ -d $(top_builddir)/librpl ]; then \ + \rm -rf $(top_builddir)/librpl; \ + fi + mkdir -p $(top_builddir)/librpl; \ + for i in $(top_builddir)/src/librpl.a \ + @MALLOC@ \ + $(ldadd_libhistory) $(ldadd_libreadline) \ + $(top_builddir)/lapack/lapack/liblapack.a \ + $(top_builddir)/lapack/blas/libblas.a \ + $(ldadd_libncurses) $(ldadd_libgsl) $(ldadd_libiconv) \ + $(ldadd_libcrypto) $(ldadd_libssl) $(ldadd_libsqlite); \ + do \ + \cp -f $$i $(top_builddir)/librpl; \ + done + (cd $(top_builddir)/librpl && \ + for i in *.a; do ar x $$i && \rm -f $$i; done; \ + ar crs librpl.a *.$(OBJEXT);); \ + \mv -f $(top_builddir)/librpl/librpl.a $(top_builddir)/src/librpl.a +