From ac2e3fc1c97a66dfba8d6d2d64231ecb7d805e71 Mon Sep 17 00:00:00 2001 From: Allan Blanchard <allan.blanchard@cea.fr> Date: Mon, 11 Apr 2022 14:20:51 +0200 Subject: [PATCH] [ci] adapt manuals generation to new doc Makefile --- .gitlab-ci.yml | 1 + doc/Makefile | 77 +++++++++++++++++++++++++++---------------------- nix/manuals.nix | 3 +- 3 files changed, 46 insertions(+), 35 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d8398abb4a0..a8075c36b26 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -118,6 +118,7 @@ manuals: # TODO: restore doc companions paths: - result/acsl-implementation.pdf - result/acsl.pdf + - result/aorai-example.tgz - result/aorai-manual.pdf - result/e-acsl-implementation.pdf - result/e-acsl-manual.pdf diff --git a/doc/Makefile b/doc/Makefile index 1c6f1d1a70e..1c5f595a77d 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -81,7 +81,9 @@ endif # Generation # ################### -FC_SUFFIX=$(VERSION_SAFE)-$(VERSION_CODENAME) +ifneq ($(NO_SUFFIX),yes) +FC_SUFFIX=-$(VERSION_SAFE)-$(VERSION_CODENAME) +endif clean:: $(RM) manuals/*.pdf @@ -95,35 +97,35 @@ clean:: $(MAKE) -C ../src/plugins/wp/doc/manual clean all: \ - manuals/user-manual-$(FC_SUFFIX).pdf \ - manuals/plugin-development-guide-$(FC_SUFFIX).pdf \ - manuals/rte-manual-$(FC_SUFFIX).pdf \ - manuals/aorai-manual-$(FC_SUFFIX).pdf \ - manuals/aorai-example-$(FC_SUFFIX).tgz \ - manuals/eva-manual-$(FC_SUFFIX).pdf \ - manuals/metrics-manual-$(FC_SUFFIX).pdf \ - manuals/wp-manual-$(FC_SUFFIX).pdf \ + manuals/user-manual$(FC_SUFFIX).pdf \ + manuals/plugin-development-guide$(FC_SUFFIX).pdf \ + manuals/rte-manual$(FC_SUFFIX).pdf \ + manuals/aorai-manual$(FC_SUFFIX).pdf \ + manuals/aorai-example$(FC_SUFFIX).tgz \ + manuals/eva-manual$(FC_SUFFIX).pdf \ + manuals/metrics-manual$(FC_SUFFIX).pdf \ + manuals/wp-manual$(FC_SUFFIX).pdf \ manuals/%: mkdir --parent manuals $(CP) $< $@ -%.pdf: +%.pdf: $(PRINT) Generating $@ $(MAKE) -C $(@D) $(@F) -%.tgz: +%.tgz: $(PRINT) Generating $@ $(MAKE) -C $(@D) $(@F) -manuals/user-manual-$(FC_SUFFIX).pdf: userman/userman.pdf -manuals/plugin-development-guide-$(FC_SUFFIX).pdf: developer/developer.pdf -manuals/rte-manual-$(FC_SUFFIX).pdf: rte/main.pdf -manuals/aorai-manual-$(FC_SUFFIX).pdf: aorai/main.pdf -manuals/aorai-example-$(FC_SUFFIX).tgz: aorai/aorai-example.tgz -manuals/eva-manual-$(FC_SUFFIX).pdf: value/main.pdf -manuals/metrics-manual-$(FC_SUFFIX).pdf: metrics/metrics.pdf -manuals/wp-manual-$(FC_SUFFIX).pdf: ../src/plugins/wp/doc/manual/wp.pdf +manuals/user-manual$(FC_SUFFIX).pdf: userman/userman.pdf +manuals/plugin-development-guide$(FC_SUFFIX).pdf: developer/developer.pdf +manuals/rte-manual$(FC_SUFFIX).pdf: rte/main.pdf +manuals/aorai-manual$(FC_SUFFIX).pdf: aorai/main.pdf +manuals/aorai-example$(FC_SUFFIX).tgz: aorai/aorai-example.tgz +manuals/eva-manual$(FC_SUFFIX).pdf: value/main.pdf +manuals/metrics-manual$(FC_SUFFIX).pdf: metrics/metrics.pdf +manuals/wp-manual$(FC_SUFFIX).pdf: ../src/plugins/wp/doc/manual/wp.pdf ################### @@ -137,17 +139,20 @@ $(info 'acsl' not in doc; try: git clone https://github.com/acsl-language/acsl.g else -ACSL_SUFFIX=$(shell grep acslversion acsl/version.tex | sed 's/.*{\([^{}\\]*\).*/\1/') +ACSL_VERSION=$(shell grep acslversion acsl/version.tex | sed 's/.*{\([^{}\\]*\).*/\1/') +ifneq ($(NO_SUFFIX),yes) +ACSL_SUFFIX=-$(ACSL_VERSION) +endif clean:: $(MAKE) -C acsl clean all: \ - manuals/acsl-implementation-$(FC_SUFFIX).pdf \ - manuals/acsl-$(ACSL_SUFFIX).pdf \ + manuals/acsl-implementation$(FC_SUFFIX).pdf \ + manuals/acsl$(ACSL_SUFFIX).pdf \ -manuals/acsl-implementation-$(FC_SUFFIX).pdf: acsl/acsl-implementation.pdf -manuals/acsl-$(ACSL_SUFFIX).pdf: acsl/acsl.pdf +manuals/acsl-implementation$(FC_SUFFIX).pdf: acsl/acsl-implementation.pdf +manuals/acsl$(ACSL_SUFFIX).pdf: acsl/acsl.pdf ################### @@ -155,17 +160,21 @@ manuals/acsl-$(ACSL_SUFFIX).pdf: acsl/acsl.pdf ################### EACSL_DOC=../src/plugins/e-acsl/doc -EACSL_SUFFIX=$(shell grep 'newcommand{\\eacsllangversion' $(EACSL_DOC)/refman/main.tex | sed 's/.*{\([^{}\\]*\).*/\1/') +EACSL_VERSION=$(shell grep 'newcommand{\\eacsllangversion' $(EACSL_DOC)/refman/main.tex | sed 's/.*{\([^{}\\]*\).*/\1/') -ifeq ($(EACSL_SUFFIX),) +ifeq ($(EACSL_VERSION),) $(info could not retrieve E-ACSL version from ../src/plugins/e-acsl/doc/refman/main.tex") else +ifneq ($(NO_SUFFIX),yes) +EACSL_SUFFIX:=-$(EACSL_VERSION) +endif + # Sanity check: version differences between Frama-C, and E-ACSL -ifneq ($(ACSL_SUFFIX),$(EACSL_SUFFIX)) - $(info WARNING: different versions for ACSL and E-ACSL manuals: $(ACSL_SUFFIX) versus $(EACSL_SUFFIX)) +ifneq ($(ACSL_VERSION),$(EACSL_VERSION)) + $(info WARNING: different versions for ACSL and E-ACSL manuals: $(ACSL_VERSION) versus $(EACSL_VERSION)) endif clean:: @@ -173,13 +182,13 @@ clean:: $(MAKE) -C $(EACSL_DOC)/userman/ clean all: \ - manuals/e-acsl-implementation-$(FC_SUFFIX).pdf \ - manuals/e-acsl-manual-$(FC_SUFFIX).pdf \ - manuals/e-acsl-$(EACSL_SUFFIX).pdf \ + manuals/e-acsl-implementation$(FC_SUFFIX).pdf \ + manuals/e-acsl-manual$(FC_SUFFIX).pdf \ + manuals/e-acsl$(EACSL_SUFFIX).pdf \ -manuals/e-acsl-implementation-$(FC_SUFFIX).pdf: $(EACSL_DOC)/refman/e-acsl-implementation.pdf -manuals/e-acsl-manual-$(FC_SUFFIX).pdf: $(EACSL_DOC)/userman/main.pdf -manuals/e-acsl-$(EACSL_SUFFIX).pdf: $(EACSL_DOC)/refman/e-acsl.pdf +manuals/e-acsl-implementation$(FC_SUFFIX).pdf: $(EACSL_DOC)/refman/e-acsl-implementation.pdf +manuals/e-acsl-manual$(FC_SUFFIX).pdf: $(EACSL_DOC)/userman/main.pdf +manuals/e-acsl$(EACSL_SUFFIX).pdf: $(EACSL_DOC)/refman/e-acsl.pdf endif diff --git a/nix/manuals.nix b/nix/manuals.nix index e6883788152..1b9cb776c26 100644 --- a/nix/manuals.nix +++ b/nix/manuals.nix @@ -43,11 +43,12 @@ stdenv.mkDerivation rec { ''; buildPhase = '' - NO_SUFFIX="yes" ./doc/build-manuals.sh + make -C doc NO_SUFFIX=yes all ''; installPhase = '' mkdir -p $out cp ./doc/manuals/*.pdf $out + cp ./doc/manuals/*.tgz $out ''; } -- GitLab