# #--------------------------------------------------------------- NIVXIPATH = /usr/local/nivxi # # wrapper options # TOP = /opt/swig/bin #TOP = /usr/local/bin/ SWIG = $(TOP)/swig SRCS = vme.c TARGET = vme INTERFACE = vme.i INCLUDE = -I$(NIVXIPATH)/include LIBS = -L$(NIVXIPATH)/lib -lnivxi CC = gcc CXX = c++ CFLAGS = -DVXILINUX prefix = /opt/swig exec_prefix= ${prefix} SWIGOPT = SWIGDOC = html LIBM = -lieee -lm LIBC = LIBCRYPT = -lcrypt SYSLIBS = $(LIBM) $(LIBC) $(LIBCRYPT) # X11 options XLIB = -L/usr/X11R6/lib -lX11 XINCLUDE = -I/usr/X11R6/include ISRCS = $(INTERFACE:.i=_wrap.c) #PY_VERS = 2.0 #PYTHON_INCLUDE = -DHAVE_CONFIG_H -I/usr/include/python$(PY_VERS) #PYTHON_LIB = /usr/lib/python$(PY_VERS) PY_VERS = 2.1 PYTHON_INCLUDE = -DHAVE_CONFIG_H -I/usr/local/include/python$(PY_VERS) PYTHON_LIB = /usr/local/lib/python$(PY_VERS) ################################################################## # Dynamic loading for C++ # If you are going to be building dynamic loadable modules in C++, # you may need to edit this line appropriately. # # This line works for g++, but I'm not sure what it might be # for other C++ compilers ################################################################## CPP_DLLIBS = #-L/usr/local/lib/gcc-lib/sparc-sun-solaris2.5.1/2.7.2 \ -L/usr/local/lib -lg++ -lstdc++ -lgcc # Symbols used for using shared libraries SO= .so LDSHARED= gcc -shared CCSHARED= -fpic CXXSHARED= gcc -shared # This is used for building shared libraries with a number of C++ # compilers. If it doesn't work, comment it out. CXXSHARED= c++ -shared OBJS = $(SRCS:.c=.o) IOBJS = $(ISRCS:.c=.o) OBJSCPP = $(SRCS:.cpp=.o) IOBJSCPP = $(ISRCS:.cpp=.o) all: python # ---------------------------------------------------------------- # Build a C dynamically loadable module # ---------------------------------------------------------------- python: $(SRCS) $(SWIG) -python $(SWIGOPT) -d$(SWIGDOC) $(INTERFACE) $(CC) -c $(CCSHARED) $(CFLAGS) $(ISRCS) $(SRCS) $(INCLUDE) $(PYTHON_INCLUDE) $(LDSHARED) $(OBJS) $(IOBJS) $(LIBS) -o $(TARGET)module$(SO) install : $(TARGET)module$(SO) su -c 'install $(TARGET)module$(SO) /usr/local/lib/python$(PY_VERS)/site-packages/$(TARGET)module$(SO)'