Back to basics – and create a logical environment, LAPACK first

Adapting makefiles is a huge undertaking, and not without problems because of nesting.
So fall back on ‘basic’ compilation – but it seems OpenBLAS may nog include all subprojects. the 3.8.0 version of LAPACK taken from GitHub contains LAPACK, BLAS and LAPACKE/ It may be sufficient to use these in stead of what is included in OpenBLAS, at least it is possible te refer to libraries on different locations.
So use the lasts LAPACK (and therefore BLAS) version, add the adaptions of Jouk Jansen in directory [.VMS] and define logicals referring this one before the base ones. Also split the output: .OBJ files into [.OBJ], list- and mapfiles in [.LIS], libarties in [.LIB] and executables in [.EXE]/ Because Jouk Jansen’s procedure puts all files in [.SRC]. be it, in this configuration, the ones in the [.VMS] structure. But it is (in my opinion) a bad habit….
It means the MMS files need to be adapted so the results are put into the right location.

Created procedure SetETW.com that sets the required logicals, and these must be mentioned in the MMS files. This means adaptation but (hopelfully) straight forward. First part is the [.INSTALL] environment: but here something fails in FORTRAN files that are to contain the 64-bit versions, compiled with C: the directory is added – and the right name is truncated:

$ mms

cc/define=(VMS)/comment=as_is/prep=LAPACK_INS:LAPACK_version.f_ LAPACK_INS:LAPACK_version.f
fortran/name=lower/float=ieee/ieee=denorm/list=LAPACK_LIS:/show=all/obj=LAPACK_OBJ:LAPACK_version.obj LAPACK_INS:LAPACK_version.f_
pipe link/map=LAPACK_LIS:/full/exec=nl: LAPACK_OBJ:LAPACK_version | copy sys$input nl:
mc etwexe:vms_auto64 LAPACK_LIS:LAPACK_version.map LAPACK_LIS:LAPACK_version.lis
normal end
cc/define=(VMS)/comment=as_is/prep=LAPACK_INS:LAPACK_version_64.f_ LAPACK_INS:LAPACK_version_64.f
fortran/name=lower/float=ieee/ieee=denorm/obj=LAPACK_OBJ:LAPACK_version_64.obj LAPACK_INS:LAPACK_version_64.f_

subroutine dummy__LAPACK_LIS:LAPA0940_64__
....................................^
%F90-E-ERROR, Syntax error, found IDENTIFIER 'LAPA0940_64__' when expecting one of: DO FORALL SELECT SELECTCASE WHERE IF
at line number 1 in file LAPACK_VMS:[INSTALL]LAPACK_version_64.f;3

subroutine dummy__LAPACK_LIS:LAPA0940_64__
^
%F90-E-ERROR, An unterminated block exists.
at line number 1 in file LAPACK_VMS:[INSTALL]LAPACK_version_64.f;3
%MMS-F-ABORT, For target LAPACK_version.obj, CLI returned abort status: %X186A1262.
$

The file starts:

subroutine dummy__LAPACK_LIS:LAPA0940_64__
end
# 1 "LAPACK_VMS:[INSTALL]LAPACK_version.f;1"
*> \brief \b LAPACK_VERSION

and these lines are added by:

mc etwexe:vms_auto64 LAPACK_LIS:$(MMS$TARGET_NAME).map LAPACK_LIS:$(MMS$TARGET_NAME).lis

or is this in line:

cc/define=(VMS)/comment=as_is/prep=LAPACK_INS:$(MMS$TARGET_NAME).f_\
LAPACK_INS:$(MMS$TARGET_NAME).f

No: it is vms_auto64, the other creates the .f_ file but that is correct. So vms_aut064 must be examined, it should use just the filename. Another option is to leave the 64-bit files out of compilations – for now