// libtwintree.h:
int return_one( void );
int return_zero( void );
####
// libtwintree.c:
#include "libtwintree.h"
int return_one( void ) { return 1; }
int return_zero( void ) { return 0; }
####
TwinTree.pm : TwinTree.xs
cd TwinTree && \
perl Makefile.PL && \
make && \
make test && \
make install
TwinTree.xs : libtwintree.so install
mkdir -p TwinTree && \
cp libtwintree.h TwinTree && \
h2xs -Oxan TwinTree -L/usr/local/lib -llibtwintree libtwintree.h
libtwintree.so : libtwintree.o
gcc -shared -Wl,-soname,libtwintree.so -o libtwintree.so libtwintree.o -lc
libtwintree.o :
gcc -fPIC -g -c -Wall libtwintree.c
clean :
rm -Rf *.o *.so TwinTree
install : libtwintree.so
cp libtwintree.so /usr/local/lib && \
ldconfig -n /usr/local/lib
####
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
#include "ppport.h"
#include "const-c.inc"
MODULE = TwinTree PACKAGE = TwinTree
INCLUDE: const-xs.inc