[m-rev.] for review: fix mmake rules for os,cs,css,javas

Julien Fischer jfischer at opturion.com
Sat Apr 11 18:44:38 AEST 2020


Hi Zoltan,

On Sat, 11 Apr 2020, Zoltan Somogyi wrote:

> For review by anyone.
>
> This has been bootchecked in hlc.gc, asm_fast.gc,
> csharp and java.

Another relevant test here would be to check that the source
distribution builds.

> Fix mmakefile rules for os,cs,css,javas.
>
> The main objective of this change is to get bootchecks in the csharp
> and java grades to actually build the slice, profiler, deep_profiler
> and mfilterjavac directories, which (due to the bug this diff fixes)
> they weren't doing before.
> 
> However, since one side effect of this change is to eliminate
> one source of annoying warnings from mmake about references to undefined
> variables, a subsidiary objective s to eliminate other sources of such

s/s/is/

> warnings as well, which mostly come from the rules for making tags files.

...

> diff --git a/browser/Mmakefile b/browser/Mmakefile
> index 3acab9240..c56020002 100644
> --- a/browser/Mmakefile
> +++ b/browser/Mmakefile
> @@ -1,5 +1,5 @@
>  #-----------------------------------------------------------------------------#
> -# vim: ts=8 sw=8 noexpandtab
> +# vim: ts=8 sw=8 noexpandtab ft=make
>  #-----------------------------------------------------------------------------#
>  # Copyright (C) 1998-2007, 2009-2010, 2012 The University of Melbourne.
>  # This file may only be copied under the terms of the GNU General
> @@ -186,19 +186,32 @@ int3s:	$(INT3S_TARGETS)
>
>  #-----------------------------------------------------------------------------#
> 
> +# We need the shenanigans with .browser_tags to avoid situations in which
> +# "mmake tags" in this directory does nothing even in the absence of a tags
> +# file in this directory, because mmake uses VPATH to find ../library/tags
> +# and believes it to be the tags file we are asking for.
> +#
> +# We give files in mdbcmp before the files in this directory because

s/mdbcmp/mdbcomp/

> +# we want references to entiies defined in the modules copied from the

s/entiies/entities/

> +# mdbcomp directory to this directory to go the actual, effective definitions,
> +# the definitions which can be changed *without* those changes going away
> +# on the next copy.
> +
>  tags:	.browser_tags
> 
> -.browser_tags: 	$(MTAGS) $($(BROWSER_LIB_NAME).ms) \
> -		$(wildcard $(LIBRARY_DIR)/*.m) \
> +.browser_tags: 	$(MTAGS) $(wildcard *.m) \
>                  $(wildcard $(MDBCOMP_DIR)/*.m)
> -	$(MTAGS) $($(BROWSER_LIB_NAME).ms) ../mdbcomp/*.m ../library/*.m
> +		$(wildcard $(LIBRARY_DIR)/*.m) \
> +	$(MTAGS) $(MDBCOMP_DIR)/*.m *.m $(LIBRARY_DIR)/*.m
>  	@touch .browser_tags



>  #-----------------------------------------------------------------------------#
> diff --git a/deep_profiler/Mmakefile b/deep_profiler/Mmakefile
> index 1b17871d8..655dfd32c 100644
> --- a/deep_profiler/Mmakefile
> +++ b/deep_profiler/Mmakefile

...

> @@ -186,33 +184,32 @@ ints:	DEPEND=$(patsubst %,%.ints,$(ALL_DEEP_MAIN_MODULES))
>
>  #-----------------------------------------------------------------------------#
> 
> -# We need the shenanigans with .deep_tags to avoid situations in which an
> +# We need the shenanigans with .deep_tags to avoid situations in which
>  # "mmake tags" in this directory does nothing even in the absence of a tags
>  # file in this directory, because mmake uses VPATH to find ../library/tags
>  # and believes it to be the tags file we are asking for.
> +#
> +# We give files in mdbcmp before the files in this directory because
> +# we want references to entiies defined in the modules copied from the
> +# mdbcomp directory to this directory to go the actual, effective definitions,
> +# the definitions which can be changed *without* those changes going away
> +# on the next copy.

Same errors as above, mdcmp, entiies; also repeated in the version in the slice
directory.

The diff looks fine otherwise.

Julien.


More information about the reviews mailing list