--- rpl/Makefile.am 2012/01/18 10:57:40 1.43 +++ rpl/Makefile.am 2016/09/26 22:16:44 1.75 @@ -4,30 +4,55 @@ SUBDIRS = tools rplsums rpliconv rplawk include_HEADERS = rplconfig.h EXTRA_DIST = LIMITATIONS Licence_CeCILL_V2-fr.txt Licence_CeCILL_V2-en.txt \ - COPYING.in lapack/COPYING lapack/RELEASE \ + HEADER.in lapack/COPYING lapack/RELEASE autogen.sh \ 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 DEBIAN/control.in \ rplcas/@GMP@.tar.gz rplcas/@MPFR@.tar.gz rplcas/@NTL@.tar.gz \ - rplcas/@COCOA@.tar.gz rplcas/@PARI@.tar.gz rplcas/@GIAC@.tar.gz + rplcas/@COCOA@.tar.gz rplcas/@PARI@.tar.gz rplcas/@GIAC@.tar.gz \ + rplcas/@MPFI@.tar.gz + +all: + @if [ x"$(shell $(MAKE) -v | grep '^GNU Make')" = x ]; then \ + echo; \ + echo MAKE=$(MAKE); \ + echo "Please use GNU Make !"; \ + echo; \ + false; \ + fi + $(MAKE) all-rpl licences: - cp -f $(top_builddir)/COPYING $(srcdir) + cp -f $(top_builddir)/HEADER $(srcdir) $(MAKE) -C src $@ + $(MAKE) -C rplsums $@ -toolsdistclean: +purge: for i in @NCURSES@ @READLINE@ @UNITS@ @GSL@ @GPP@ @GNUPLOT_COMPILATION@ \ - @FILE@ @ICONV@ @SQLITE@; \ + @FILE@ @ICONV@ @SQLITE@ @SIGSEGV@ @BUILD_OPENMOTIF@; \ do \ rm -rf $(srcdir)/tools/$$i; \ + rm -rf $(top_builddir)/tools/$$i; \ done; - -toolsclean: - for i in @NCURSES@ @READLINE@ @UNITS@ @GSL@ @GPP@ @GNUPLOT_COMPILATION@ \ - @FILE@ @ICONV@ @SQLITE@; \ + for i in @GMP@ @MPFR@ @NTL@ @COCOA@ @PARI@ @GIAC@ @FLTK@; \ + do \ + if [ -d $(srcdir)/rplcas/$$i ]; then \ + rm -rf $(srcdir)/rplcas/$$i; \ + fi; \ + if [ -d $(top_builddir)/rplcas/$$i ]; then \ + rm -rf $(top_builddir)/rplcas/$$i; \ + fi; \ + done; + for i in bin lib include share; \ do \ - $(MAKE) -C $(top_builddir)/tools/$$i $(AM_MAKEFLAGS) clean); \ + if [ -d $(top_builddir)/rplcas/$$i ]; then \ + rm -rf $(top_builddir)/rplcas/$$i; \ + fi; \ done; + test -f $(top_builddir)/tools/openmotif.lib && \ + rm -f $(top_builddir)/tools/openmotif.lib + rm -rf $(top_builddir)/tools/@OPENSSL@ + rm -rf $(top_builddir)/tools/@ZLIB@ $(top_builddir)/tools/@NCURSES@/lib/@LIB_PREFIX@ncurses.a: for i in $(shell find tools/@NCURSES@ -name Makefile \ @@ -103,6 +128,9 @@ $(top_builddir)/tools/@READLINE@/libread $(top_builddir)/tools/@READLINE@/libhistory.a: $(MAKE) -C $(top_builddir)/tools/@READLINE@ $(AM_MAKEFLAGS) +$(top_builddir)/tools/@ZLIB@/libz.a: + $(MAKE) -C $(top_builddir)/tools/@ZLIB@ $(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. @@ -146,7 +174,7 @@ $(top_builddir)/tools/@FILE@/src/rplfile { \ if (index($$0, "-static") == 0) \ { \ - printf("%s -static\n", $$0); \ + printf("%s -static @ABI@\n", $$0); \ } \ else \ { \ @@ -155,13 +183,20 @@ $(top_builddir)/tools/@FILE@/src/rplfile } \ else \ { \ - print; \ + if (index($$0, "CFLAGS") == 1) \ + { \ + printf("CFLAGS = -O2 -g @ABI@\n"); \ + } \ + 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 \ + @CFLAGS@ $(top_builddir)/tools/@FILE@/src/*.o \ $(shell grep '^LIBS =' $(top_builddir)/tools/@FILE@/Makefile | \ cut -d= -f2) $(LDFLAGS) @@ -170,18 +205,25 @@ $(top_builddir)/tools/@SQLITE@/.libs/@LI $(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)); \ + if [ ! -f $(top_builddir)/tools/@OPENSSL@/@LIB_PREFIX@crypto.a \ + -o ! -f $(top_builddir)/tools/@OPENSSL@/@LIB_PREFIX@ssl.a \ + -o ! -f $(top_builddir)/tools/@OPENSSL@/tests_success ]; then \ + 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); \ + touch tests_success); \ + else \ + (cd $(top_builddir)/tools/@OPENSSL@ && \ + $(MAKE) -j1 $(AM_MAKEFLAGS); \ + touch tests_success); \ + fi \ fi $(top_builddir)/rplsums/rplmd5sum$(EXEEXT) \ @@ -193,6 +235,12 @@ $(top_builddir)/tools/@GPP@/src/gpp$(EXE $(MAKE) -C $(top_builddir)/tools/@GPP@ $(AM_MAKEFLAGS) $(top_builddir)/tools/@UNITS@/units$(EXEEXT): + if [ @OS@ = OpenBSD ]; then \ + TMP=tmp.units; \ + sed -e 's/^DEFS = -DUNITSFILE/DEFS = -Dmalloc=malloc -DUNITSFILE/g' \ + @UNITS@/Makefile > $$TMP; \ + mv -f $$TMP @UNITS@/Makefile; \ + fi; \ $(MAKE) -C $(top_builddir)/tools/@UNITS@ $(AM_MAKEFLAGS) .NOTPARALLEL: $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT) \ @@ -224,13 +272,14 @@ $(top_builddir)/tools/@LIBXPM@/src/.libs $(top_builddir)/tools/@SIGSEGV@/src/.libs/@LIB_PREFIX@sigsegv.a: $(MAKE) -C $(top_builddir)/tools/@SIGSEGV@ $(AM_MAKEFLAGS) -all: $(top_builddir)/tools/@NCURSES@/lib/@LIB_PREFIX@ncurses.a \ +all-rpl: $(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)/tools/@ZLIB@/libz.a \ $(top_builddir)/lapack/lapack/liblapack.a \ $(top_builddir)/lapack/blas/libblas.a \ $(top_builddir)/rpliconv/rpliconv$(EXEEXT) \ @@ -248,46 +297,86 @@ all: $(top_builddir)/tools/@NCURSES@/lib $(MAKE) -C $(top_builddir)/rpltags $(AM_MAKEFLAGS) $(MAKE) -C $(top_builddir)/src $(AM_MAKEFLAGS) -debian: install +debian: all + $(MAKE) -C $(top_builddir)/src $(AM_MAKEFLAGS) librpl $(MKDIR_P) $(top_builddir)/debian/$(prefix)/bin - for i in rpl$(EXEEXT) rplcc rplfile$(EXEEXT) rpllink rpltags$(EXEEXT) \ - mkrplso rplawk$(EXEEXT) rplconvert$(EXEEXT) rpliconv$(EXEEXT) \ - rplpp$(EXEEXT); \ - do cp -f $(prefix)/bin/$$i $(top_builddir)/debian/$(prefix)/bin; \ + for i in $(top_builddir)/src/rpl$(EXEEXT) $(top_builddir)/scripts/rplcc \ + $(top_builddir)/scripts/rpllink $(top_builddir)/scripts/mkrplso \ + $(top_builddir)/tools/@FILE@/src/rplfile$(EXEEXT) \ + $(top_builddir)/rpltags/rpltags$(EXEEXT) \ + $(top_builddir)/rplawk/rplawk$(EXEEXT) \ + $(top_builddir)/rpliconv/rpliconv$(EXEEXT); \ + do cp -f $$i $(top_builddir)/debian/$(prefix)/bin; \ done + cp $(top_builddir)/tools/@UNITS@/units$(EXEEXT) \ + $(top_builddir)/debian/$(prefix)/bin/rplconvert$(EXEEXT) + cp $(top_builddir)/tools/@GPP@/src/gpp$(EXEEXT) \ + $(top_builddir)/debian/$(prefix)/bin/rplpp$(EXEEXT) $(MKDIR_P) $(top_builddir)/debian/$(prefix)/include - for i in librpl.h rplconfig.h rpl.h rpltypes.h librplprototypes.h \ - rplexternals.h rpl.inc; \ - do cp -f $(prefix)/include/$$i $(top_builddir)/debian/$(prefix)/include; \ + for i in $(srcdir)/src/librpl.h $(top_builddir)/rplconfig.h \ + $(srcdir)/src/rpl.h $(srcdir)/src/rpltypes.h \ + $(top_builddir)/src/librplprototypes.h \ + $(srcdir)/src/rplexternals.h $(top_builddir)/src/rpl.inc; \ + do cp -f $$i $(top_builddir)/debian/$(prefix)/include; \ done $(MKDIR_P) $(top_builddir)/debian/$(prefix)/lib - cp -f $(prefix)/lib/librpl.a $(top_builddir)/debian/$(prefix)/lib + cp -f $(top_builddir)/src/librpl.a $(top_builddir)/debian/$(prefix)/lib for j in man/man1 man/fr_FR/man1; \ do \ $(MKDIR_P) $(top_builddir)/debian/$(prefix)/$$j; \ - for i in gpp.1 mkrplso.1 rpl.1 rplcc.1 rpllink.1 rplpp.1 rpltags.1; \ + for i in $(top_builddir)/$$j/gpp.1 $(top_builddir)/$$j/mkrplso.1 \ + $(top_builddir)/$$j/rpl.1 $(top_builddir)/$$j/rplcc.1 \ + $(top_builddir)/$$j/rpllink.1 $(top_builddir)/$$j/rplpp.1 \ + $(top_builddir)/$$j/rpltags.1; \ do \ - if [ -f $(prefix)/$$j/$$i ]; then \ - cp -f $(prefix)/$$j/$$i $(top_builddir)/debian/$(prefix)/$$j; \ + if [ -f $$i ]; then \ + cp -f $$i $(top_builddir)/debian/$(prefix)/$$j; \ fi; \ done; \ done $(MKDIR_P) $(top_builddir)/debian/$(prefix)/share - for i in rplfiles.mgc rplunits; \ - do cp -f $(prefix)/share/$$i $(top_builddir)/debian/$(prefix)/share; \ - done - if [ -e $(prefix)/bin/gnuplot$(EXEEXT) ]; then \ - $(MKDIR_P) $(top_builddir)/debian/$(prefix)/share/gnuplot; \ - cp -fR $(prefix)/share/gnuplot/* \ - $(top_builddir)/debian/$(prefix)/share/gnuplot; \ - $(MKDIR_P) $(top_builddir)/debian/$(prefix)/libexec/gnuplot; \ - cp -fR $(prefix)/share/gnuplot/* \ - $(top_builddir)/debian/$(prefix)/libexec/gnuplot; \ - cp -f $(prefix)/bin/gnuplot$(EXEEXT) \ - $(top_builddir)/debian/$(prefix)/bin; \ - cp -f $(prefix)/man/man1/gnuplot.1 \ - $(top_builddir)/debian/$(prefix)/man/man1; \ - fi; + cp -f $(top_builddir)/tools/@FILE@/magic/magic.mgc \ + $(top_builddir)/debian/$(prefix)/share/rplfiles.mgc + cp -f $(srcdir)/tools/@UNITS@/definitions.units \ + $(top_builddir)/debian/$(prefix)/share/rplunits.tmp + sed 's/^!include currency.units//g' \ + $(top_builddir)/debian/$(prefix)/share/rplunits.tmp \ + > $(top_builddir)/debian/$(prefix)/share/rplunits + rm -f $(top_builddir)/debian/$(prefix)/share/rplunits.tmp + if [ -e $(top_builddir)/tools/@GNUPLOT@/src/gnuplot$(EXEEXT) ]; then \ + if [ -e $(prefix)/bin/gnuplot$(EXEEXT) ]; then \ + mv -f $(prefix)/bin/gnuplot$(EXEEXT) \ + $(prefix)/bin/gnuplot$(EXEEXT).orig; \ + mv -f $(prefix)/share/gnuplot $(prefix)/share/gnuplot.orig; \ + mv -f $(prefix)/libexec/gnuplot $(prefix)/libexec/gnuplot.orig; \ + (cd $(top_builddir)/tools/@GNUPLOT@ && $(MAKE) install); \ + cp -f $(prefix)/bin/gnuplot$(EXEEXT) \ + $(top_builddir)/debian/$(prefix)/bin; \ + cp -af $(prefix)/share/gnuplot \ + $(top_builddir)/debian/$(prefix)/share; \ + $(MKDIR_P) $(top_builddir)/debian/$(prefix)/libexec; \ + cp -af $(prefix)/libexec/gnuplot \ + $(top_builddir)/debian/$(prefix)/libexec; \ + (cd $(top_builddir)/tools/@GNUPLOT@ && $(MAKE) uninstall); \ + rm -f $(prefix)/bin/gnuplot$(EXEEXT); \ + rm -rf $(prefix)/share/gnuplot; \ + rm -rf $(prefix)/libexec/gnuplot; \ + mv $(prefix)/bin/gnuplot$(EXEEXT).orig \ + $(prefix)/bin/gnuplot$(EXEEXT); \ + mv -f $(prefix)/share/gnuplot.orig $(prefix)/share/gnuplot; \ + mv -f $(prefix)/libexec/gnuplot.orig $(prefix)/libexec/gnuplot; \ + else \ + (cd $(top_builddir)/tools/@GNUPLOT@ && $(MAKE) install); \ + cp -f $(prefix)/bin/gnuplot$(EXEEXT) \ + $(top_builddir)/debian/$(prefix)/bin; \ + cp -af $(prefix)/share/gnuplot \ + $(top_builddir)/debian/$(prefix)/share; \ + $(MKDIR_P) $(top_builddir)/debian/$(prefix)/libexec; \ + cp -af $(prefix)/libexec/gnuplot \ + $(top_builddir)/debian/$(prefix)/libexec; \ + (cd $(top_builddir)/tools/@GNUPLOT@ && $(MAKE) uninstall); \ + fi; \ + fi $(MKDIR_P) $(top_builddir)/debian/DEBIAN cp -f $(top_builddir)/DEBIAN/* $(top_builddir)/debian/DEBIAN (cd $(top_builddir) && dpkg-deb --build debian debian)