From 4e27f8de274fd8f76ea227200b6c2a0d3352ec21 Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Tue, 28 Nov 2000 05:17:07 +0000 Subject: [PATCH] boost-ification [SVN r8347] --- build/como.mak | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ build/gcc.mak | 39 +++++++++++++++++++++----------------- 2 files changed, 73 insertions(+), 17 deletions(-) create mode 100644 build/como.mak diff --git a/build/como.mak b/build/como.mak new file mode 100644 index 00000000..5a9920d8 --- /dev/null +++ b/build/como.mak @@ -0,0 +1,51 @@ +LIBSRC = \ + classes.cpp \ + conversions.cpp \ + extension_class.cpp \ + functions.cpp \ + init_function.cpp \ + module_builder.cpp \ + objects.cpp \ + types.cpp + +LIBOBJ = $(LIBSRC:.cpp=.o) +OBJ = $(LIBOBJ) + + +ifeq "$(OS)" "Windows_NT" +PYTHON_LIB=c:/tools/python/libs/python15.lib +INC = -Ic:/cygnus/usr/include/g++-3 -Ic:/cygnus/usr/include -Ic:/boost -Ic:/tools/python/include +MODULE_EXTENSION=dll +else +INC = -I/usr/local/include/python1.5 +MODULE_EXTENSION=so +endif + +%.o: ../src/%.cpp + como --pic $(INC) -o $*.o -c $< + +%.d: ../src/%.cpp + @echo creating $@ + @set -e; como -M $(INC) -c $< \ + | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \ + [ -s $@ ] || rm -f $@ + +example1: example1.o libpycpp.a + como-dyn-link -o ../example/hellomodule.$(MODULE_EXTENSION) $(PYHTON_LIB) example1.o -L. -lpycpp + python ../example/test_example1.py + +example1.o: ../example/example1.cpp + como --pic $(INC) -o $*.o -c $< + +clean: + rm -rf *.o *.$(MODULE_EXTENSION) *.a *.d *.pyc *.bak a.out + +libpycpp.a: $(LIBOBJ) + rm -f libpycpp.a + ar cq libpycpp.a $(LIBOBJ) + +DEP = $(OBJ:.o=.d) + +ifneq "$(MAKECMDGOALS)" "clean" +include $(DEP) +endif diff --git a/build/gcc.mak b/build/gcc.mak index cec872cf..d0b42548 100644 --- a/build/gcc.mak +++ b/build/gcc.mak @@ -1,15 +1,15 @@ LIBSRC = \ - extclass.cpp \ - init_function.cpp \ - py.cpp \ - module.cpp \ - subclass.cpp \ + classes.cpp \ + conversions.cpp \ + extension_class.cpp \ functions.cpp \ - newtypes.cpp \ - objects.cpp - + init_function.cpp \ + module_builder.cpp \ + objects.cpp \ + types.cpp + LIBOBJ = $(LIBSRC:.cpp=.o) -OBJ = $(LIBOBJ) extclass_demo.o +OBJ = $(LIBOBJ) ifeq "$(OS)" "Windows_NT" @@ -17,22 +17,27 @@ PYTHON_LIB=c:/tools/python/libs/python15.lib INC = -Ic:/cygnus/usr/include/g++-3 -Ic:/cygnus/usr/include -Ic:/boost -Ic:/tools/python/include MODULE_EXTENSION=dll else -INC = -I/home/koethe/include -I/home/koethe/C++/boost -I/home/koethe/python/include/python1.5 +INC = -I/usr/local/include/python1.5 MODULE_EXTENSION=so endif -%.o: %.cpp - g++ -fPIC $(INC) -c $*.cpp +%.o: ../src/%.cpp + g++ -fPIC -Wall -W $(INC) -o $*.o -c $< -%.d: %.cpp +%.d: ../src/%.cpp @echo creating $@ - @set -e; g++ -M $(INC) -c $*.cpp \ + @set -e; g++ -M $(INC) -c $< \ | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \ [ -s $@ ] || rm -f $@ -demo: extclass_demo.o libpycpp.a - g++ -shared -o demomodule.$(MODULE_EXTENSION) $(PYTHON_LIB) extclass_demo.o -L. -lpycpp - python test_extclass.py + +example1: example1.o libpycpp.a + g++ -shared -o ../example/hellomodule.$(MODULE_EXTENSION) $(PYHTON_LIB) example1.o -L. -lpycpp + python ../example/test_example1.py + +example1.o: ../example/example1.cpp + g++ -fPIC -Wall -W $(INC) -o $*.o -c $< + clean: rm -rf *.o *.$(MODULE_EXTENSION) *.a *.d *.pyc *.bak a.out