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 65 66 67 68 69 70 71 72 73 74 75
|
CCC = gcc
FFC = g77
ROOTDIR=/usr
BUILDIR=$(ROOTDIR)
INCLUDES = -I/usr/local/include/python2.1
OPT=-O2 -march=pentium
CFLAGS = $(OPT) $(INCLUDES)
FFLAGS=$(OPT)
INSTALLDIR = $(BUILDIR)/lib/python2.1/site-packages
OBJS = ufunc_extras.o amos_wrappers.o toms_wrappers.o cephesmodule.o
LIBS = amos/libamos.a toms/libtoms.a c_misc/libmiscfuncs.a cephes/libcephes.a
all: $(OBJS) $(LIBS)
$(FFC) -shared $(FFLAGS) -o cephesmodule.so $(OBJS) \
-L./misc -lmiscfuncs -L./cephes -lcephes \
-L./amos -lamos -L./toms -ltoms -lm
cephesmodule.o: cephesmodule.c cephes_doc.h
$(CCC) -c $(CFLAGS) -fPIC cephesmodule.c
cephes_doc.h: docs/included_functions.html
python gendoc.py
amos/libamos.a:
cd amos && make CCC=$(CCC) CFLAGS="$(OPT)" FFC=$(FFC) \
FFLAGS="$(FFLAGS)" ROOTDIR="$(ROOTDIR)" BUILDIR="$(BUILDIR)"
cephes/libcephes.a:
cd cephes && make CCC=$(CCC) CFLAGS="$(OPT)" FFC=$(FFC) \
FFLAGS="$(FFLAGS)" ROOTDIR="$(ROOTDIR)" BUILDIR="$(BUILDIR)"
toms/libtoms.a:
cd toms && make CCC=$(CCC) CFLAGS="$(OPT)" FFC=$(FFC) \
FFLAGS="$(FFLAGS)" ROOTDIR="$(ROOTDIR)" BUILDIR="$(BUILDIR)"
c_misc/libmiscfuncs.a:
cd misc && make CCC=$(CCC) CFLAGS="$(OPT)" FFC=$(FFC) \
FFLAGS="$(FFLAGS)" ROOTDIR="$(ROOTDIR)" BUILDIR="$(BUILDIR)"
install:
install -d $(INSTALLDIR)/SpecialFuncs
install -c cephesmodule.so $(INSTALLDIR)/SpecialFuncs
cp SpecialFuncs.py $(INSTALLDIR)/SpecialFuncs
echo "SpecialFuncs" > $(INSTALLDIR)/SpecialFuncs.pth
cd misc && make install BUILDIR="$(BUILDIR)"
cd toms && make install BUILDIR="$(BUILDIR)"
cd cephes && make install BUILDIR="$(BUILDIR)"
cd amos && make install BUILDIR="$(BUILDIR)"
testref:
cd tests && make testref
test:
cd tests && make test
clean:
rm -f *.o *.so
distclean:
rm -f *.o *.so
rm -fr .libs
rm -f cephes/*.o cephes/*.a cephes/*.l?
rm -fr cephes/.libs
rm -f amos/*.o amos/*.a amos/*.l?
rm -fr amos/.libs
rm -f toms/*.o toms/*.a toms/*.l?
rm -fr toms/.libs
rm -f misc/*.o misc/*.a misc/*.l?
rm -fr misc/.libs
find . "(" -name '*~' -o -name '*.pyc' -o -name '*.pyo' \
-o -name 'ref_*.pkl' ")" -exec rm {} \;
|