1 |
# $Id$ |
2 |
|
3 |
# Implicit targets |
4 |
# Define rules for generating/compiling each type of target file |
5 |
|
6 |
# set flags |
7 |
CC_INC_DIR_FLAGS := ${patsubst %, ${CC_INC_DIR_FLAG}%, ${L_SRC_DIR} ${L_INC_DIR} ${PKG_CC_INC_DIRS} ${L_EXT_INC_DIRS} ${CC_SYS_INC_DIRS}} |
8 |
CPP_INC_DIR_FLAGS := ${patsubst %, ${CPP_INC_DIR_FLAG}%, ${L_SRC_DIR} ${L_INC_DIR} ${PKG_CPP_INC_DIRS} ${L_EXT_INC_DIRS} ${CPP_SYS_INC_DIRS}} |
9 |
CC_DEF_FLAGS := ${patsubst %, ${CC_DEF_FLAG}%, ${L_DEFS} ${PKG_CC_DEFS}} |
10 |
CPP_DEF_FLAGS := ${patsubst %, ${CPP_DEF_FLAG}%, ${L_DEFS} ${PKG_CPP_DEFS}} |
11 |
LD_LIB_DIR_FLAGS := ${patsubst %, ${LD_LIB_DIR_FLAG}%, ${L_EXT_LIB_DIRS} ${PKG_LD_LIB_DIRS} ${LD_SYS_LIB_DIRS}} |
12 |
LD_LIB_FLAGS := ${patsubst %, ${LD_LIB_FLAG}%, ${L_EXT_LIBS} ${PKG_LD_LIBS} ${LD_SYS_LIBS}} |
13 |
|
14 |
CC_FLAGS := ${CC_OPT_FLAGS} ${CC_ARCH_FLAGS} ${CC_CONFORM_FLAGS} ${CC_OBJ_FLAGS} ${CC_DIAG_FLAGS} ${CC_DEF_FLAGS} ${CC_INC_DIR_FLAGS} |
15 |
CPP_FLAGS := ${CPP_OPT_FLAGS} ${CPP_ARCH_FLAGS} ${CPP_CONFORM_FLAGS} ${CPP_OBJ_FLAGS} ${CPP_DIAG_FLAGS} ${CPP_DEF_FLAGS} ${CPP_INC_DIR_FLAGS} |
16 |
SWIG_FLAGS := ${SWIG_LANG_FLAG} ${SWIG_DOC_FLAG} ${SWIG_OPT_FLAGS} ${SWIG_INC_DIR_FLAGS} |
17 |
PYTHON_FLAGS := ${PYTHON_OPT_FLAGS} ${PYTHON_DIAG_FLAGS} |
18 |
AR_FLAGS := ${AR_OPTION_FLAGS} |
19 |
LD_FLAGS := ${LD_DIAG_FLAGS} ${LD_LIB_DIR_FLAGS} ${LD_LIB_FLAGS} |
20 |
|
21 |
# .o to .a |
22 |
%.a: ${CC_OBJ} ${CPP_OBJ} ${SWIG_OBJ} force |
23 |
@echo ---------------------------------------------------------------------------- |
24 |
${AR} ${AR_FLAGS} ${L_LIB_DIR}/$@ ${addprefix ${L_OBJ_DIR}/, ${sort ${CC_OBJ} ${CPP_OBJ} ${SWIG_OBJ}}} ${L_EXT_OBJS} |
25 |
@echo Generated \"$@: ${sort ${CC_OBJ} ${CPP_OBJ} ${SWIG_OBJ}}\". |
26 |
|
27 |
# .lo to .so |
28 |
%.so: ${CC_SHOBJ} ${CPP_SHOBJ} ${SWIG_SHOBJ} force |
29 |
@echo ---------------------------------------------------------------------------- |
30 |
${LD} ${LD_SHARE_FLAG} ${addprefix ${L_OBJ_DIR}/, ${sort ${CC_SHOBJ} ${CPP_SHOBJ} ${SWIG_SHOBJ}}} ${L_EXT_OBJS} ${LD_LIB_DIR_FLAGS} ${LD_LIB_FLAGS} ${LD_OUTPUT_FLAG} ${L_LIB_DIR}/$@ |
31 |
@echo Generated \"$@: ${sort ${CC_SHOBJ} ${CPP_SHOBJ} ${SWIG_SHOBJ}}\". |
32 |
|
33 |
# .i to .cpp |
34 |
%.cpp: %.i |
35 |
@echo ---------------------------------------------------------------------------- |
36 |
${strip ${SWIG} ${SWIG_FLAGS} ${SWIG_OUTPUT_FLAG} "${L_SRC_DIR}/${@}" $<} |
37 |
@echo Generated \"$@: $<\". |
38 |
|
39 |
# .c to .o |
40 |
%.o: %.c |
41 |
@echo ---------------------------------------------------------------------------- |
42 |
@if test ! -e "${L_OBJ_DIR}/${@D}"; \ |
43 |
then \ |
44 |
mkdir -p "${L_OBJ_DIR}/${@D}"; \ |
45 |
fi |
46 |
${strip ${CC} ${CC_FLAGS} $< ${CC_OUTPUT_FLAG} ${L_OBJ_DIR}/${@}} |
47 |
@echo Compiled \"$@: $<\". |
48 |
|
49 |
# .c to .lo |
50 |
%.lo: %.c |
51 |
@echo ---------------------------------------------------------------------------- |
52 |
@if test ! -e "${L_OBJ_DIR}/${@D}"; \ |
53 |
then \ |
54 |
mkdir -p "${L_OBJ_DIR}/${@D}"; \ |
55 |
fi |
56 |
${strip ${CC} ${CC_FLAGS} ${CC_SHARE_FLAGS} $< ${CC_OUTPUT_FLAG} ${L_OBJ_DIR}/${@}} |
57 |
@echo Compiled \"$@: $<\". |
58 |
|
59 |
# .cpp to .o |
60 |
%.o: %.cpp |
61 |
@echo ---------------------------------------------------------------------------- |
62 |
@if test ! -e "${L_OBJ_DIR}/${@D}"; \ |
63 |
then \ |
64 |
mkdir -p "${L_OBJ_DIR}/${@D}"; \ |
65 |
fi |
66 |
${strip ${CPP} ${CPP_FLAGS} $< ${CPP_OUTPUT_FLAG} ${L_OBJ_DIR}/${@}} |
67 |
@echo Compiled \"$@: $<\". |
68 |
|
69 |
# .cpp to .lo |
70 |
%.lo: %.cpp |
71 |
@echo ---------------------------------------------------------------------------- |
72 |
@if test ! -e "${L_OBJ_DIR}/${@D}"; \ |
73 |
then \ |
74 |
mkdir -p "${L_OBJ_DIR}/${@D}"; \ |
75 |
fi |
76 |
${strip ${CPP} ${CPP_FLAGS} ${CPP_SHARE_FLAGS} $< ${CPP_OUTPUT_FLAG} ${L_OBJ_DIR}/${@}} |
77 |
@echo Compiled \"$@: $<\". |
78 |
|
79 |
# .o to .exe |
80 |
%.exe: ${CC_OBJ} ${CPP_OBJ} ${SWIG_OBJ} force |
81 |
@echo ---------------------------------------------------------------------------- |
82 |
${CPP} -o $@ ${addprefix ${L_OBJ_DIR}/, ${CC_OBJ} ${CPP_OBJ} ${SWIG_OBJ}} ${L_EXT_OBJS} ${LD_LIB_DIR_FLAGS} ${LD_LIB_FLAGS} |
83 |
@echo Linked \"$@: $<\". |
84 |
|
85 |
# .py to .pyc |
86 |
%.pyc: %.py |
87 |
@echo ---------------------------------------------------------------------------- |
88 |
${PYTHON} ${PYTHON_FLAGS} ${PYTHON_CMD_FLAG} ${PYTHON_COMPILE_CMD} |
89 |
@echo Compiled \"$@: $<\". |
90 |
|
91 |
# $Log$ |
92 |
# Revision 1.3 2005/09/15 03:44:32 jgs |
93 |
# Merge of development branch dev-02 back to main trunk on 2005-09-15 |
94 |
# |
95 |
# Revision 1.2.2.2 2005/09/08 03:10:17 jgs |
96 |
# minor, but interesting, typo was causing CPP_FLAGS to be undefined |
97 |
# |
98 |
# Revision 1.2.2.1 2005/09/07 06:26:23 gross |
99 |
# the solver from finley are put into the standalone package paso now |
100 |
# |
101 |
# Revision 1.2 2005/06/09 05:38:02 jgs |
102 |
# Merge of development branch back to main trunk on 2005-06-09 |
103 |
# |
104 |
# Revision 1.1.1.1.2.1 2005/05/17 01:31:15 jgs |
105 |
# set L_INSTLIB_DIR and L_PYTH_DIR defaults relative to ESYS_ROOT |
106 |
# |
107 |
# Revision 1.1.1.1 2004/10/26 06:53:58 jgs |
108 |
# initial import of project esys2 |
109 |
# |
110 |
# Revision 1.2 2004/09/23 01:48:45 jgs |
111 |
# make: augmented Makefiles with comments throughout |
112 |
# |
113 |
# Makefile.default - changed order of includes for clarity |
114 |
# Makfile.phony - reordered phony targets |
115 |
# - added target "all" - now first target to be encountered |
116 |
# |
117 |
# Revision 1.1.1.1 2004/06/24 04:00:39 johng |
118 |
# Initial version of eys using boost-python. |
119 |
# |
120 |
# Revision 1.5 2003/09/30 02:55:06 davies |
121 |
# Added local makefile macro settings to replace hardcoded header files. |
122 |
# |
123 |
# Revision 1.4 2003/09/11 02:03:52 davies |
124 |
# Added makefile configurations for several platforms. |
125 |
# |
126 |
# Revision 1.3 2003/08/29 04:25:06 davies |
127 |
# Implement new feature for arbitrary external object linkage to provide a |
128 |
# mechanism for direct shared object access. |
129 |
# |
130 |
# Revision 1.2 2003/08/25 02:14:10 davies |
131 |
# Force builds of linked objects. |
132 |
# |
133 |
# Revision 1.1.1.1 2003/08/21 00:58:20 davies |
134 |
# Imported sources from Lutz Gross. |
135 |
# |