def METHOD_NAME(self, spec, prefix):
    commands = [
        join_path("src", "seismic_2D", "seism2d_psv"),
        join_path("src", "seismic_3D", "3.parallel", "seism3d3n"),
        join_path("src", "seismic_3D", "1.ppohFDM-ppohVIS", "seism3d3n"),
        join_path("tools", "seismic_2D-tools", "pmxy2d"),
        join_path("tools", "seismic_2D-tools", "rwav2d"),
        join_path("tools", "seismic_3D-tools", "catsnap"),
        join_path("tools", "seismic_3D-tools", "catwav"),
        join_path("tools", "seismic_3D-tools", "ppmxy3d3"),
        join_path("tools", "seismic_3D-tools", "rwav3d"),
    ]
    mkdir(prefix.bin)
    for command in commands:
        copy(command, prefix.bin)
    install_tree("examples", prefix.examples)
    install_tree("doc", prefix.doc)
    install_tree("src", prefix.src)
    copy("Makefile.in", prefix)
    clean_dir = [
        join_path(prefix.src, "seismic_2D"),
        join_path(prefix.src, "seismic_3D", "1.ppohFDM-ppohVIS"),
        join_path(prefix.src, "seismic_3D", "3.parallel"),
    ]
    for d in clean_dir:
        with working_dir(d):
            make("clean")
    force_remove(join_path(prefix, "Makefile.in"))