Files
mercury/scripts/mmake_grade_test_test
Zoltan Somogyi cff35f6e8d Make a start on library installs via mmake.
The extra targets that this diff puts into .dep files are not yet used,
though they can be (and have been) tested manually.

compiler/generate_mmakefile_fragments.m:
    Generate three new mmake rules to do library installs:
    - one to install non-grade-specific files
    - one to install grade-specific files, and
    - one to
        - invoke the ngs target once for the current grade, and
        - invoke the gs target for each to-be-installed grade.
    The code in this last rule that saves and restores the working files
    of the current directory is an adapted version of the lib%.install_grades
    target in scripts/Mmake.rules.

    Add some code to prepare for storing .int and .int2 files in separate
    directories.

scripts/Mmake.rules:
scripts/Mmake.vars.in:
    Delete code whose job was to install .s and .pic_s files.
    Such files were never meant to be installed; their only purpose
    was debugging.

    Add a conditional definition to shut up a useless warning by gmake.

scripts/mmake_grade_test:
    This new script tests whether a given grade targets C, Java or C#,
    and if it targets C, whether it is an MLDS or LLDS grade.
    It is intended for use by the new make actions generated
    by generate_mmakefile_fragments.m.

scripts/mmake_grade_test_test:
    This new script tests the operation of mmake_grade_test.

scripts/Mmakefile:
    Install mmake_grade_test (but not mmake_grade_test_test) along with
    the other scripts.

scripts/ml.in:
    Fix the vim modeline.

scripts/mmake.in:
    Fix indentation.
2024-10-05 14:13:25 +02:00

27 lines
774 B
Bash
Executable File

#!/bin/sh
#---------------------------------------------------------------------------#
# vim: sw=4 ts=4 expandtab ft=sh
#---------------------------------------------------------------------------#
# Copyright (C) 2024 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.
#---------------------------------------------------------------------------#
for t in llc hlc c java csharp
do
echo
echo === test ${t} ===
echo
for g in asm_fast.gc none.gc hlc.gc hlc.gc.tr java csharp
do
if mmake_grade_test $t $g
then
result="success"
else
result=""
fi
echo "grade ${g}: ${result}"
done
done