--- rpl/Makefile.am 2012/04/08 18:03:09 1.44 +++ rpl/Makefile.am 2012/07/03 09:24:21 1.53 @@ -4,7 +4,7 @@ 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 \ + COPYING.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 \ @@ -146,7 +146,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 +155,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 +177,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 +207,12 @@ $(top_builddir)/tools/@GPP@/src/gpp$(EXE $(MAKE) -C $(top_builddir)/tools/@GPP@ $(AM_MAKEFLAGS) $(top_builddir)/tools/@UNITS@/units$(EXEEXT): + if [ $$subdir = @UNITS@ -a @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) \ @@ -243,12 +263,17 @@ all: $(top_builddir)/tools/@NCURSES@/lib $(top_builddir)/tools/@UNITS@/units$(EXEEXT) \ $(top_builddir)/tools/@SIGSEGV@/src/.libs/@LIB_PREFIX@sigsegv.a \ @LIBRPLCAS@ @LIBMOTIF@ + if [ -n $($(MAKE) -v | grep "^GNU Make") ]; then \ + @echo "Please use GNU Make"; \ + false; \ + fi # 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) debian: all + $(MAKE) -C $(top_builddir)/src $(AM_MAKEFLAGS) librpl $(MKDIR_P) $(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 \ @@ -286,10 +311,43 @@ debian: all done $(MKDIR_P) $(top_builddir)/debian/$(prefix)/share cp -f $(top_builddir)/tools/@FILE@/magic/magic.mgc \ - $(top_builddir)/debian/$(prefix)/share + $(top_builddir)/debian/$(prefix)/share/rplfiles.mgc cp -f $(srcdir)/tools/@UNITS@/units.dat \ $(top_builddir)/debian/$(prefix)/share -# À faire : s'occuper de gnuplot + 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)