You can download plugins skeletons here .
Following is a Makefile that compiles a plug-in :
# Update the line below according to the tulip installation directory you choosed
TULIP_DIR=/usr/local/bin
TULIP_CONFIG=$(TULIP_DIR)/tulip-config
TULIP_VERSION=$(shell ${TULIP_CONFIG} --version)
LIB_EXTENSION=$(shell ${TULIP_CONFIG} --pluginextension)
# To limit, crash problems when loading a plugin library
# Tulip only load those whose names end with a compatible version number
TARGET= libmyalgorithm-$(TULIP_VERSION).$(LIB_EXTENSION)
# a plugin library may contain more than one algorithm
# so you can have several source files on the line below
SRCS = MyGeneralAlgorithm.cpp
CXX=g++
CXXFLAGS = -O3 -Wall -DNDEBUG `${TULIP_CONFIG} --cxxflags --plugincxxflags`
LDFLAGS= `${TULIP_CONFIG} --pluginldflags` `${TULIP_CONFIG} --libs`
OBJS=$(SRCS:.cpp=.o)
DEPS=$(SRCS:.cpp=.d)
all: $(TARGET)
$(TARGET): $(OBJS)
$(CXX) $(OBJS) -o $@ $(LDFLAGS) $(LIBS)
clean :
-rm -f $(TARGET) *.o *.d
install: all
install $(TARGET) `${TULIP_CONFIG} --pluginpath`
%.d: %.cpp
$(CXX) -M $(CXXFLAGS) $< \
| sed 's!\($*\)\.o[ :]*!\1.o $@ : !g' > $@; \
[ -s $@ ] 2>/dev/null || rm $@
-include $(DEPS)
Procedure 6.1. Compile and install your plugin
[user@localhost ]$make
Type make in a terminal.
[user@localhost ]$make install
Type make install in a terminal. Be careful that you may need root privileges to do this.
[user@localhost ]$make clean
'make clean', will remove all generated files (libraries, *.o , ...)