--- rpl/Makefile.am 2010/02/08 19:26:31 1.2 +++ rpl/Makefile.am 2010/08/06 15:27:40 1.14 @@ -1,20 +1,245 @@ -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 \ + 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 -EXTRA_DIST = LIMITATIONS Licence_CeCILL_V2-fr.txt Licence_CeCILL_V2-en.txt \ - vim/syntax/rpl.vim vim/ftplugin/rpl.vim vim/indent/rpl.vim \ - examples/appel.tar.gz examples/obele.rpl examples/external.tar.gz \ - examples/daemon.tar.gz COPYING.in tests/tests.tar.gz \ - lapack/COPYING lapack/RELEASE +licences: + cp -f $(top_builddir)/COPYING $(srcdir) + make -C src $@ -toolsclean: +toolsdistclean: for i in @NCURSES@ @READLINE@ @UNITS@ @GSL@ @GPP@ @GNUPLOT_COMPILATION@ \ - @FILE@ @ICONV@; \ + @FILE@ @ICONV@ @SQLITE@; \ do \ \rm -rf $(srcdir)/tools/$$i; \ done; -licences: - cp -f $(top_builddir)/COPYING $(srcdir) - make -C src $@ +toolsclean: + for i in @NCURSES@ @READLINE@ @UNITS@ @GSL@ @GPP@ @GNUPLOT_COMPILATION@ \ + @FILE@ @ICONV@ @SQLITE@; \ + do \ + $(MAKE) -C $(top_builddir)/tools/$$i $(AM_MAKEFLAGS) clean); \ + done; + +$(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 \ + 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; +# 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: + $(MAKE) -C $(top_builddir)/tools/@READLINE@ $(AM_MAKEFLAGS) + +$(top_builddir)/tools/@GSL@/.libs/libgsl.a: + 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. + 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)) + +$(top_builddir)/lapack/blas/libblas.a: + (cd $(top_builddir)/lapack/blas && $(MAKE) $(AM_MAKEFLAGS)) + +$(top_builddir)/rpliconv/rpliconv$(EXEEXT): \ + $(top_builddir)/tools/@ICONV@/lib/.libs/libiconv.a + $(MAKE) -C $(top_builddir)/rpliconv $(AM_MAKEFLAGS) + +$(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT) \ + $(top_builddir)/tools/@FILE@/magic/magic.mgc: \ + $(top_builddir)/tools/@ICONV@/lib/.libs/libiconv.a + 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$(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)/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. + $(MAKE) -C $(top_builddir)/tools $(AM_MAKEFLAGS) + $(MAKE) -C $(top_builddir)/rpltags $(AM_MAKEFLAGS) + $(MAKE) -C $(top_builddir)/src $(AM_MAKEFLAGS)