Message ID | 4e25395c844a312556303e3484a915e875e0e5a7.1695801813.git.nicola.vetrini@bugseng.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | docs/misra: add documentation skeleton to address MISRA C:2012 Dir 4.1 | expand |
On Wed, Sep 27, 2023 at 11:52:31AM +0200, Nicola Vetrini wrote: > To be able to check for the existence of the necessary subsections in > the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a source > file that is built. > > This file is generated from 'C-runtime-failures.rst' in docs/misra > and the configuration is updated accordingly. > > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com> > --- > Changes from RFC: > - Dropped unused/useless code > - Revised the sed command > - Revised the clean target > > Changes in v2: > - Added explanative comment to the makefile > - printf instead of echo Reviewed-by: Anthony PERARD <anthony.perard@citrix.com> Thanks,
On Wed, 27 Sep 2023, Nicola Vetrini wrote: > To be able to check for the existence of the necessary subsections in > the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a source > file that is built. > > This file is generated from 'C-runtime-failures.rst' in docs/misra > and the configuration is updated accordingly. > > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org> > --- > Changes from RFC: > - Dropped unused/useless code > - Revised the sed command > - Revised the clean target > > Changes in v2: > - Added explanative comment to the makefile > - printf instead of echo > --- > docs/Makefile | 7 ++++++- > docs/misra/Makefile | 22 ++++++++++++++++++++++ > 2 files changed, 28 insertions(+), 1 deletion(-) > create mode 100644 docs/misra/Makefile > > diff --git a/docs/Makefile b/docs/Makefile > index 966a104490ac..ff991a0c3ca2 100644 > --- a/docs/Makefile > +++ b/docs/Makefile > @@ -43,7 +43,7 @@ DOC_PDF := $(patsubst %.pandoc,pdf/%.pdf,$(PANDOCSRC-y)) \ > all: build > > .PHONY: build > -build: html txt pdf man-pages figs > +build: html txt pdf man-pages figs misra > > .PHONY: sphinx-html > sphinx-html: > @@ -66,9 +66,14 @@ endif > .PHONY: pdf > pdf: $(DOC_PDF) > > +.PHONY: misra > +misra: > + $(MAKE) -C misra > + > .PHONY: clean > clean: clean-man-pages > $(MAKE) -C figs clean > + $(MAKE) -C misra clean > rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~ > rm -rf *.ilg *.log *.ind *.toc *.bak *.tmp core > rm -rf html txt pdf sphinx/html > diff --git a/docs/misra/Makefile b/docs/misra/Makefile > new file mode 100644 > index 000000000000..8fd89404e96b > --- /dev/null > +++ b/docs/misra/Makefile > @@ -0,0 +1,22 @@ > +TARGETS := C-runtime-failures.o > + > +all: $(TARGETS) > + > +# This Makefile will generate the object files indicated in TARGETS by taking > +# the corresponding .rst file, converting its content to a C block comment and > +# then compiling the resulting .c file. This is needed for the file's content to > +# be available when performing static analysis with ECLAIR on the project. > + > +# sed is used in place of cat to prevent occurrences of '*/' > +# in the .rst from breaking the compilation > +$(TARGETS:.o=.c): %.c: %.rst > + printf "/*\n\n" > $@.tmp > + sed -e 's|\*/|*//*|g' $< >> $@.tmp > + printf "\n\n*/" >> $@.tmp > + mv $@.tmp $@ > + > +%.o: %.c > + $(CC) -c $< -o $@ > + > +clean: > + rm -f C-runtime-failures.c *.o *.tmp > -- > 2.34.1 >
> On Sep 28, 2023, at 08:49, Stefano Stabellini <sstabellini@kernel.org> wrote: > > On Wed, 27 Sep 2023, Nicola Vetrini wrote: >> To be able to check for the existence of the necessary subsections in >> the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a source >> file that is built. >> >> This file is generated from 'C-runtime-failures.rst' in docs/misra >> and the configuration is updated accordingly. >> >> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com> > > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org> Release-acked-by: Henry Wang <Henry.Wang@arm.com> Kind regards, Henry > > >> --- >> Changes from RFC: >> - Dropped unused/useless code >> - Revised the sed command >> - Revised the clean target >> >> Changes in v2: >> - Added explanative comment to the makefile >> - printf instead of echo >> --- >> docs/Makefile | 7 ++++++- >> docs/misra/Makefile | 22 ++++++++++++++++++++++ >> 2 files changed, 28 insertions(+), 1 deletion(-) >> create mode 100644 docs/misra/Makefile >> >> diff --git a/docs/Makefile b/docs/Makefile >> index 966a104490ac..ff991a0c3ca2 100644 >> --- a/docs/Makefile >> +++ b/docs/Makefile >> @@ -43,7 +43,7 @@ DOC_PDF := $(patsubst %.pandoc,pdf/%.pdf,$(PANDOCSRC-y)) \ >> all: build >> >> .PHONY: build >> -build: html txt pdf man-pages figs >> +build: html txt pdf man-pages figs misra >> >> .PHONY: sphinx-html >> sphinx-html: >> @@ -66,9 +66,14 @@ endif >> .PHONY: pdf >> pdf: $(DOC_PDF) >> >> +.PHONY: misra >> +misra: >> + $(MAKE) -C misra >> + >> .PHONY: clean >> clean: clean-man-pages >> $(MAKE) -C figs clean >> + $(MAKE) -C misra clean >> rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~ >> rm -rf *.ilg *.log *.ind *.toc *.bak *.tmp core >> rm -rf html txt pdf sphinx/html >> diff --git a/docs/misra/Makefile b/docs/misra/Makefile >> new file mode 100644 >> index 000000000000..8fd89404e96b >> --- /dev/null >> +++ b/docs/misra/Makefile >> @@ -0,0 +1,22 @@ >> +TARGETS := C-runtime-failures.o >> + >> +all: $(TARGETS) >> + >> +# This Makefile will generate the object files indicated in TARGETS by taking >> +# the corresponding .rst file, converting its content to a C block comment and >> +# then compiling the resulting .c file. This is needed for the file's content to >> +# be available when performing static analysis with ECLAIR on the project. >> + >> +# sed is used in place of cat to prevent occurrences of '*/' >> +# in the .rst from breaking the compilation >> +$(TARGETS:.o=.c): %.c: %.rst >> + printf "/*\n\n" > $@.tmp >> + sed -e 's|\*/|*//*|g' $< >> $@.tmp >> + printf "\n\n*/" >> $@.tmp >> + mv $@.tmp $@ >> + >> +%.o: %.c >> + $(CC) -c $< -o $@ >> + >> +clean: >> + rm -f C-runtime-failures.c *.o *.tmp >> -- >> 2.34.1 >>
diff --git a/docs/Makefile b/docs/Makefile index 966a104490ac..ff991a0c3ca2 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -43,7 +43,7 @@ DOC_PDF := $(patsubst %.pandoc,pdf/%.pdf,$(PANDOCSRC-y)) \ all: build .PHONY: build -build: html txt pdf man-pages figs +build: html txt pdf man-pages figs misra .PHONY: sphinx-html sphinx-html: @@ -66,9 +66,14 @@ endif .PHONY: pdf pdf: $(DOC_PDF) +.PHONY: misra +misra: + $(MAKE) -C misra + .PHONY: clean clean: clean-man-pages $(MAKE) -C figs clean + $(MAKE) -C misra clean rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~ rm -rf *.ilg *.log *.ind *.toc *.bak *.tmp core rm -rf html txt pdf sphinx/html diff --git a/docs/misra/Makefile b/docs/misra/Makefile new file mode 100644 index 000000000000..8fd89404e96b --- /dev/null +++ b/docs/misra/Makefile @@ -0,0 +1,22 @@ +TARGETS := C-runtime-failures.o + +all: $(TARGETS) + +# This Makefile will generate the object files indicated in TARGETS by taking +# the corresponding .rst file, converting its content to a C block comment and +# then compiling the resulting .c file. This is needed for the file's content to +# be available when performing static analysis with ECLAIR on the project. + +# sed is used in place of cat to prevent occurrences of '*/' +# in the .rst from breaking the compilation +$(TARGETS:.o=.c): %.c: %.rst + printf "/*\n\n" > $@.tmp + sed -e 's|\*/|*//*|g' $< >> $@.tmp + printf "\n\n*/" >> $@.tmp + mv $@.tmp $@ + +%.o: %.c + $(CC) -c $< -o $@ + +clean: + rm -f C-runtime-failures.c *.o *.tmp
To be able to check for the existence of the necessary subsections in the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a source file that is built. This file is generated from 'C-runtime-failures.rst' in docs/misra and the configuration is updated accordingly. Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com> --- Changes from RFC: - Dropped unused/useless code - Revised the sed command - Revised the clean target Changes in v2: - Added explanative comment to the makefile - printf instead of echo --- docs/Makefile | 7 ++++++- docs/misra/Makefile | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 docs/misra/Makefile