1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
#
# example_common.mak
#
# include this mak file after defining the variables it needs
#
COMMON_OBJECTS=cxxsupport.o cxx_extensions.o cxxextensions.o IndirectPythonInterface.o
EXAMPLE_OBJECTS=example.o range.o rangetest.o $(COMMON_OBJECTS)
PYCXX_ITER_OBJECTS=pycxx_iter.o $(COMMON_OBJECTS)
all: example.so pycxx_iter.so
#
# Example
#
example.so: $(EXAMPLE_OBJECTS)
$(LDSHARED) -o $@ $(EXAMPLE_OBJECTS) $(LDLIBS)
example.o: Demo/example.cxx
$(CCC) $(CCCFLAGS) -o $@ $<
range.o: Demo/range.cxx
$(CCC) $(CCCFLAGS) -o $@ $<
rangetest.o: Demo/rangetest.cxx
$(CCC) $(CCCFLAGS) -o $@ $<
#
# pycxx_iter
#
pycxx_iter.so: $(PYCXX_ITER_OBJECTS)
$(LDSHARED) -o $@ $(PYCXX_ITER_OBJECTS) $(LDLIBS)
pycxx_iter.o: Demo/pycxx_iter.cxx
$(CCC) $(CCCFLAGS) -o $@ $<
#
# common objects
#
cxxsupport.o: Src/cxxsupport.cxx
$(CCC) $(CCCFLAGS) -o $@ $<
cxx_extensions.o: Src/cxx_extensions.cxx
$(CCC) $(CCCFLAGS) -o $@ $<
cxxextensions.o: Src/cxxextensions.c
$(CC) -c $(CCCFLAGS) -o $@ $<
IndirectPythonInterface.o: Src/IndirectPythonInterface.cxx
$(CCC) $(CCCFLAGS) -o $@ $<
#
# Clean rule
#
clean:
rm -f *.o
rm -f example.so
rm -f pycxx_iter.so
#
# test rule
#
test: example.so pycxx_iter.so
PYTHONPATH=. $(PYTHON) Demo/test_example.py
PYTHONPATH=. $(PYTHON) Demo/test_pycxx_iter.py
|