code: def make_all(
      blas_signature_file="cython_blas_signatures.txt",
      lapack_signature_file="cython_lapack_signatures.txt",
      blas_name="cython_blas",
      lapack_name="cython_lapack",
      blas_fortran_name="_blas_subroutine_wrappers.f",
      lapack_fortran_name="_lapack_subroutine_wrappers.f",
      blas_header_name="_blas_subroutines.h",
      lapack_header_name="_lapack_subroutines.h",
  ):
      src_files = (
          os.path.abspath(__file__),
          blas_signature_file,
          lapack_signature_file,
      )
      dst_files = (
          blas_name + ".pyx",
          blas_name + ".pxd",
          blas_fortran_name,
          blas_header_name,
          lapack_name + ".pyx",
          lapack_name + ".pxd",
          lapack_fortran_name,
          lapack_header_name,
      )
  
      os.chdir(BASE_DIR)
  
      if all_newer(src_files, dst_files):
          print("scipy/linalg/_generate_pyx.py: all files up-to-date")
          return
  
      comments = [
          "This file was generated by _generate_pyx.py.\n",
          "Do not edit this file directly.\n",
      ]
      ccomment = (
          "".join(
              ["/* " + line.rstrip() + " */\n" for line in comments]
          )
          + "\n"
      )
      pyxcomment = "".join(["# " + line for line in comments]) + "\n"
      fcomment = "".join(["c     " + line for line in comments]) + "\n"
      with open(blas_signature_file, "r") as f:
          blas_sigs = f.readlines()
      blas_sigs = filter_lines(blas_sigs)
      blas_pyx = generate_blas_pyx(*(blas_sigs + (blas_header_name,)))
      with open(blas_name + ".pyx", "w") as f:
          f.write(pyxcomment)
          f.write(blas_pyx)
      blas_pxd = generate_blas_pxd(blas_sigs[2])
      with open(blas_name + ".pxd", "w") as f:
          f.write(pyxcomment)
          f.write(blas_pxd)
      blas_fortran = generate_fortran(blas_sigs[0])
      with open(blas_fortran_name, "w") as f:
          f.write(fcomment)
          f.write(blas_fortran)
      blas_c_header = generate_c_header(*(blas_sigs + ("BLAS",)))
      with open(blas_header_name, "w") as f:
          f.write(ccomment)
          f.write(blas_c_header)
      with open(lapack_signature_file, "r") as f:
          lapack_sigs = f.readlines()
      lapack_sigs = filter_lines(lapack_sigs)
      lapack_pyx = generate_lapack_pyx(
          *(lapack_sigs + (lapack_header_name,))
      )
      with open(lapack_name + ".pyx", "w") as f:
          f.write(pyxcomment)
          f.write(lapack_pyx)
      lapack_pxd = generate_lapack_pxd(lapack_sigs[2])
      with open(lapack_name + ".pxd", "w") as f:
          f.write(pyxcomment)
          f.write(lapack_pxd)
      lapack_fortran = generate_fortran(lapack_sigs[0])
      with open(lapack_fortran_name, "w") as f:
          f.write(fcomment)
          f.write(lapack_fortran)
      lapack_c_header = generate_c_header(*(lapack_sigs + ("LAPACK",)))
      with open(lapack_header_name, "w") as f:
          f.write(ccomment)
          f.write(lapack_c_header)
  
imports: from collections import defaultdict
  from operator import itemgetter
  import os
label_desc: Use image node_id 23 for calling a global function with example usage: make_all(blas_signature_file, lapack_signature_file, blas_name, lapack_name, blas_fortran_name, lapack_fortran_name, blas_header_name, lapack_header_name) without return types