1
2
3
4
5
6
7
8
9
10
11
12
13
|
########################################################################################################
#
# Makefile to build Tcl on Mac OS X packaged as a Framework
# uses standard unix build system in tcl/unix
#
# RCS: @(#) $Id: Makefile,v 1.5.4.6 2004/05/04 17:44:19 dgp Exp $
#
########################################################################################################
#-------------------------------------------------------------------------------------------------------
# customizable settings
DESTDIR ?=
|
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
########################################################################################################
#
# Makefile to build Tcl on Mac OS X packaged as a Framework
# uses standard unix build system in tcl/unix
#
# RCS: @(#) $Id: Makefile,v 1.5.4.7 2004/09/08 23:03:16 dgp Exp $
#
########################################################################################################
#-------------------------------------------------------------------------------------------------------
# customizable settings
DESTDIR ?=
|
| ︙ | | | ︙ | |
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# set to non-empty value to install manpages in addition to html help:
INSTALL_MANPAGES ?=
TCL_PACKAGE_PATH ?= "~/Library/Tcl /Library/Tcl /Network/Library/Tcl /System/Library/Tcl \
~/Library/Frameworks /Library/Frameworks /Network/Library/Frameworks \
/System/Library/Frameworks"
#-------------------------------------------------------------------------------------------------------
# meta targets
meta := all install embedded install-embedded clean distclean test
styles := develop deploy
|
>
|
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# set to non-empty value to install manpages in addition to html help:
INSTALL_MANPAGES ?=
TCL_PACKAGE_PATH ?= "~/Library/Tcl /Library/Tcl /Network/Library/Tcl /System/Library/Tcl \
~/Library/Frameworks /Library/Frameworks /Network/Library/Frameworks \
/System/Library/Frameworks"
TCL_MODULE_PATH ?= "~/Library/Tcl /Library/Tcl /Network/Library/Tcl /System/Library/Tcl"
#-------------------------------------------------------------------------------------------------------
# meta targets
meta := all install embedded install-embedded clean distclean test
styles := develop deploy
|
| ︙ | | | ︙ | |
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
PRODUCT_VERSION := $(shell eval $$(grep '^TCL_VERSION=' ${UNIX_DIR}/configure.in); \
echo "$${TCL_VERSION}")
PRODUCT_LONGVERSION := $(shell eval $$(grep '^TCL_PATCH_LEVEL=' ${UNIX_DIR}/configure.in); \
echo "${PRODUCT_VERSION}$${TCL_PATCH_LEVEL}")
YEAR := $(shell date +%Y)
PRIVATE_HEADERS := tclInt.h tclIntDecls.h tclIntPlatDecls.h tclPort.h ../unix/tclUnixPort.h
TARGETS := tclsh tcltest
TCLSH := tclsh${PRODUCT_VERSION}
TCL_EXE ?= ${SYMROOT}/${TCLSH}
DYLIB_INSTALL_PATH ?= ${INSTALL_PATH}
TCL_LIBRARY := @TCL_IN_FRAMEWORK@
LIBDIR := ${INSTALL_PATH}/${PRODUCT_NAME}.framework/Versions/${PRODUCT_VERSION}
DYLIB_INSTALL_DIR := ${DYLIB_INSTALL_PATH}/${PRODUCT_NAME}.framework/Versions/${PRODUCT_VERSION}
INCLUDEDIR := ${LIBDIR}/Headers
PRIVATEINCLUDEDIR := ${LIBDIR}/PrivateHeaders
SCRIPTDIR := ${LIBDIR}/Resources/Scripts
DOCDIR := ${LIBDIR}/Resources/English.lproj/Documentation/Reference
INFOPLIST := ${LIBDIR}/Resources/Info.plist
BUILD_STYLE =
OBJ_DIR = ${OBJROOT}/${BUILD_STYLE}
${PROJECT}: override INSTALL_ROOT = ${OBJ_DIR}/
MAKE_VARS := INSTALL_ROOT TCL_PACKAGE_PATH TCL_LIBRARY DYLIB_INSTALL_DIR
MAKE_ARGS_V = $(foreach v,${MAKE_VARS},$v=${$v})
export CPPROG := cp -p
#-------------------------------------------------------------------------------------------------------
# build rules
${PROJECT}: install-${PROJECT}
|
<
|
|
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
PRODUCT_VERSION := $(shell eval $$(grep '^TCL_VERSION=' ${UNIX_DIR}/configure.in); \
echo "$${TCL_VERSION}")
PRODUCT_LONGVERSION := $(shell eval $$(grep '^TCL_PATCH_LEVEL=' ${UNIX_DIR}/configure.in); \
echo "${PRODUCT_VERSION}$${TCL_PATCH_LEVEL}")
YEAR := $(shell date +%Y)
TARGETS := tclsh tcltest
TCLSH := tclsh${PRODUCT_VERSION}
TCL_EXE ?= ${SYMROOT}/${TCLSH}
DYLIB_INSTALL_PATH ?= ${INSTALL_PATH}
TCL_LIBRARY := @TCL_IN_FRAMEWORK@
LIBDIR := ${INSTALL_PATH}/${PRODUCT_NAME}.framework/Versions/${PRODUCT_VERSION}
DYLIB_INSTALL_DIR := ${DYLIB_INSTALL_PATH}/${PRODUCT_NAME}.framework/Versions/${PRODUCT_VERSION}
INCLUDEDIR := ${LIBDIR}/Headers
PRIVATEINCLUDEDIR := ${LIBDIR}/PrivateHeaders
SCRIPTDIR := ${LIBDIR}/Resources/Scripts
DOCDIR := ${LIBDIR}/Resources/English.lproj/Documentation/Reference
INFOPLIST := ${LIBDIR}/Resources/Info.plist
BUILD_STYLE =
OBJ_DIR = ${OBJROOT}/${BUILD_STYLE}
${PROJECT}: override INSTALL_ROOT = ${OBJ_DIR}/
MAKE_VARS := INSTALL_ROOT TCL_PACKAGE_PATH TCL_MODULE_PATH TCL_LIBRARY DYLIB_INSTALL_DIR
MAKE_ARGS_V = $(foreach v,${MAKE_VARS},$v=${$v})
export CPPROG := cp -p
#-------------------------------------------------------------------------------------------------------
# build rules
${PROJECT}: install-${PROJECT}
|
| ︙ | | | ︙ | |
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
rm -rf ${OBJ_DIR} ${PRODUCT_NAME}.framework tclsh${PRODUCT_VERSION} tcltest
test-${PROJECT}: build-${PROJECT}
${MAKE} -C ${OBJ_DIR} test ${EXTRA_MAKE_ARGS}
install-${PROJECT}: build-${PROJECT}
# install to ${INSTALL_ROOT} with optional stripping
${MAKE} -C ${OBJ_DIR} install-binaries install-libraries \
SCRIPT_INSTALL_DIR=${INSTALL_ROOT}${SCRIPTDIR} ${MAKE_ARGS_V} ${MAKE_ARGS} ${EXTRA_MAKE_ARGS}
mkdir -p ${INSTALL_ROOT}${PRIVATEINCLUDEDIR} && \
cd ${GENERIC_DIR} && ${CPPROG} ${PRIVATE_HEADERS} ${INSTALL_ROOT}${PRIVATEINCLUDEDIR}
ifeq (${BUILD_STYLE},Development)
# keep copy of debug library around, so that
# Deployment build can be installed on top
# of Development build without overwriting
# the debug library
cd ${INSTALL_ROOT}${LIBDIR} && ln -f "${PRODUCT_NAME}" "${PRODUCT_NAME}_debug"
endif
|
|
|
|
|
|
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
rm -rf ${OBJ_DIR} ${PRODUCT_NAME}.framework tclsh${PRODUCT_VERSION} tcltest
test-${PROJECT}: build-${PROJECT}
${MAKE} -C ${OBJ_DIR} test ${EXTRA_MAKE_ARGS}
install-${PROJECT}: build-${PROJECT}
# install to ${INSTALL_ROOT} with optional stripping
${MAKE} -C ${OBJ_DIR} install-binaries install-libraries install-private-headers \
SCRIPT_INSTALL_DIR=${INSTALL_ROOT}${SCRIPTDIR} \
PRIVATE_INCLUDE_INSTALL_DIR=${INSTALL_ROOT}${PRIVATEINCLUDEDIR} \
${MAKE_ARGS_V} ${MAKE_ARGS} ${EXTRA_MAKE_ARGS}
ifeq (${BUILD_STYLE},Development)
# keep copy of debug library around, so that
# Deployment build can be installed on top
# of Development build without overwriting
# the debug library
cd ${INSTALL_ROOT}${LIBDIR} && ln -f "${PRODUCT_NAME}" "${PRODUCT_NAME}_debug"
endif
|
| ︙ | | | ︙ | |