swig/SWIG/Examples/chicken/vtk/Makefile.in
Jonah Beckford 85ace8facd Initial addition.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4313 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-02-15 01:56:34 +00:00

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 $@