Пакет R, который ссылается на внешнюю библиотеку C

У меня есть некоторый код C, который используетigraph библиотека. Я бы хотел обернуть его R-оберткой и отправить в CRAN в виде R-пакета.

igraph на CRAN уже есть порт R, так что это будет иметь смысл для моего пакета R 'foo' apos; зависеть от R igra. Поскольку foo использует свой собственный код C, который зависит от C igraph, как я могу связать свои функции C с исходной библиотекой igraph? Я читал, что это делается в файле под названием Makevars, но ссылка на внешнюю библиотеку очень проблематична.

Если это невозможно, лучше ли просто скопировать весь исходный код igraph и поместить все это в мой каталог / src? В пакете R igraph уже есть файл Makevars, но я не понимаю, как создаются все файлы c - обычно в моем Makefile у меня есть что-то вроде gcc (некоторый список исходных файлов .c) -o, но Makevar содержит только

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)

и нет другого Makefile. Таким образом, как мне поместить код C в пакет R, который зависит от другой библиотеки C, и как мне написать соответствующие Makevars (или Makefile) для включения функций C?

Более старый вопрос был опубликованВот но, кажется, только ссылка, чтобы помочь в написании вашего собственного кода на C, который ни от чего не зависит.

Ответы на вопрос(2)

Ваш ответ на вопрос