--- rpl/Makefile.am 2010/02/11 16:30:34 1.4 +++ rpl/Makefile.am 2010/08/06 15:27:40 1.14 @@ -1,4 +1,5 @@ -SUBDIRS = tools lapack/blas lapack/lapack rpliconv src rpltags scripts man doc +SUBDIRS = tools rplsums rpliconv lapack/blas lapack/lapack ptmalloc3 src \ + rpltags scripts man doc EXTRA_DIST = LIMITATIONS Licence_CeCILL_V2-fr.txt Licence_CeCILL_V2-en.txt \ COPYING.in lapack/COPYING lapack/RELEASE \ @@ -14,41 +15,120 @@ licences: toolsdistclean: for i in @NCURSES@ @READLINE@ @UNITS@ @GSL@ @GPP@ @GNUPLOT_COMPILATION@ \ - @FILE@ @ICONV@; \ + @FILE@ @ICONV@ @SQLITE@; \ do \ \rm -rf $(srcdir)/tools/$$i; \ done; toolsclean: for i in @NCURSES@ @READLINE@ @UNITS@ @GSL@ @GPP@ @GNUPLOT_COMPILATION@ \ - @FILE@ @ICONV@; \ + @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@; \ +$(top_builddir)/tools/@NCURSES@/lib/libncurses.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=$$(mktemp tmp.XXXXXXXXXX); \ + 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=$$(mktemp tmp.XXXXXXXXXX); \ +# awk \ +# '/^TEST_ARGS/ \ +# { printf("TEST_ARGS = ../lib/libform.a ../lib/libmenu.a "); \ +# printf("../lib/libpanel.a ../lib/libncurses.a\n"); } \ +# ! /^TEST_ARGS/ \ +# { print; }' tools/@NCURSES@/test/Makefile > $$TMP; \ +# \mv -f $$TMP $$i; \ +# echo .; \ +# done; + if [ @OS@ = "OS2" ]; then \ + TMP=$$(mktemp tmp.XXXXXXXXXX); \ + 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) + if [ @OS@ = "OS2" ]; then \ + \cp -f $(top_builddir)/tools/@NCURSES@/lib/ncurses.a \ + $(top_builddir)/tools/@NCURSES@/lib/libncurses.a; \ + fi $(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)) + if [ @OS@ = "OS2" ]; then \ + mkdir $(top_builddir)/tools/@GSL@/.libs; \ + for i in `grep ^SUBDIRS $(top_builddir)/tools/@GSL@/Makefile`; \ + do \ + (cd $(top_builddir)/tools/@GSL@/$$i && $(MAKE) $(AM_MAKEFLAGS) \ + && if [ -d .libs ]; then cd .libs && \ + ar -cru ../../.libs/libgsl.a *.o; fi;); \ + done; \ + else \ + (cd $(top_builddir)/tools/@GSL@ && $(MAKE) $(AM_MAKEFLAGS)); \ + fi $(top_builddir)/tools/@ICONV@/lib/.libs/libiconv.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=$$(mktemp tmp.XXXXXXXXXX); \ + 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; \ + \cp -f $(top_builddir)/tools/@ICONV@/lib/.libs/iconv.a \ + $(top_builddir)/tools/@ICONV@/lib/.libs/libiconv.a; \ + 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)) @@ -56,31 +136,110 @@ $(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)/rpliconv/rpliconv$(EXEEXT): \ $(top_builddir)/tools/@ICONV@/lib/.libs/libiconv.a - (cd $(top_builddir)/rpliconv && $(MAKE) $(AM_MAKEFLAGS)) + $(MAKE) -C $(top_builddir)/rpliconv $(AM_MAKEFLAGS) -$(top_builddir)/tools/@FILE@/src/rplfile \ +$(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT) \ $(top_builddir)/tools/@FILE@/magic/magic.mgc: \ $(top_builddir)/tools/@ICONV@/lib/.libs/libiconv.a - (cd $(top_builddir)/tools/@FILE@ && $(MAKE) $(AM_MAKEFLAGS)) + TMP=$$(mktemp tmp.XXXXXXXXXX); \ + 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) + +$(top_builddir)/tools/@SQLITE@/.libs/libsqlite3.a: + $(MAKE) -C $(top_builddir)/tools/@SQLITE@ $(AM_MAKEFLAGS) + if [ @OS@ = "OS2" ]; then \ + cp $(top_builddir)/tools/@SQLITE@/.libs/sqlite3.a \ + $(top_builddir)/tools/@SQLITE@/.libs/libsqlite3.a; \ + fi + +$(top_builddir)/tools/@OPENSSL@/libcrypto.a \ + $(top_builddir)/tools/@OPENSSL@/libssl.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)); \ + \cp $(top_builddir)/tools/@OPENSSL@/out/ssl.a \ + $(top_builddir)/tools/@OPENSSL@/libssl.a; \ + \cp $(top_builddir)/tools/@OPENSSL@/out/crypto.a \ + $(top_builddir)/tools/@OPENSSL@/libcrypto.a; \ + else \ + (cd $(top_builddir)/tools/@OPENSSL@ && $(MAKE) -j1 $(AM_MAKEFLAGS)); \ + fi + +$(top_builddir)/ptmalloc3/libptmalloc3.a : + if [ @OS@ = "OS2" ]; then \ + echo "unavailable for OS2" \ + > $(top_builddir)/ptmalloc3/libptmalloc3.a; \ + else \ + $(MAKE) -C $(top_builddir)/ptmalloc3 $(AM_MAKEFLAGS); \ + fi + +$(top_builddir)/tools/rplsums/rplmd5sum \ + $(top_builddir)/tools/rplsums/rplsha1sum: \ + $(top_builddir)/tools/@OPENSSL@/libcrypto.a + $(MAKE) -C $(top_builddir)/rplsums $(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/@OPENSSL@/libcrypto.a \ + $(top_builddir)/tools/@OPENSSL@/libssl.a + +.NOTPARALLEL: $(top_builddir)/tools/rplsums/rplmd5sum \ + $(top_builddir)/tools/rplsums/rplsha1sum + +install-strip: + $(MAKE) $(AM_MAKEFLAGS) install + 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 \ + $(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)/tools/@FILE@/magic/magic.mgc + $(top_builddir)/ptmalloc3/libptmalloc3.a \ + $(top_builddir)/rpliconv/rpliconv$(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$(EXEEXT) # 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)