Criar um arquivo MATLAB MEX para um programa C

Sou um usuário experiente do MATLAB, mas totalmente novo em arquivos C e MEX. Eu tenho um programa complexo escrito em C que eu preciso chamar de dentro do MATLAB. O programa consiste em algumas dezenas de arquivos em uma pasta, incluindo um chamado main.c que processa as entradas da linha de comando e passa os resultados para outras classes que fazem os cálculos reais.

Normalmente, para instalar este programa a partir da linha de comando, eu executaria ./configure, make no prompt de comando do UNIX. Então, para executar o programa, ./runMyProgram -f input_file.txt -p some_parameters. O programa usa um arquivo de texto que consiste em uma lista de números como entrada e imprime uma tabela de resultados na janela de comando. Eu quero alimentar o programa um array MATLAB (em vez de um arquivo .txt) e voltar um array (em vez de uma tabela impressa de resultados).

Eu li a documentação MEX do The Mathworks (que eu achei bastante opaca), bem como alguns outros "tutoriais", mas eu estou totalmente perdido - os exemplos são para programas C simples, de arquivo único e não discutem realmente como lidar com um programa maior e mais complicado. É o suficiente para substituir o arquivo main.c com um arquivo MEX que faz as mesmas coisas? Além disso, como faço para compilar todo o pacote dentro do MATLAB?

Eu ficaria grato por qualquer conselho em inglês simples sobre por onde começar isso, ou indicações de qualquer tutorial que lida com o assunto de uma maneira compreensível.

questionAnswers(1)

yourAnswerToTheQuestion