def METHOD_NAME(self, spec, prefix):
    # reference to other package managers
    # https://github.com/hpcugent/easybuild-easyblocks/blob/master/easybuild/easyblocks/a/atlas.py
    # https://github.com/macports/macports-ports/blob/master/math/atlas/Portfile
    # https://github.com/Homebrew/homebrew-science/pull/3571
    options = []
    if "+shared" in spec:
        options.extend(["--shared"])
        # TODO: for non GNU add '-Fa', 'alg', '-fPIC' ?
    # configure for 64-bit build
    options.extend(["-b", "64"])
    # set number of cpu's to tune to
    options.extend(["-t", spec.variants["tune_cpu"].value])
    # set compilers:
    options.extend(["-C", "ic", spack_cc, "-C", "if", spack_f77])
    # Workaround for macOS Clang:
    # http://math-atlas.sourceforge.net/atlas_install/node66.html
    if spec.satisfies("@3.10.3: %apple-clang"):
        options.append("--force-clang=" + spack_cc)
    # Lapack resource to provide full lapack build. Note that
    # ATLAS only provides a few LAPACK routines natively.
    options.append("--with-netlib-lapack-tarfile=%s" % self.stage[1].archive_file)
    with working_dir("spack-build", create=True):
        configure = Executable("../configure")
        configure("--prefix=%s" % prefix, *options)
        make()
        make("check")
        make("ptcheck")
        make("time")
        if "+shared" in spec:
            with working_dir("lib"):
                make("shared_all")
        make("install")
        if self.run_tests:
            self.install_test()