git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4313 626c5289-ae23-0410-ae9c-e8d60b6d4f22
170 lines
5.6 KiB
Makefile
170 lines
5.6 KiB
Makefile
@SET_MAKE@
|
|
|
|
srcdir = @srcdir@
|
|
top_srcdir = @top_srcdir@
|
|
VPATH = @srcdir@
|
|
SOURCE_DIR = $(top_srcdir)/Examples/chicken/vtk
|
|
TOP = ../..
|
|
CC = @CC@
|
|
CXX = @CXX@
|
|
OBJEXT = @OBJEXT@
|
|
EXEEXT = @EXEEXT@
|
|
CMAKEVER = cmake-1.6.2
|
|
THISDIR = $(PWD)
|
|
VTKVER = 40
|
|
VTKHOME = $(PWD)/vtklocal
|
|
SWIG = $(TOP)/../swig$(EXEEXT)
|
|
CHICKGEN = example_wrap.$(OBJEXT) csi.$(OBJEXT) precsi.$(OBJEXT) \
|
|
oexample.$(OBJEXT)
|
|
CHICKSRC = csi.c precsi.c oexample.c
|
|
SRCS = $(CHICKGEN)
|
|
TARGET = vtk$(EXEEXT)
|
|
INCLUDE = -I$(SOURCE_DIR) -I$(VTKHOME)/include/vtk
|
|
EXTRALIBS = -lgdi32 -lopengl32
|
|
LIBS = -L$(VTKHOME)/lib/vtk -lvtkRendering -lvtkIO -lvtkGraphics \
|
|
-lvtkImaging -lvtkFiltering -lvtkCommon -lvtkjpeg -lvtkpng \
|
|
-lvtkzlib $(EXTRALIBS)
|
|
SWIGOPT = -mixed $(INCLUDE)
|
|
BTXETX = vtkFieldData.i vtkDataSetAttributes.i
|
|
|
|
# Symbols used for using shared libraries
|
|
SO = @SO@
|
|
LDSHARED = @LDSHARED@
|
|
CXXSHARED = @CXXSHARED@
|
|
|
|
# This is used for building shared libraries with a number of C++
|
|
# compilers. If it doesn't work, comment it out.
|
|
@TRYLINKINGWITHCXX@
|
|
|
|
all:: $(TARGET) example_generic.scm example_clos.scm
|
|
|
|
.SUFFIXES: .cxx
|
|
|
|
.c.o:
|
|
$(CC) $(INCLUDE) $(CFLAGS) -c -o $*.o $<
|
|
|
|
.cxx.o:
|
|
$(CXX) $(INCLUDE) $(CFLAGS) -c -o $*.o $<
|
|
|
|
csi.c:
|
|
$(MAKE) -f $(TOP)/Makefile TARGET='csi.c' \
|
|
INTERFACE='precsi' chicken_csi
|
|
|
|
precsi.c: $(SOURCE_DIR)/precsi.scm
|
|
$(MAKE) -f $(TOP)/Makefile TARGET='precsi.c' \
|
|
INTERFACE='$<' chicken
|
|
|
|
example_wrap.cxx example.scm example_generic.scm example_clos.scm: $(SOURCE_DIR)/example.i $(BTXETX)
|
|
(test $< -nt example.i && cp -p $< example.i) || echo example.i is up-to-date
|
|
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
|
|
INCLUDE='$(INCLUDE)' INTERFACE='example.i' chicken_cpp
|
|
|
|
oexample.c: example.scm
|
|
$(MAKE) -f $(TOP)/Makefile TARGET='oexample.c' \
|
|
INTERFACE='$<' chicken
|
|
|
|
$(TARGET): $(SRCS)
|
|
$(MAKE) -f $(TOP)/Makefile SRCS='$(SRCS)' SWIG='$(SWIG)' \
|
|
INCLUDE='$(INCLUDE)' SWIGOPT='$(SWIGOPT)' TARGET='$(TARGET)' \
|
|
LIBS='$(LIBS)' INTERFACE='$(INTERFACE)' chicken_cpp_static
|
|
|
|
clean::
|
|
rm -f *_wrap* *.o core *~ *.so *.stackdump STACKTRACE
|
|
rm -f $(CHICKGEN) $(CHICKSRC)
|
|
rm -f $(BTXETX) example.scm example_generic.scm example_clos.scm
|
|
rm -f $(TARGET) c-sphere$(EXEEXT) c-quadric$(EXEEXT)
|
|
@echo
|
|
@echo You can clean VTK with: cd vtk$(VTKVER)/VTK '&&' make clean
|
|
@echo You can clean CMake with: cd $(CMAKEVER) '&&' make clean
|
|
|
|
check:
|
|
|
|
btx-etx::
|
|
@sed "s^//BTX^#if 0\/* start BTX <-> ETX */^g ;\
|
|
s^//ETX^#endif /* end BTX <-> ETX */^g" \
|
|
$(SOURCE) > $(DEST)
|
|
|
|
vtkFieldData.i: $(VTKHOME)/include/vtk/vtkFieldData.h
|
|
$(MAKE) SOURCE="$<" DEST="$@" btx-etx
|
|
|
|
vtkDataSetAttributes.i: $(VTKHOME)/include/vtk/vtkDataSetAttributes.h
|
|
$(MAKE) SOURCE="$<" DEST="$@" btx-etx
|
|
|
|
cmake: $(CMAKEVER).tar.gz
|
|
gunzip -d -c $(CMAKEVER).tar.gz | tar xvf - && \
|
|
cd $(CMAKEVER) && \
|
|
./configure --prefix $(THISDIR)/cmakelocal && \
|
|
make && \
|
|
make install
|
|
|
|
vtkunix: vtk$(VTKVER)Src.tar.gz
|
|
mkdir vtk$(VTKVER) || echo Rebuilding VTK
|
|
cd vtk$(VTKVER) && \
|
|
gunzip -d -c ../vtk$(VTKVER)Src.tar.gz | tar xvf - && \
|
|
rm -f VTK/CMakeCache.txt && \
|
|
cd VTK && \
|
|
mv Utilities/Doxygen/doxyfile.in Utilities/Doxygen/doxyfile.in.orig && \
|
|
sed 's^GENERATE_\([A-Z]*[ ]*=[ ]*\)YES^GENERATE_\1NO^; $$ a GENERATE_XML = YES' Utilities/Doxygen/doxyfile.in.orig > Utilities/Doxygen/doxyfile.in && \
|
|
cmake . \
|
|
-DCMAKE_C_COMPILER:FILEPATH="$(CC)" \
|
|
-DCMAKE_C_LINK_SHARED:STRING="$(LDSHARED)" \
|
|
-DCMAKE_CXX_COMPILER:FILEPATH="$(CXX)" \
|
|
-DCMAKE_CXX_LINK_SHARED:STRING="$(CXXSHARED)" \
|
|
-DCMAKE_CXX_SHLIB_BUILD_FLAGS:STRING= \
|
|
-DCMAKE_CXX_MODULE_BUILD_FLAGS:STRING= \
|
|
-DCMAKE_MODULE_BUILD_FLAGS:STRING= \
|
|
-DCMAKE_MODULE_SUFFIX:STRING="$(SO)" \
|
|
-DCMAKE_SHLIB_BUILD_FLAGS:STRING= \
|
|
-DCMAKE_SHLIB_SUFFIX:STRING="$(SO)" \
|
|
-DCMAKE_MAKE_PROGRAM:FILEPATH="$(MAKE)" \
|
|
-DCMAKE_INSTALL_PREFIX:PATH="$(THISDIR)/vtklocal" \
|
|
-DCMAKE_BACKWARDS_COMPATIBILITY:STRING=1.2 \
|
|
-DBUILD_DOCUMENTATION:BOOL=ON \
|
|
-DBUILD_SHARED_LIBS:BOOL=ON \
|
|
-DBUILD_EXAMPLES:BOOL=ON && \
|
|
make && \
|
|
make install
|
|
|
|
# cygwin has OpenGL from the Windows API and X. We force it to use
|
|
# the Windows API so there is no conflict.
|
|
vtkcygwin: vtk$(VTKVER)Src.tar.gz
|
|
mkdir vtk$(VTKVER) || echo Rebuilding VTK
|
|
cd vtk$(VTKVER) && \
|
|
gunzip -d -c ../vtk$(VTKVER)Src.tar.gz | tar xvf - && \
|
|
rm -f VTK/CMakeCache.txt && \
|
|
cd VTK && \
|
|
mv Utilities/Doxygen/doxyfile.in Utilities/Doxygen/doxyfile.in.orig && \
|
|
sed 's^GENERATE_\([A-Z]*[ ]*=[ ]*\)YES^GENERATE_\1NO^; $$ a GENERATE_XML = YES' Utilities/Doxygen/doxyfile.in.orig > Utilities/Doxygen/doxyfile.in && \
|
|
mv Common/vtkViewport.h Common/vtkViewport.h.orig && \
|
|
sed -f ../../cygwin_viewport.sed Common/vtkViewport.h.orig > Common/vtkViewport.h && \
|
|
cmake . \
|
|
-DCMAKE_C_COMPILER:FILEPATH="$(CC)" \
|
|
-DCMAKE_C_LINK_SHARED:STRING="$(LDSHARED)" \
|
|
-DCMAKE_CXX_COMPILER:FILEPATH="$(CXX)" \
|
|
-DCMAKE_CXX_LINK_SHARED:STRING="$(CXXSHARED)" \
|
|
-DCMAKE_CXX_SHLIB_BUILD_FLAGS:STRING= \
|
|
-DCMAKE_CXX_MODULE_BUILD_FLAGS:STRING= \
|
|
-DCMAKE_MODULE_BUILD_FLAGS:STRING= \
|
|
-DCMAKE_MODULE_SUFFIX:STRING="$(SO)" \
|
|
-DCMAKE_SHLIB_BUILD_FLAGS:STRING= \
|
|
-DCMAKE_SHLIB_SUFFIX:STRING="$(SO)" \
|
|
-DCMAKE_MAKE_PROGRAM:FILEPATH="$(MAKE)" \
|
|
-DCMAKE_X_CFLAGS:STRING=" -I/usr/include/w32api -I/usr/X11R6/include " \
|
|
-DCMAKE_INSTALL_PREFIX:PATH="$(THISDIR)/vtklocal" \
|
|
-DCMAKE_BACKWARDS_COMPATIBILITY:STRING=1.2 \
|
|
-DBUILD_DOCUMENTATION:BOOL=ON \
|
|
-DBUILD_SHARED_LIBS:BOOL=ON \
|
|
-DBUILD_EXAMPLES:BOOL=ON && \
|
|
make && \
|
|
make install
|
|
|
|
vtkdoc: vtk$(VTKVER)/VTK/Utilities/Doxygen/Makefile
|
|
$(MAKE) -f $< DoxygenDoc
|
|
|
|
c: c-sphere$(EXEEXT) c-quadric$(EXEEXT)
|
|
|
|
c-sphere$(EXEEXT): c-sphere.o
|
|
$(CXX) $< $(LIBS) -o $@
|
|
|
|
c-quadric$(EXEEXT): c-quadric.o
|
|
$(CXX) $< $(LIBS) -o $@
|