void-packages/srcpkgs/pari/patches/makefile.patch

37 lines
1.4 KiB
Diff

Add targets to main makefile:
- gp-dyn
- gp-sta
- lib-dyn
- lib-sta
- install-lib-dyn
- install-bin-dyn
Also: define a .NOTPARALLEL target so that top targets are not run in parallel.
Otherwise, running several targets with -j is broken.
Examples:
1. "make -j8 gp lib-sta lib-dyn" fails once in a while
2. "make -j8 doc docpdf" fails every time
With .NOTPARALLEL, both seem to work reliably.
Reference:
https://www.gnu.org/software/make/manual/html_node/Special-Targets.html#Special-Targets
--- pari-2.13.2.orig/config/TOP_Make.SH 2020-10-26 09:43:04.000000000 -0300
+++ pari-2.13.2/config/TOP_Make.SH 2021-08-14 15:28:04.052670019 -0300
@@ -42,7 +42,9 @@
@\$(MAKE) gp
@-cd doc && \$(MAKE) doc
+
+.NOTPARALLEL:
-gp bench test-kernel test-all install cleanall cleanobj cleantest nsis link-data install-bin install-doc install-docpdf install-nodata install-data install-lib-sta install-bin-sta dobench dyntest-all statest-all tune $top_test_extra $top_dotest_extra::
+gp gp-dyn gp-sta lib-dyn lib-sta bench test-kernel test-all install cleanall cleanobj cleantest nsis link-data install-bin install-doc install-docpdf install-nodata install-data install-lib-dyn install-lib-sta install-bin-dyn install-bin-sta dobench dyntest-all statest-all tune $top_test_extra $top_dotest_extra::
@dir=\`config/objdir\`; echo "Making \$@ in \$\$dir";\\
if test ! -d \$\$dir; then echo "Please run Configure first!"; exit 1; fi;\\
cd \$\$dir && \$(MAKE) \$@