def make_commands(xtv2dmx_executable: str,
                  xtv_filenames: list,
                  dmx_filenames: list) -> list:
    """Create list of shell command to convert xtv files into dmx files
    
    The conversion includes compression to reduce space requirements

    :param xtv2dmx_executable: the name of the xtv2dmx executable
    :param xtv_filenames: the list of xtv filenames to be converted
    :param dmx_filenames: the list of dmx filenames as target output
    :return: a list of xtv2dmx shell command to be executed
    """
    xtv2dmx_commands = []
    
    for xtv_filename, dmx_filename in zip(xtv_filenames, dmx_filenames):
        xtv2dmx_command = [xtv2dmx_executable,
                           "-r", xtv_filename, 
                           "-d", dmx_filename]
        xtv2dmx_commands.append(xtv2dmx_command)
    
    return xtv2dmx_commands