Files
mercury/compiler/make.m
Zoltan Somogyi 0c59ce923c Gather statistics about make.deps_cache.m.
compiler/make.deps_cache.m:
    Add conditionally-compiled code to count the search and addition
    operations on each cache, as well as code to write out these counts.

    Where a cache has two versions, one for intermod and non-intermod
    operations, put the non-intermod version first, since it is more basic.

    Add two new non-intermod cache versions that are not used yet,
    but whose intermod versions are used: one for non-intermod
    indirect imports, and one for non-intermod anc0_dir1_indir2.
    For the latter, include "intermod" in the name of the old cache,
    which uses intermodule information.

compiler/make.make_info.m:
    Add those two caches, and follow the updated order and names of the caches.

compiler/mercury_compile_main.m:
    Call make.deps_cache.m to dump out its cache, it it was enabled
    and gathered any info.

compiler/make.m:
    Make make.deps_cache.m visible from outside the make package,
    in order to make possible the change top mercury_compile_main.m above.

compiler/make.dependencies.m:
    Conform to the changes above.

tools/make_deps_cache_stats:
    A new script to summarize the information recorded by the new code.
2023-10-15 12:36:47 +11:00

48 lines
1.6 KiB
Mathematica

%---------------------------------------------------------------------------%
% vim: ft=mercury ts=4 sw=4 et
%---------------------------------------------------------------------------%
% Copyright (C) 2002-2012 The University of Melbourne.
% Copyright (C) 2013-2021 The Mercury team.
% This file may only be copied under the terms of the GNU General
% Public License - see the file COPYING in the Mercury distribution.
%---------------------------------------------------------------------------%
%
% File: make.m.
% Main author: stayl.
%
% A package for "mmc --make", a builtin Mercury-specific make replacement.
%
%---------------------------------------------------------------------------%
:- module make.
:- interface.
:- include_module build.
:- include_module deps_cache.
:- include_module get_module_dep_info.
:- include_module module_dep_file.
:- include_module options_file.
:- include_module top_level.
%---------------------------------------------------------------------------%
%---------------------------------------------------------------------------%
:- implementation.
:- include_module check_up_to_date.
:- include_module dependencies.
:- include_module deps_set.
:- include_module file_names.
:- include_module find_local_modules.
:- include_module hash.
:- include_module make_info.
:- include_module module_target.
:- include_module program_target.
:- include_module timestamp.
:- include_module track_flags.
:- include_module util.
%---------------------------------------------------------------------------%
:- end_module make.
%---------------------------------------------------------------------------%