1 |
# $Id$ |
2 |
|
3 |
# Locate all source code files and define related Makefile variables |
4 |
|
5 |
# C Source |
6 |
# Find all .c files in source directory, and define matching .o and .lo files |
7 |
CC_SRC := ${patsubst ${L_SRC_DIR}/%, %, ${shell find ${L_SRC_DIR} -name \*.c | grep -v '-'}} |
8 |
CC_OBJ := ${patsubst %.c, %.o, ${CC_SRC}} |
9 |
CC_SHOBJ := ${patsubst %.c, %.lo, ${CC_SRC}} |
10 |
|
11 |
# C++ Source |
12 |
# Find all .cpp files in source directory, and define matching .o and .lo files |
13 |
CPP_SRC := ${patsubst ${L_SRC_DIR}/%, %, ${shell find ${L_SRC_DIR} -name \*.cpp | grep -v '-'}} |
14 |
CPP_OBJ := ${patsubst %.cpp, %.o, ${CPP_SRC}} |
15 |
CPP_SHOBJ := ${patsubst %.cpp, %.lo, ${CPP_SRC}} |
16 |
|
17 |
# Swig Source |
18 |
# Find all .i files in source directory, and define matching .cpp, .py, .o and .lo files |
19 |
SWIG_SRC := ${patsubst ${L_SRC_DIR}/%, %, ${shell find ${L_SRC_DIR} -name \*.i | grep -v '-'}} |
20 |
SWIG_CPP_SRC := ${patsubst %.i, %.cpp, ${SWIG_SRC}} |
21 |
SWIG_PY_SRC := ${patsubst %.i, %.py, ${SWIG_SRC}} |
22 |
SWIG_OBJ := ${patsubst %.i, %.o, ${SWIG_SRC}} |
23 |
SWIG_SHOBJ := ${patsubst %.i, %.lo, ${SWIG_SRC}} |
24 |
|
25 |
# Python Source |
26 |
# Find all .py files in source directory, and define matching .pyc files |
27 |
PYTHON_SRC_SRC := ${shell find ${L_SRC_DIR} -name \*.py | grep -v '-'} |
28 |
PYTHON_SRC := ${patsubst ${L_SRC_DIR}/%, %, ${PYTHON_SRC_SRC}} |
29 |
PYTHON_BYTE := ${patsubst %.py, %.pyc, ${PYTHON_SRC_SRC}} |
30 |
|
31 |
# Search Paths |
32 |
# define locations to search for each file type |
33 |
vpath %.c ${L_SRC_DIR} |
34 |
vpath %.cpp ${L_SRC_DIR} |
35 |
vpath %.i ${L_SRC_DIR} |
36 |
vpath %.py ${L_SRC_DIR} |
37 |
vpath %.o ${L_OBJ_DIR} |
38 |
vpath %.lo ${L_OBJ_DIR} |
39 |
vpath %.a ${L_LIB_DIR} |
40 |
vpath %.so ${L_LIB_DIR} |
41 |
vpath %.pyc ${L_LIB_DIR} |
42 |
|
43 |
# $Log$ |
44 |
# Revision 1.3 2005/08/12 01:45:45 jgs |
45 |
# erge of development branch dev-02 back to main trunk on 2005-08-12 |
46 |
# |
47 |
# Revision 1.2.2.1 2005/08/01 10:23:56 gross |
48 |
# Bug in installation of python only components such as modellib fixed: |
49 |
# |
50 |
# C/C++ in ./src is directly compiled into ./lib but python code in ./py_src into ./lib/py_src. |
51 |
# therefore for C/C++ code the leading directory ./src in names is removed for the output. The same is |
52 |
# tried for python code however the substitution is not done correctly when leads to the effect that components that |
53 |
# are compiled from one directory only the leading subdirectory is removed but for components build from more than one |
54 |
# directory only the first subdirectory (typically ./src) is removed but subsequent directories are not removed. |
55 |
# Therefore escript is run but not modellib (at least the compiled code apeared in ./lib rather than ./lib/py_src). |
56 |
# The fix works around this problem for python compilations. |
57 |
# |
58 |
# Revision 1.2 2005/06/09 05:38:03 jgs |
59 |
# Merge of development branch back to main trunk on 2005-06-09 |
60 |
# |
61 |
# Revision 1.1.1.1.2.1 2005/05/17 01:31:15 jgs |
62 |
# set L_INSTLIB_DIR and L_PYTH_DIR defaults relative to ESYS_ROOT |
63 |
# |
64 |
# Revision 1.1.1.1 2004/10/26 06:53:58 jgs |
65 |
# initial import of project esys2 |
66 |
# |
67 |
# Revision 1.2 2004/09/23 01:48:46 jgs |
68 |
# make: augmented Makefiles with comments throughout |
69 |
# |
70 |
# Makefile.default - changed order of includes for clarity |
71 |
# Makfile.phony - reordered phony targets |
72 |
# - added target "all" - now first target to be encountered |
73 |
# |
74 |
# Revision 1.1.1.1 2004/06/24 04:00:39 johng |
75 |
# Initial version of eys using boost-python. |
76 |
# |
77 |
# Revision 1.1.1.1 2003/08/21 00:58:20 davies |
78 |
# Imported sources from Lutz Gross. |
79 |
# |