--- rpl/Makefile.am 2010/03/17 14:14:35 1.6 +++ rpl/Makefile.am 2011/11/15 07:01:35 1.36 @@ -1,55 +1,129 @@ -SUBDIRS = tools rplsums rpliconv lapack/blas lapack/lapack src \ +V=0 + +SUBDIRS = tools rplsums rpliconv rplawk lapack/blas lapack/lapack rplcas src \ rpltags scripts man doc +include_HEADERS = rplconfig.h + EXTRA_DIST = LIMITATIONS Licence_CeCILL_V2-fr.txt Licence_CeCILL_V2-en.txt \ COPYING.in lapack/COPYING lapack/RELEASE \ tests/tests.tar.gz vim/indent/rpl.vim vim/ftplugin/rpl.vim \ vim/syntax/rpl.vim examples/obele.rpl examples/appel.tar.gz \ - examples/external.tar.gz - -include_HEADERS = rplconfig.h + examples/external.tar.gz \ + rplcas/@GMP@.tar.gz rplcas/@MPFR@.tar.gz rplcas/@NTL@.tar.gz \ + rplcas/@COCOA@.tar.gz rplcas/@PARI@.tar.gz rplcas/@GIAC@.tar.gz licences: cp -f $(top_builddir)/COPYING $(srcdir) - make -C src $@ + $(MAKE) -C src $@ toolsdistclean: for i in @NCURSES@ @READLINE@ @UNITS@ @GSL@ @GPP@ @GNUPLOT_COMPILATION@ \ @FILE@ @ICONV@ @SQLITE@; \ do \ - \rm -rf $(srcdir)/tools/$$i; \ + rm -rf $(srcdir)/tools/$$i; \ done; toolsclean: for i in @NCURSES@ @READLINE@ @UNITS@ @GSL@ @GPP@ @GNUPLOT_COMPILATION@ \ @FILE@ @ICONV@ @SQLITE@; \ do \ - (cd $(top_builddir)/tools/$$i && $(MAKE) $(AM_MAKEFLAGS) clean); \ + $(MAKE) -C $(top_builddir)/tools/$$i $(AM_MAKEFLAGS) clean); \ done; -tools: - for i in @NCURSES@ @READLINE@ @UNITS@ @GSL@ @GPP@ @GNUPLOT_COMPILATION@ \ - @FILE@ @ICONV@ @SQLITE@; \ +$(top_builddir)/tools/@NCURSES@/lib/@LIB_PREFIX@ncurses.a: + for i in $(shell find tools/@NCURSES@ -name Makefile \ + -exec grep static {} /dev/null \; | cut -d: -f1); \ do \ - (cd $(top_builddir)/tools/$$i && $(MAKE) $(AM_MAKEFLAGS) all); \ + echo -n Checking $$i; \ + TMP=tmp.ncurses; \ + if [ -n "$$(grep static $$i | grep dynamic)" ]; then \ + awk \ + '{ \ + if (index($$0, "-static") != 0 && index($$0, "-dynamic") != 0) \ + { \ + for(j = 1; j <= NF; j++) \ + { \ + if (index($$j, "-static") == 0) \ + { \ + printf("%s ", $$j); \ + } \ + } \ + printf("\n"); \ + } \ + else \ + { \ + print; \ + } \ + }' $$i > $$TMP; \ + mv -f $$TMP $$i; \ + echo -n " (fixed)"; \ + else \ + echo -n " (nothing to do)"; \ + rm -f $$TMP; \ + fi; \ + echo .; \ done; - -$(top_builddir)/tools/@NCURSES@/lib/libncurses.a: - (cd $(top_builddir)/tools/@NCURSES@ && $(MAKE) $(AM_MAKEFLAGS)) + for i in tools/@NCURSES@/test/Makefile; \ + do \ + echo -n Checking $$i; \ + TMP=tmp.ncurses_test; \ + awk \ + '/^TEST_ARGS/ \ + { printf("TEST_ARGS = ../lib/@LIB_PREFIX@form.a \ + ../lib/@LIB_PREFIX@menu.a "); \ + printf("../lib/@LIB_PREFIX@panel.a \ + ../lib/@LIB_PREFIX@ncurses.a\n"); } \ + ! /^TEST_ARGS/ \ + { print; }' tools/@NCURSES@/test/Makefile > $$TMP; \ + mv -f $$TMP $$i; \ + echo .; \ + done; + if [ @OS@ = "OS2" ]; then \ + TMP=tmp.ncurses_test_os2; \ + awk \ + '/^CXX_AR[ \t]/ \ + { printf("CXX_AR = $(AR)\n"); } \ + ! /^CXX_AR[ \t]/ \ + { print; }' \ + $(top_builddir)/tools/@NCURSES@/c++/Makefile | \ + awk \ + '/^CXX_ARFLAGS[ \t]/ \ + { printf("CXX_ARFLAGS = $(ARFLAGS)\n"); } \ + ! /^CXX_ARFLAGS[ \t]/ \ + { print; }' | \ + awk \ + '/^CXX[ \t]/ \ + { printf("CXX = g++\n"); } \ + ! /^CXX[ \t]/ \ + { print; }' > $$TMP; \ + mv -f $$TMP $(top_builddir)/tools/@NCURSES@/c++/Makefile; \ + fi; + $(MAKE) -C $(top_builddir)/tools/@NCURSES@ $(AM_MAKEFLAGS) $(top_builddir)/tools/@READLINE@/libreadline.a \ $(top_builddir)/tools/@READLINE@/libhistory.a: - (cd $(top_builddir)/tools/@READLINE@ && $(MAKE) $(AM_MAKEFLAGS)) + $(MAKE) -C $(top_builddir)/tools/@READLINE@ $(AM_MAKEFLAGS) -$(top_builddir)/tools/@GSL@/.libs/libgsl.a: - (cd $(top_builddir)/tools/@GSL@ && $(MAKE) $(AM_MAKEFLAGS)) +$(top_builddir)/tools/@GSL@/.libs/@LIB_PREFIX@gsl.a: +# Quick and dirty hack pour avaliser le remplacement de ${1 + "$@"} +# dans ltmain.sh et propager les modifications dans le script libtool. + if [ @OS@ = "OS2" ]; then \ + (cd $(top_builddir)/tools/@GSL@ && configure --disable-shared;); \ + fi + $(MAKE) -C $(top_builddir)/tools/@GSL@ $(AM_MAKEFLAGS) -$(top_builddir)/tools/@ICONV@/lib/.libs/libiconv.a: +$(top_builddir)/tools/@ICONV@/lib/.libs/@LIB_PREFIX@iconv.a: # La dépendance est faite par rpliconv. - (cd $(top_builddir)/tools/@ICONV@ && $(MAKE) $(AM_MAKEFLAGS)) - $(AR) cru $(top_builddir)/tools/@ICONV@/lib/.libs/libiconv.a \ - $(top_builddir)/tools/@ICONV@/lib/.libs/*.o - $(RANLIB) $(top_builddir)/tools/@ICONV@/lib/.libs/libiconv.a + if [ @OS@ = "OS2" ]; then \ + TMP=tmp.libiconv; \ + awk '! /^[ \t]cd po/ { print; }' \ + $(top_builddir)/tools/@ICONV@/Makefile > $$TMP; \ + mv -f $$TMP $(top_builddir)/tools/@ICONV@/Makefile; \ + $(MAKE) -C $(top_builddir)/tools/@ICONV@ $(AM_MAKEFLAGS) all; \ + else \ + $(MAKE) -C $(top_builddir)/tools/@ICONV@ $(AM_MAKEFLAGS) all; \ + fi $(top_builddir)/lapack/lapack/liblapack.a: (cd $(top_builddir)/lapack/lapack && $(MAKE) $(AM_MAKEFLAGS)) @@ -57,58 +131,106 @@ $(top_builddir)/lapack/lapack/liblapack. $(top_builddir)/lapack/blas/libblas.a: (cd $(top_builddir)/lapack/blas && $(MAKE) $(AM_MAKEFLAGS)) -$(top_builddir)/rpliconv/rpliconv: \ - $(top_builddir)/tools/@ICONV@/lib/.libs/libiconv.a - (cd $(top_builddir)/rpliconv && $(MAKE) $(AM_MAKEFLAGS)) +$(top_builddir)/rpliconv/rpliconv$(EXEEXT): \ + $(top_builddir)/tools/@ICONV@/lib/.libs/@LIB_PREFIX@iconv.a + $(MAKE) -C $(top_builddir)/rpliconv $(AM_MAKEFLAGS) -$(top_builddir)/tools/@FILE@/src/rplfile \ - $(top_builddir)/tools/@FILE@/magic/magic.mgc: \ - $(top_builddir)/tools/@ICONV@/lib/.libs/libiconv.a - (cd $(top_builddir)/tools/@FILE@ && $(MAKE) $(AM_MAKEFLAGS)) +$(top_builddir)/rplawk/rplawk$(EXEEXT): + $(MAKE) -C $(top_builddir)/rplawk $(AM_MAKEFLAGS) -$(top_builddir)/tools/@SQLITE@/.libs/libsqlite3.a: - (cd $(top_builddir)/tools/@SQLITE@ && $(MAKE) $(AM_MAKEFLAGS)) - -$(top_builddir)/tools/@OPENSSL@/libcrypto.a \ - $(top_builddir)/tools/@OPENSSL@/libssl.a: - (cd $(top_builddir)/tools/@OPENSSL@ && $(MAKE) $(AM_MAKEFLAGS)) - -$(top_builddir)/tools/rplsums/rplmd5sum \ - $(top_builddir)/tools/rplsums/rplsha1sum: \ - $(top_builddir)/tools/@OPENSSL@/libcrypto.a - (cd $(top_builddir)/rplsums && $(MAKE) $(AM_MAKEFLAGS)) +$(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT) \ + $(top_builddir)/tools/@FILE@/magic/magic.mgc: \ + $(top_builddir)/tools/@ICONV@/lib/.libs/@LIB_PREFIX@iconv.a + TMP=tmp.rplfile; \ + awk \ + '{ \ + if (index($$0, "LDFLAGS") == 1) \ + { \ + if (index($$0, "-static") == 0) \ + { \ + printf("%s -static\n", $$0); \ + } \ + else \ + { \ + print; \ + } \ + } \ + else \ + { \ + print; \ + } \ + }' tools/@FILE@/src/Makefile > $$TMP; \ + mv -f $$TMP tools/@FILE@/src/Makefile + $(MAKE) -C $(top_builddir)/tools/@FILE@ $(AM_MAKEFLAGS) + $(CC) -o $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT) \ + $(top_builddir)/tools/@FILE@/src/*.o \ + $(shell grep '^LIBS =' $(top_builddir)/tools/@FILE@/Makefile | \ + cut -d= -f2) $(LDFLAGS) + +$(top_builddir)/tools/@SQLITE@/.libs/@LIB_PREFIX@sqlite3.a: + $(MAKE) -C $(top_builddir)/tools/@SQLITE@ $(AM_MAKEFLAGS) + +$(top_builddir)/tools/@OPENSSL@/@LIB_PREFIX@crypto.a \ + $(top_builddir)/tools/@OPENSSL@/@LIB_PREFIX@ssl.a: + if [ @OS@ = "OS2" ]; then \ + (cd $(top_builddir)/tools/@OPENSSL@ && \ + sed -e '1,$$s/-m486/-mtune=i586 -DOPENSSL_USE_IPV6=0/g' \ + OS2-EMX.mak | \ + sed -e '1,$$s/-DBN_ASM/-UBN_ASM/g' | \ + sed -e '1,$$s/-DMD5_ASM/-UMD5_ASM/g' | \ + sed -e '1,$$s/-DSHA1_ASM/-USHA1_ASM/g' | \ + sed -e '1,$$s/-DOPENSSL_BN_ASM_PART_WORDS/-UOPENSSL_BN_ASM_PART_ASM/g' \ + > OS2-EMX.mak2; \ + $(MAKE) -j1 -f OS2-EMX.mak2 $(AM_MAKEFLAGS)); \ + else \ + (cd $(top_builddir)/tools/@OPENSSL@ && $(MAKE) -j1 $(AM_MAKEFLAGS)); \ + fi + +$(top_builddir)/rplsums/rplmd5sum \ + $(top_builddir)/rplsums/rplsha1sum: \ + $(top_builddir)/tools/@OPENSSL@/@LIB_PREFIX@crypto.a + $(MAKE) -C $(top_builddir)/rplsums $(AM_MAKEFLAGS) -$(top_builddir)/tools/@GPP@/src/gpp: - (cd $(top_builddir)/tools/@GPP@ && $(MAKE) $(AM_MAKEFLAGS)) +$(top_builddir)/tools/@GPP@/src/gpp$(EXEEXT): + $(MAKE) -C $(top_builddir)/tools/@GPP@ $(AM_MAKEFLAGS) -.NOTPARALLEL: $(top_builddir)/tools/@FILE@/src/rplfile \ +.NOTPARALLEL: $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT) \ $(top_builddir)/tools/@FILE@/magic/magic.mgc -.NOTPARALLEL: $(top_builddir)/tools/@READLINE@/libreadline.a \ - $(top_builddir)/tools/@READLINE@/libhistory.a +.NOTPARALLEL: $(top_builddir)/tools/@READLINE@/@LIB_PREFIX@readline.a \ + $(top_builddir)/tools/@READLINE@/@LIB_PREFIX@history.a -.NOTPARALLEL: $(top_builddir)/tools/@OPENSSL@/libcrypto.a \ - $(top_builddir)/tools/@OPENSSL@/libssl.a +.NOTPARALLEL: $(top_builddir)/tools/@OPENSSL@/@LIB_PREFIX@crypto.a \ + $(top_builddir)/tools/@OPENSSL@/@LIB_PREFIX@ssl.a -.NOTPARALLEL: $(top_builddir)/tools/rplsums/rplmd5sum \ - $(top_builddir)/tools/rplsums/rplsha1sum +.NOTPARALLEL: $(top_builddir)/rplsums/rplmd5sum \ + $(top_builddir)/rplsums/rplsha1sum -all: $(top_builddir)/tools/@NCURSES@/lib/libncurses.a \ - $(top_builddir)/tools/@READLINE@/libreadline.a \ - $(top_builddir)/tools/@READLINE@/libhistory.a \ - $(top_builddir)/tools/@GSL@/.libs/libgsl.a \ - $(top_builddir)/tools/@SQLITE@/.libs/libsqlite3.a \ - $(top_builddir)/tools/@OPENSSL@/libcrypto.a \ +install-strip: + $(MAKE) $(AM_MAKEFLAGS) install + +$(top_builddir)/rplcas/lib/librplcas.a: \ + $(top_builddir)/tools/@GSL@/.libs/@LIB_PREFIX@gsl.a + $(MAKE) -C $(top_builddir)/rplcas $(AM_MAKEFLAGS) + +all: $(top_builddir)/tools/@NCURSES@/lib/@LIB_PREFIX@ncurses.a \ + $(top_builddir)/tools/@READLINE@/@LIB_PREFIX@readline.a \ + $(top_builddir)/tools/@READLINE@/@LIB_PREFIX@history.a \ + $(top_builddir)/tools/@GSL@/.libs/@LIB_PREFIX@gsl.a \ + $(top_builddir)/tools/@SQLITE@/.libs/@LIB_PREFIX@sqlite3.a \ + $(top_builddir)/tools/@OPENSSL@/@LIB_PREFIX@crypto.a \ $(top_builddir)/tools/@OPENSSL@/libssl.a \ $(top_builddir)/lapack/lapack/liblapack.a \ $(top_builddir)/lapack/blas/libblas.a \ - $(top_builddir)/rpliconv/rpliconv \ - $(top_builddir)/tools/@FILE@/src/rplfile \ + $(top_builddir)/rpliconv/rpliconv$(EXEEXT) \ + $(top_builddir)/rplawk/rplawk$(EXEEXT) \ + $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT) \ $(top_builddir)/tools/@FILE@/magic/magic.mgc \ - $(top_builddir)/tools/rplsums/rplmd5sum \ - $(top_builddir)/tools/rplsums/rplsha1sum \ - $(top_builddir)/tools/@GPP@/src/gpp + $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \ + $(top_builddir)/rplsums/rplsha1sum$(EXEEXT) \ + $(top_builddir)/tools/@GPP@/src/gpp$(EXEEXT) \ + @LIBRPLCAS@ # Cette règle n'est là que pour forcer la compilation de Gnuplot. - (cd $(top_builddir)/tools && $(MAKE) $(AM_MAKEFLAGS)) - (cd $(top_builddir)/rpltags && $(MAKE) $(AM_MAKEFLAGS)) - (cd $(top_builddir)/src && $(MAKE) $(AM_MAKEFLAGS)) + $(MAKE) -C $(top_builddir)/tools $(AM_MAKEFLAGS) + $(MAKE) -C $(top_builddir)/rpltags $(AM_MAKEFLAGS) + $(MAKE) -C $(top_builddir)/src $(AM_MAKEFLAGS)