On Mon, Aug 06, 2018 at 08:26:03AM +0900, Akira Yokosawa wrote: > On 2018/08/05 15:47:19 -0700, Paul E. McKenney wrote: > > On Mon, Aug 06, 2018 at 06:58:20AM +0900, Akira Yokosawa wrote: > >> On 2018/08/05 09:54:48 -0700, Paul E. McKenney wrote: > >>> On Sun, Aug 05, 2018 at 09:35:08AM -0700, Paul E. McKenney wrote: > >>>> On Sun, Aug 05, 2018 at 09:06:27AM +0900, Akira Yokosawa wrote: > >>>>> Hi Paul, > >>>>> > >>>>> This is hopefully the final version of this trial branch. > >>>>> > >>>>> Changes since v4: > >>>>> > >>>>> o Instead of generating CodeSamples/snippets.mk and calling it from > >>>>> main Makefile, generate CodeSamples/snippets.d which contains > >>>>> only dependencies and include it in the Makefile. > >>>>> > >>>>> This change can fix the error you encountered in the previous version. > >>>>> I'm just hoping... > >>>> > >>>> Hmmmm... > >>>> > >>>> $ make > >>>> sh ./utilities/gen_snippet_d.sh > >>>> CodeSamples/toolsoftrade/pcreate.c --> CodeSamples/toolsoftrade/pcreate@xxxxxxxxxxxx > >>>> > >>>> But "make 2c" works. This might be because I don't have the > >>>> PERFBOOK_DEFAULT environment variable set? Except that the Makefile code > >>>> looks like this would have the default "make all" have the same effect as > >>>> "make 2c". Color me confused. > >> > >> No. It was my fault. I failed to test the simple "make". > >> To override my env variable setting of "PERFBOOK_DEFUALT=msnt 1csf", > >> I tend to use one of "make msnt" or "make msnt 1csf" or "make 2c". > >> > >> I see the same behavior when I do simple "make" regardless > >> of PERFBOOK_DEFAULT is set or unset. > > > > Been there, done that! ;-) > > > >>>> Anyway, yes, when I do "make 2c" it correctly reacts to moving labels > >>>> around in CodeSamples/toolsoftrade/forkjoinvar.c, so that is good! > >>>> > >>>> Here is the output of "make -v", in case that matters: > >>>> > >>>> GNU Make 3.81 > >>>> Copyright (C) 2006 Free Software Foundation, Inc. > >>>> This is free software; see the source for copying conditions. > >>>> There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A > >>>> PARTICULAR PURPOSE. > >>>> > >>>> This program built for x86_64-pc-linux-gnu > >>> > >>> And the diff below restores the behavior I would expect for "make", > >>> even when modifying tags in CodeSamples/toolsoftrade/forkjoinvar.c, > >>> though of course it might well break something else. (And the diff > >>> happens to include my test change to forkjoinvar.c.) > >>> > >>> Thoughts? > >>> > >>> Thanx, Paul > >>> > >>> ------------------------------------------------------------------------ > >>> > >>> diff --git a/Makefile b/Makefile > >>> index fe9f63f43e55..3e9e2c2ebf3c 100644 > >>> --- a/Makefile > >>> +++ b/Makefile > >>> @@ -85,13 +85,6 @@ endif > >>> SOURCES_OF_SNIPPET := $(shell grep -r -l -F '\begin{snippet}' CodeSamples) > >>> GEN_SNIPPET_D = utilities/gen_snippet_d.pl utilities/gen_snippet_d.sh > >>> > >>> -ifeq ($(MAKECMDGOALS),clean) > >>> -else ifeq ($(MAKECMDGOALS),distclean) > >>> -else ifeq ($(MAKECMDGOALS),neatfreak) > >>> -else > >>> --include CodeSamples/snippets.d > >>> -endif > >>> - > >>> default = $(PERFBOOK_DEFAULT) > >>> > >>> ifeq ($(default),) > >>> @@ -103,6 +96,13 @@ endif > >>> .PHONY: all touchsvg clean distclean neatfreak 2c ls-unused $(ABBREVTARGETS) mslm perfbook-mslm.pdf mslmmsg help > >>> all: $(targ) > >>> > >>> +ifeq ($(MAKECMDGOALS),clean) > >>> +else ifeq ($(MAKECMDGOALS),distclean) > >>> +else ifeq ($(MAKECMDGOALS),neatfreak) > >>> +else > >>> +-include CodeSamples/snippets.d > >>> +endif > >>> + > >>> 2c: perfbook.pdf > >>> > >>> mslm: perfbook-mslm.pdf > >> > >> This change works for me too. > >> > >> Do you want me to add the change to the trial branch? > >> I don't mind if you add the change yourself with my > >> > >> Acked-by: Akira Yokosawa <akiyks@xxxxxxxxx> > >> > >> Of course, the following diff should be omitted. > > > > I pushed out an akiyks.2018.08.05a branch with the commit (but without > > the forkjoinvar.c change), and with your ack. > > > > When you say it is ready, I will bring my master branch out to that > > commit. Or if you have another pull request for an updated version > > of this series, I will replace it with that. > > I amended the commit log. > Appended is the pull request. See below. Looks good, thank you! I have pulled this and pushed it as my master branch. Thanx, Paul > Thanks, Akira > > > > > Either way, please let me know! > > > > Thanx, Paul > > > >> Thanks, Akira > >> > >>> diff --git a/CodeSamples/toolsoftrade/forkjoinvar.c b/CodeSamples/toolsoftrade/forkjoinvar.c > >>> index 1580478fe2f9..642451d9e880 100644 > >>> --- a/CodeSamples/toolsoftrade/forkjoinvar.c > >>> +++ b/CodeSamples/toolsoftrade/forkjoinvar.c > >>> @@ -35,11 +35,11 @@ int main(int argc, char *argv[]) > >>> if (pid == 0) { /* child */ > >>> x = 1; //\lnlbl{setx} > >>> printf("Child process set x=1\n"); //\lnlbl{print:c} > >>> - exit(EXIT_SUCCESS); //\lnlbl{exit:s} > >>> + exit(EXIT_SUCCESS); > >>> } > >>> if (pid < 0) { /* parent, upon error */ > >>> perror("fork"); > >>> - exit(EXIT_FAILURE); > >>> + exit(EXIT_FAILURE); //\lnlbl{exit:s} > >>> } > >>> > >>> /* parent */ > >>> > >> > > > > --- > The following changes since commit 3b62f67a76e15f8d8f8190a4252362d4ac0cdf23: > > Regenerating the atomic counter graph on a more modern CPU (2018-07-23 13:47:51 -0700) > > are available in the git repository at: > > https://github.com/akiyks/perfbook.git trial-fancyvrb-20180805a > > for you to fetch changes up to 78141e64d4629b29643634fc1d334233f108f656: > > Makefile: Fix "make" behavior (2018-08-06 08:18:49 +0900) > > ---------------------------------------------------------------- > Akira Yokosawa (12): > toolsoftrade: Add labels in code samples as comments > Add script to extract code snippet from code sample > toolsoftrade: Reference line in code snippets by label > Update hyphen2endash > Add *.fcv to .gitignore > Automate sub makefile update > Specify lmtt font for VerbatimM env > toolsoftrade: Use \lnlbl in inline code snippet > Add 'linelabel' and 'lineref' environment > Catch failure in genaration of CodeSamples/snippets.mk > Add dependencis to scripts for extracting code snippets > Add dependencies of perfbook_flat.tex to CodeSamples/.../*.fcv files > > Paul E. McKenney (1): > Makefile: Fix "make" behavior > > .gitignore | 2 + > CodeSamples/api-pthreads/api-pthreads.h | 18 +-- > CodeSamples/toolsoftrade/forkjoinvar.c | 12 +- > CodeSamples/toolsoftrade/pcreate.c | 7 +- > Makefile | 25 +++- > perfbook.tex | 21 ++++ > toolsoftrade/toolsoftrade.tex | 211 +++++++++++--------------------- > utilities/fcvextract.pl | 168 +++++++++++++++++++++++++ > utilities/gen_snippet_d.pl | 65 ++++++++++ > utilities/gen_snippet_d.sh | 8 ++ > utilities/hyphen2endash.sh | 3 + > 11 files changed, 382 insertions(+), 158 deletions(-) > create mode 100755 utilities/fcvextract.pl > create mode 100755 utilities/gen_snippet_d.pl > create mode 100644 utilities/gen_snippet_d.sh > > -- To unsubscribe from this list: send the line "unsubscribe perfbook" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html