File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -19,6 +19,8 @@ include libfftpack/planck.make
1919include libsharp/planck.make
2020include docsrc/planck.make
2121
22+ CYTHON_MODULES =python/libsharp/libsharp.so $(if $(MPI_CFLAGS ) , python/libsharp/libsharp_mpi.so)
23+
2224$(all_lib ) : % : | $(LIBDIR ) _mkdir
2325 @echo " # creating library $* "
2426 $(ARCREATE ) $@ $^
@@ -62,10 +64,15 @@ perftest: compile_all
6264genclean :
6365 rm libsharp/sharp_legendre.c || exit 0
6466
65- python/libsharp/libsharp.so : python/libsharp/libsharp.pyx $(LIB_libsharp )
67+ $(CYTHON_MODULES ) : % .so: % .pyx
68+ ifndef PIC_CFLAGS
69+ $(error Python extension must be built using the --enable-pic configure option.)
70+ endif
6671 cython $<
67- $(CC ) -fPIC ` python-config --cflags` -I$(INCDIR ) -o python/libsharp/libsharp.o -c python/libsharp/libsharp.c
68- $(CL ) -shared python/libsharp/libsharp.o -L$(LIBDIR ) -lsharp -lfftpack -lc_utils ` python-config --libs` -o $@
72+ $(CC) $(DEBUG_CFLAGS) $(OPENMP_CFLAGS) $(PIC_CFLAGS) `python-config --cflags` -I$(INCDIR) -o $(<:.pyx=.o) -c $(<:.pyx=.c)
73+ $(CL) -shared $(<:.pyx=.o) $(OPENMP_CFLAGS) $(CYTHON_OBJ) -L$(LIBDIR) -lsharp -lfftpack -lc_utils -L`python-config --prefix`/lib `python-config --ldflags` -o $@
74+
75+ python : $(all_lib ) hdrcopy $(CYTHON_MODULES )
6976
70- pytest : python/libsharp/libsharp.so
77+ pytest : python
7178 cd python && nosetests --nocapture libsharp/tests/test_sht.py
Original file line number Diff line number Diff line change 55CCFLAGS_NO_C=@CCFLAGS_NO_C@
66CCFLAGS=$(CCFLAGS_NO_C) -c
77CLFLAGS=-L. -L$(LIBDIR) @LDCCFLAGS@ -lm
8-
8+ DEBUG_CFLAGS=@DEBUG_CFLAGS@
9+ MPI_CFLAGS=@MPI_CFLAGS@
10+ OPENMP_CFLAGS=@OPENMP_CFLAGS@
11+ PIC_CFLAGS=@PIC_CFLAGS@
912ARCREATE=@ARCREATE@
Original file line number Diff line number Diff line change 1- BLDROOT = $(SRCROOT)/build.$(SHARP_TARGET)
2- PREFIX = $(SRCROOT)/$(SHARP_TARGET)
3- BINDIR = $(PREFIX)/bin
4- INCDIR = $(PREFIX)/include
5- LIBDIR = $(PREFIX)/lib
6- DOCDIR = $(SRCROOT)/doc
1+ BLDROOT = $(SRCROOT)/build.$(SHARP_TARGET)
2+ PREFIX = $(SRCROOT)/$(SHARP_TARGET)
3+ BINDIR = $(PREFIX)/bin
4+ INCDIR = $(PREFIX)/include
5+ LIBDIR = $(PREFIX)/lib
6+ DOCDIR = $(SRCROOT)/doc
7+ PYTHONDIR = $(SRCROOT)/python/libsharp
78
89# do not use any suffix rules
910.SUFFIXES:
@@ -26,6 +27,7 @@ $(BLDROOT)/%.o : $(SRCROOT)/%.cc | echo_config
2627
2728clean:
2829 rm -rf $(BLDROOT) $(PREFIX) $(DOCDIR) autom4te.cache/ config.log config.status
30+ rm -rf $(PYTHONDIR)/*.c $(PYTHONDIR)/*.o $(PYTHONDIR)/*.so
2931
3032distclean: clean
3133 rm -f config/config.auto
Original file line number Diff line number Diff line change @@ -82,20 +82,20 @@ case $system in
8282 ;;
8383esac
8484
85- CCFLAGS="$CCFLAGS $OPENMP_CFLAGS"
86-
8785if test $ENABLE_DEBUG = yes; then
88- CCFLAGS="$CCFLAGS -g"
86+ DEBUG_CFLAGS=" -g"
8987fi
9088
9189if test $ENABLE_PIC = yes; then
92- CCFLAGS="$CCFLAGS -fPIC"
90+ PIC_CFLAGS=" -fPIC"
9391fi
9492
9593if test $ENABLE_MPI = yes; then
96- CCFLAGS="$CCFLAGS -DUSE_MPI"
94+ MPI_CFLAGS=" -DUSE_MPI"
9795fi
9896
97+ CCFLAGS="$CCFLAGS $DEBUG_CFLAGS $OPENMP_CFLAGS $PIC_CFLAGS $MPI_CFLAGS"
98+
9999CCFLAGS_NO_C="$CCFLAGS $CPPFLAGS"
100100
101101LDCCFLAGS="$LDFLAGS $CCFLAGS"
@@ -104,6 +104,10 @@ AC_SUBST(SILENT_RULE)
104104AC_SUBST ( CC )
105105AC_SUBST ( CCFLAGS_NO_C )
106106AC_SUBST ( LDCCFLAGS )
107+ AC_SUBST ( DEBUG_CFLAGS )
108+ AC_SUBST ( MPI_CFLAGS )
109+ AC_SUBST ( OPENMP_CFLAGS )
110+ AC_SUBST ( PIC_CFLAGS )
107111AC_SUBST ( ARCREATE )
108112
109113AC_OUTPUT (config/config.auto)
You can’t perform that action at this time.
0 commit comments