Pacote R que vincula a biblioteca C externa

Eu tenho algum código c que utiliza oigrafo biblioteca. Eu gostaria de colocar um wrapper R em volta dele e enviá-lo para o CRAN como um pacote R.

igrafo já tem uma porta R no CRAN, então faria sentido que o meu pacote R 'foo' dependesse do igraph do R. Como o foo usa seu próprio código C que depende do C igraph, como posso vincular minhas funções C à biblioteca igraph original? Eu li que isso é feito em um arquivo chamado Makevars, mas o link para uma biblioteca externa é muito peludo.

Se isso não for possível, é melhor simplesmente copiar todo o código-fonte do igraph e colocar tudo no meu diretório / src? O pacote R igraph já tem um arquivo chamado Makevars, mas eu não entendo como todos os arquivos c são construídos - normalmente no meu Makefile eu tenho algo como o gcc (alguma lista de arquivos fonte .c) -o, mas o Makevar contém apenas

PKG_CFLAGS=-DUSING_R -I. -Ics -Iglpk -Iglpk/amd -Iglpk/colamd \
-g -O2 -I/usr/include/libxml2 -g -O2 -I/usr/include/libxml2 -DNDEBUG \
-DPACKAGE_VERSION=\"0.6\" -DINTERNAL_ARPACK \
-DIGRAPH_THREAD_LOCAL=/**/
PKG_CXXFLAGS= -DUSING_R -DIGRAPH_THREAD_LOCAL=/**/ -DNDEBUG
PKG_LIBS=-lxml2 -lz -lpthread -licucore -lm -lgmp  $(FLIBS) $(LAPACK_LIBS) $(BLAS_LIBS)

all: $(SHLIB)

e não há outro Makefile. Em resumo, como faço para colocar código C em um pacote R que depende de outra biblioteca C, e como escrevo os Makevars (ou Makefile) correspondentes para incorporar as funções C?

Uma pergunta antiga foi postadaAqui mas só parece ligar para ajudar a escrever seu próprio código C que não depende de nada.

questionAnswers(2)

yourAnswerToTheQuestion