-
Notifications
You must be signed in to change notification settings - Fork 24
Expand file tree
/
Copy pathMakefile
More file actions
60 lines (50 loc) · 2.17 KB
/
Makefile
File metadata and controls
60 lines (50 loc) · 2.17 KB
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
# ========================
# Makefile for PAROPT_DIR/
# ========================
include Makefile.in
include ParOpt_Common.mk
PAROPT_SUBDIRS = src
SEARCH_PATTERN=$(addsuffix /*.cpp, ${PAROPT_SUBDIRS})
PAROPT_OBJS := $(patsubst %.cpp,%.o,$(wildcard ${SEARCH_PATTERN}))
default:
@for subdir in ${PAROPT_SUBDIRS}; do \
echo; (cd $$subdir && ${MAKE}) || exit 1; \
done
${CXX} ${SO_LINK_FLAGS} ${PAROPT_OBJS} ${PAROPT_EXTERN_LIBS} -o ${PAROPT_DIR}/lib/libparopt.${SO_EXT}
@echo "ctypedef double ParOptScalar" > paropt/cpp_headers/ParOptTypedefs.pxi;
@echo "PAROPT_NPY_SCALAR = np.NPY_DOUBLE" > paropt/ParOptDefs.pxi;
@echo "dtype = np.double" >> paropt/ParOptDefs.pxi;
debug:
@for subdir in ${PAROPT_SUBDIRS}; do \
echo; (cd $$subdir && ${MAKE} debug) || exit 1; \
done
${CXX} ${SO_LINK_FLAGS} ${PAROPT_OBJS} ${PAROPT_EXTERN_LIBS} -o ${PAROPT_DIR}/lib/libparopt.${SO_EXT}
@echo "ctypedef double ParOptScalar" > paropt/cpp_headers/ParOptTypedefs.pxi;
@echo "PAROPT_NPY_SCALAR = np.NPY_DOUBLE" > paropt/ParOptDefs.pxi;
@echo "dtype = np.double" >> paropt/ParOptDefs.pxi;
complex:
@for subdir in ${PAROPT_SUBDIRS}; do \
echo; (cd $$subdir && ${MAKE} complex) || exit 1; \
done
${CXX} ${SO_LINK_FLAGS} ${PAROPT_OBJS} ${PAROPT_EXTERN_LIBS} -o ${PAROPT_DIR}/lib/libparopt.${SO_EXT}
@echo "ctypedef complex ParOptScalar" > paropt/cpp_headers/ParOptTypedefs.pxi;
@echo "PAROPT_NPY_SCALAR = np.NPY_CDOUBLE" > paropt/ParOptDefs.pxi;
@echo "dtype = complex" >> paropt/ParOptDefs.pxi;
complex_debug:
@for subdir in ${PAROPT_SUBDIRS}; do \
echo; (cd $$subdir && ${MAKE} complex_debug) || exit 1; \
done
${CXX} ${SO_LINK_FLAGS} ${PAROPT_OBJS} ${PAROPT_EXTERN_LIBS} -o ${PAROPT_DIR}/lib/libparopt.${SO_EXT}
@echo "ctypedef complex ParOptScalar" > paropt/cpp_headers/ParOptTypedefs.pxi;
@echo "PAROPT_NPY_SCALAR = np.NPY_CDOUBLE" > paropt/ParOptDefs.pxi;
@echo "dtype = complex" >> paropt/ParOptDefs.pxi;
interface:
${PIP} install -e .\[all\]; \
complex_interface:
CXXFLAGS=-DPAROPT_USE_COMPLEX ${PIP} install -e .\[all\]; \
clean:
${RM} lib/libparopt.a lib/*.so
${RM} paropt/*.so paropt/*.cpp
@for subdir in ${PAROPT_SUBDIRS}; do \
echo; (cd $$subdir && ${MAKE} $@ ) || exit 1; \
done