mirror of
https://github.com/boostorg/python.git
synced 2026-01-26 06:42:27 +00:00
195 lines
5.7 KiB
Makefile
195 lines
5.7 KiB
Makefile
# Usage:
|
|
#
|
|
# Create a new empty directory anywhere (preferably not in the boost tree).
|
|
# Copy this Makefile to that new directory and rename it to "Makefile"
|
|
# Set the MYBOOST pathname below.
|
|
#
|
|
# make softlinks Create softlinks to source code and tests
|
|
# make Compile all sources
|
|
# make test Run doctest tests
|
|
# make clean Remove all object files
|
|
# make unlink Remove softlinks
|
|
|
|
MYBOOST= /net/cci/rwgk/myboost
|
|
|
|
PYEXE= /usr/local/Python-1.5.2/bin/python
|
|
PYINC= -I/usr/local/Python-1.5.2/include/python1.5
|
|
#PYEXE= /usr/local/Python-2.0/bin/python
|
|
#PYINC= -I/usr/local/Python-2.0/include/python2.0
|
|
#STLPORTINC= -I/usr/local/STLport-4.1b3/stlport
|
|
#STLPORTOPTS= \
|
|
# -D__USE_STD_IOSTREAM \
|
|
# -D__STL_NO_SGI_IOSTREAMS \
|
|
# -D__STL_USE_NATIVE_STRING \
|
|
# -D__STL_NO_NEW_C_HEADERS \
|
|
# -D_RWSTD_COMPILE_INSTANTIATE=1
|
|
#STLPORTINC= -I/usr/local/STLport-4.1b4/stlport
|
|
#STLPORTOPTS= -D__NO_USE_STD_IOSTREAM -D__STL_NO_SGI_IOSTREAMS
|
|
#STLPORTINC= -I/net/cci/xp/C++_C_headers
|
|
|
|
STDOPTS= -ftemplate-depth-21
|
|
WARNOPTS=
|
|
|
|
CPP= g++
|
|
CPPOPTS= $(STLPORTINC) $(STLPORTOPTS) -I$(MYBOOST) $(PYINC) \
|
|
$(STDOPTS) $(WARNOPTS) -g
|
|
|
|
LD= g++
|
|
LDOPTS= -shared
|
|
|
|
BPL_SRC = $(MYBOOST)/libs/python/src
|
|
BPL_TST = $(MYBOOST)/libs/python/test
|
|
BPL_EXA = $(MYBOOST)/libs/python/example
|
|
SOFTLINKS = \
|
|
$(BPL_SRC)/classes.cpp \
|
|
$(BPL_SRC)/conversions.cpp \
|
|
$(BPL_SRC)/extension_class.cpp \
|
|
$(BPL_SRC)/functions.cpp \
|
|
$(BPL_SRC)/import_extension_class.cpp \
|
|
$(BPL_SRC)/init_function.cpp \
|
|
$(BPL_SRC)/module_builder.cpp \
|
|
$(BPL_SRC)/objects.cpp \
|
|
$(BPL_SRC)/types.cpp \
|
|
$(BPL_TST)/comprehensive.cpp \
|
|
$(BPL_TST)/comprehensive.hpp \
|
|
$(BPL_TST)/comprehensive.py \
|
|
$(BPL_TST)/doctest.py \
|
|
$(BPL_EXA)/abstract.cpp \
|
|
$(BPL_EXA)/dvect.cpp \
|
|
$(BPL_EXA)/dvect.h \
|
|
$(BPL_EXA)/getting_started1.cpp \
|
|
$(BPL_EXA)/getting_started2.cpp \
|
|
$(BPL_EXA)/getting_started3.cpp \
|
|
$(BPL_EXA)/getting_started4.cpp \
|
|
$(BPL_EXA)/getting_started5.cpp \
|
|
$(BPL_EXA)/passing_char.cpp \
|
|
$(BPL_EXA)/cmplx.cpp \
|
|
$(BPL_EXA)/ivect.cpp \
|
|
$(BPL_EXA)/ivect.h \
|
|
$(BPL_EXA)/noncopyable_export.cpp \
|
|
$(BPL_EXA)/noncopyable_import.cpp \
|
|
$(BPL_EXA)/store.h \
|
|
$(BPL_EXA)/test_abstract.py \
|
|
$(BPL_EXA)/test_getting_started1.py \
|
|
$(BPL_EXA)/test_getting_started2.py \
|
|
$(BPL_EXA)/test_getting_started3.py \
|
|
$(BPL_EXA)/test_getting_started4.py \
|
|
$(BPL_EXA)/test_getting_started5.py \
|
|
$(BPL_EXA)/tst_passing_char.py \
|
|
$(BPL_EXA)/tst_cmplx.py \
|
|
$(BPL_EXA)/tst_dvect.py \
|
|
$(BPL_EXA)/tst_ivect.py \
|
|
$(BPL_EXA)/tst_noncopyable.py
|
|
|
|
OBJ = classes.o conversions.o extension_class.o functions.o \
|
|
import_extension_class.o init_function.o module_builder.o \
|
|
objects.o types.o
|
|
|
|
.SUFFIXES: .o .cpp
|
|
|
|
all: libbpl.a test.so abstract.so \
|
|
getting_started1.so getting_started2.so getting_started3.so \
|
|
getting_started4.so getting_started5.so \
|
|
passing_char.so cmplx.so \
|
|
noncopyable_export.so noncopyable_import.so \
|
|
ivect.so dvect.so
|
|
|
|
softlinks:
|
|
@ for pn in $(SOFTLINKS); \
|
|
do \
|
|
bn=`basename "$$pn"`; \
|
|
if [ ! -e "$$bn" ]; then \
|
|
echo "ln -s $$pn ."; \
|
|
ln -s "$$pn" .; \
|
|
else \
|
|
echo "info: no softlink created (file exists): $$bn"; \
|
|
fi; \
|
|
done
|
|
|
|
unlink:
|
|
@ for pn in $(SOFTLINKS); \
|
|
do \
|
|
bn=`basename "$$pn"`; \
|
|
if [ -L "$$bn" ]; then \
|
|
echo "rm $$bn"; \
|
|
rm "$$bn"; \
|
|
elif [ -e "$$bn" ]; then \
|
|
echo "info: not a softlink: $$bn"; \
|
|
fi; \
|
|
done
|
|
|
|
libbpl.a: $(OBJ)
|
|
rm -f libbpl.a
|
|
ar r libbpl.a $(OBJ)
|
|
|
|
test.so: $(OBJ) comprehensive.o
|
|
$(LD) $(LDOPTS) $(OBJ) comprehensive.o -o test.so -lm
|
|
|
|
abstract.so: $(OBJ) abstract.o
|
|
$(LD) $(LDOPTS) $(OBJ) abstract.o -o abstract.so
|
|
|
|
getting_started1.so: $(OBJ) getting_started1.o
|
|
$(LD) $(LDOPTS) $(OBJ) getting_started1.o -o getting_started1.so
|
|
|
|
getting_started2.so: $(OBJ) getting_started2.o
|
|
$(LD) $(LDOPTS) $(OBJ) getting_started2.o -o getting_started2.so
|
|
|
|
getting_started3.so: $(OBJ) getting_started3.o
|
|
$(LD) $(LDOPTS) $(OBJ) getting_started3.o -o getting_started3.so
|
|
|
|
getting_started4.so: $(OBJ) getting_started4.o
|
|
$(LD) $(LDOPTS) $(OBJ) getting_started4.o -o getting_started4.so
|
|
|
|
getting_started5.so: $(OBJ) getting_started5.o
|
|
$(LD) $(LDOPTS) $(OBJ) getting_started5.o -o getting_started5.so
|
|
|
|
passing_char.so: $(OBJ) passing_char.o
|
|
$(LD) $(LDOPTS) $(OBJ) passing_char.o -o passing_char.so
|
|
|
|
cmplx.so: $(OBJ) cmplx.o
|
|
$(LD) $(LDOPTS) $(OBJ) cmplx.o -o cmplx.so -lm
|
|
|
|
noncopyable_export.so: $(OBJ) noncopyable_export.o
|
|
$(LD) $(LDOPTS) $(OBJ) $(HIDDEN) noncopyable_export.o -o noncopyable_export.so
|
|
|
|
noncopyable_import.so: $(OBJ) noncopyable_import.o
|
|
$(LD) $(LDOPTS) $(OBJ) $(HIDDEN) noncopyable_import.o -o noncopyable_import.so
|
|
|
|
ivect.cpp: ivect.h dvect.h
|
|
ivect.so: $(OBJ) ivect.o
|
|
$(LD) $(LDOPTS) $(OBJ) $(HIDDEN) ivect.o -o ivect.so
|
|
|
|
dvect.cpp: ivect.h dvect.h
|
|
dvect.so: $(OBJ) dvect.o
|
|
$(LD) $(LDOPTS) $(OBJ) $(HIDDEN) dvect.o -o dvect.so
|
|
|
|
.cpp.o:
|
|
$(CPP) $(CPPOPTS) -c $*.cpp
|
|
|
|
test:
|
|
$(PYEXE) comprehensive.py
|
|
$(PYEXE) test_abstract.py
|
|
$(PYEXE) test_getting_started1.py
|
|
$(PYEXE) test_getting_started2.py
|
|
$(PYEXE) test_getting_started3.py
|
|
$(PYEXE) test_getting_started4.py
|
|
$(PYEXE) test_getting_started5.py
|
|
|
|
clean:
|
|
rm -f $(OBJ) libbpl.a libbpl.a.input
|
|
rm -f comprehensive.o test.so
|
|
rm -f abstract.o abstract.so
|
|
rm -f getting_started1.o getting_started1.so
|
|
rm -f getting_started2.o getting_started2.so
|
|
rm -f getting_started3.o getting_started3.so
|
|
rm -f getting_started4.o getting_started4.so
|
|
rm -f getting_started5.o getting_started5.so
|
|
rm -f passing_char.o passing_char.so
|
|
rm -f cmplx.o cmplx.so
|
|
rm -f noncopyable_export.o noncopyable_export.so
|
|
rm -f noncopyable_import.o noncopyable_import.so
|
|
rm -f ivect.o ivect.so
|
|
rm -f dvect.o dvect.so
|
|
rm -f so_locations *.pyc
|
|
rm -rf cxx_repository
|