os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/macosx/Makefile
changeset 0 bde4ae8d615e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/macosx/Makefile	Fri Jun 15 03:10:57 2012 +0200
     1.3 @@ -0,0 +1,207 @@
     1.4 +########################################################################################################
     1.5 +#
     1.6 +# Makefile wrapper to build tcl on Mac OS X in a way compatible with the tk/macosx Xcode buildsystem
     1.7 +#	uses the standard unix build system in tcl/unix (which can be used directly instead of this
     1.8 +#	if you are not using the tk/macosx projects).
     1.9 +#
    1.10 +# Copyright (c) 2002-2007 Daniel A. Steffen <das@users.sourceforge.net>
    1.11 +#
    1.12 +# See the file "license.terms" for information on usage and redistribution of
    1.13 +# this file, and for a DISCLAIMER OF ALL WARRANTIES.
    1.14 +#
    1.15 +# RCS: @(#) $Id: Makefile,v 1.5.2.17 2007/04/29 02:21:33 das Exp $
    1.16 +#
    1.17 +########################################################################################################
    1.18 +
    1.19 +#-------------------------------------------------------------------------------------------------------
    1.20 +# customizable settings
    1.21 +
    1.22 +DESTDIR			?=
    1.23 +INSTALL_ROOT		?= ${DESTDIR}
    1.24 +
    1.25 +BUILD_DIR		?= ${CURDIR}/../../build
    1.26 +SYMROOT			?= ${BUILD_DIR}/${PROJECT}
    1.27 +OBJROOT			?= ${SYMROOT}
    1.28 +
    1.29 +EXTRA_CONFIGURE_ARGS	?=
    1.30 +EXTRA_MAKE_ARGS		?=
    1.31 +
    1.32 +INSTALL_PATH		?= /Library/Frameworks
    1.33 +PREFIX			?= /usr/local
    1.34 +BINDIR			?= ${PREFIX}/bin
    1.35 +LIBDIR			?= ${INSTALL_PATH}
    1.36 +MANDIR			?= ${PREFIX}/man
    1.37 +
    1.38 +# set to non-empty value to install manpages in addition to html help:
    1.39 +INSTALL_MANPAGES	?=
    1.40 +
    1.41 +#-------------------------------------------------------------------------------------------------------
    1.42 +# meta targets
    1.43 +
    1.44 +meta			:= all install embedded install-embedded clean distclean test
    1.45 +
    1.46 +styles			:= develop deploy
    1.47 +
    1.48 +all			:= ${styles}
    1.49 +all			: ${all}
    1.50 +
    1.51 +install			:= ${styles:%=install-%}
    1.52 +install			: ${install}
    1.53 +install-%:		action := install-
    1.54 +
    1.55 +embedded		:= ${styles:%=embedded-%}
    1.56 +embedded		: embedded-deploy
    1.57 +install-embedded	:= ${embedded:%=install-%}
    1.58 +install-embedded	: install-embedded-deploy
    1.59 +
    1.60 +clean			:= ${styles:%=clean-%}
    1.61 +clean			: ${clean}
    1.62 +clean-%:		action := clean-
    1.63 +distclean		:= ${styles:%=distclean-%}
    1.64 +distclean		: ${distclean}
    1.65 +distclean-%:		action := distclean-
    1.66 +
    1.67 +test			:= ${styles:%=test-%}
    1.68 +test			: ${test}
    1.69 +test-%:			action := test-
    1.70 +
    1.71 +targets			:= $(foreach v,${meta},${$v})
    1.72 +
    1.73 +#-------------------------------------------------------------------------------------------------------
    1.74 +# build styles
    1.75 +
    1.76 +BUILD_STYLE		=
    1.77 +CONFIGURE_ARGS		=
    1.78 +OBJ_DIR			= ${OBJROOT}/${BUILD_STYLE}
    1.79 +
    1.80 +develop_make_args	:= BUILD_STYLE=Development CONFIGURE_ARGS=--enable-symbols
    1.81 +deploy_make_args	:= BUILD_STYLE=Deployment INSTALL_TARGET=install-strip \
    1.82 +			   GENERIC_FLAGS=-DNDEBUG
    1.83 +embedded_make_args	:= EMBEDDED_BUILD=1
    1.84 +install_make_args	:= INSTALL_BUILD=1
    1.85 +
    1.86 +${targets}:
    1.87 +	${MAKE} ${action}${PROJECT} \
    1.88 +	$(foreach s,${styles} embedded install,$(if $(findstring $s,$@),${${s}_make_args}))
    1.89 +
    1.90 +#-------------------------------------------------------------------------------------------------------
    1.91 +# project specific settings
    1.92 +
    1.93 +PROJECT			:= tcl
    1.94 +PRODUCT_NAME		:= Tcl
    1.95 +
    1.96 +UNIX_DIR		:= ${CURDIR}/../unix
    1.97 +VERSION			:= $(shell awk -F= '/^TCL_VERSION/ {print $$2; nextfile}' ${UNIX_DIR}/configure.in)
    1.98 +TCLSH			:= tclsh${VERSION}
    1.99 +
   1.100 +BUILD_TARGET		:= all tcltest
   1.101 +INSTALL_TARGET		:= install
   1.102 +
   1.103 +export CPPROG		:= cp -p
   1.104 +
   1.105 +INSTALL_TARGETS		= install-binaries install-libraries
   1.106 +ifeq (${EMBEDDED_BUILD},)
   1.107 +INSTALL_TARGETS		+= install-private-headers
   1.108 +endif
   1.109 +ifeq (${INSTALL_BUILD}_${EMBEDDED_BUILD}_${BUILD_STYLE},1__Deployment)
   1.110 +INSTALL_TARGETS		+= html-tcl
   1.111 +ifneq (${INSTALL_MANPAGES},)
   1.112 +INSTALL_TARGETS		+= install-doc
   1.113 +endif
   1.114 +endif
   1.115 +
   1.116 +MAKE_VARS		:= INSTALL_ROOT INSTALL_TARGETS VERSION GENERIC_FLAGS
   1.117 +MAKE_ARGS_V		= $(foreach v,${MAKE_VARS},$v='${$v}')
   1.118 +
   1.119 +build-${PROJECT}:	target = ${BUILD_TARGET}
   1.120 +install-${PROJECT}:	target = ${INSTALL_TARGET}
   1.121 +clean-${PROJECT} distclean-${PROJECT} test-${PROJECT}: \
   1.122 +			target = $*
   1.123 +
   1.124 +DO_MAKE			= +${MAKE} -C ${OBJ_DIR} ${target} ${MAKE_ARGS_V} ${MAKE_ARGS} ${EXTRA_MAKE_ARGS}
   1.125 +
   1.126 +#-------------------------------------------------------------------------------------------------------
   1.127 +# build rules
   1.128 +
   1.129 +${PROJECT}:
   1.130 +	${MAKE} install-${PROJECT} INSTALL_ROOT=${OBJ_DIR}/
   1.131 +
   1.132 +${OBJ_DIR}/Makefile: ${UNIX_DIR}/Makefile.in ${UNIX_DIR}/configure \
   1.133 +		     ${UNIX_DIR}/tclConfig.sh.in Tcl-Info.plist.in
   1.134 +	mkdir -p ${OBJ_DIR} && cd ${OBJ_DIR} && \
   1.135 +	if [ ${UNIX_DIR}/configure -nt config.status ]; then ${UNIX_DIR}/configure \
   1.136 +	--prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} \
   1.137 +	--mandir=${MANDIR} --enable-threads --enable-framework \
   1.138 +	${CONFIGURE_ARGS} ${EXTRA_CONFIGURE_ARGS}; else ./config.status; fi
   1.139 +
   1.140 +build-${PROJECT}: ${OBJ_DIR}/Makefile
   1.141 +	${DO_MAKE}
   1.142 +ifeq (${INSTALL_BUILD},)
   1.143 +# symolic link hackery to trick
   1.144 +# 'make install INSTALL_ROOT=${OBJ_DIR}'
   1.145 +# into building Tcl.framework and tclsh in ${SYMROOT}
   1.146 +	@cd ${OBJ_DIR} && mkdir -p $(dir ./${LIBDIR}) $(dir ./${BINDIR}) ${SYMROOT} && \
   1.147 +	rm -f ./${LIBDIR} ./${BINDIR} && ln -fs ${SYMROOT} ./${LIBDIR} && \
   1.148 +	ln -fs ${SYMROOT} ./${BINDIR} && ln -fs ${OBJ_DIR}/tcltest ${SYMROOT}
   1.149 +endif
   1.150 +
   1.151 +install-${PROJECT}: build-${PROJECT}
   1.152 +ifeq (${EMBEDDED_BUILD}_${INSTALL_ROOT},1_)
   1.153 +	@echo "Cannot install-embedded with empty INSTALL_ROOT !" && false
   1.154 +endif
   1.155 +ifeq (${EMBEDDED_BUILD},1)
   1.156 +	@rm -rf "${INSTALL_ROOT}/${LIBDIR}/Tcl.framework"
   1.157 +endif
   1.158 +	${DO_MAKE}
   1.159 +ifeq (${INSTALL_BUILD},1)
   1.160 +ifeq (${EMBEDDED_BUILD},1)
   1.161 +# if we are embedding frameworks, don't install tclsh
   1.162 +	@rm -f "${INSTALL_ROOT}${BINDIR}/${TCLSH}" && \
   1.163 +	rmdir -p "${INSTALL_ROOT}${BINDIR}" 2>&- || true
   1.164 +else
   1.165 +# redo prebinding (when not building for Mac OS X 10.4 or later only)
   1.166 +	@if [ "`echo "$${MACOSX_DEPLOYMENT_TARGET}" | \
   1.167 +	awk -F '10\\.' '{print int($$2)}'`" -lt 4 -a "`echo "$${CFLAGS}" | \
   1.168 +	awk -F '-mmacosx-version-min=10\\.' '{print int($$2)}'`" -lt 4 ]; \
   1.169 +	then cd ${INSTALL_ROOT}/; \
   1.170 +	if [ ! -d usr/lib ]; then mkdir -p usr && ln -fs /usr/lib usr/ && RM_USRLIB=1; fi; \
   1.171 +	if [ ! -d System ]; then ln -fs /System . && RM_SYSTEM=1; fi; \
   1.172 +	redo_prebinding -r . "./${LIBDIR}/${PRODUCT_NAME}.framework/Versions/${VERSION}/${PRODUCT_NAME}"; \
   1.173 +	redo_prebinding -r . "./${BINDIR}/${TCLSH}"; \
   1.174 +	if [ -n "$${RM_USRLIB:-}" ]; then rm -f usr/lib; rmdir -p usr 2>&-; fi; \
   1.175 +	if [ -n "$${RM_SYSTEM:-}" ]; then rm -f System; fi; fi
   1.176 +# install tclsh symbolic link
   1.177 +	@ln -fs ${TCLSH} ${INSTALL_ROOT}${BINDIR}/tclsh
   1.178 +endif
   1.179 +endif
   1.180 +ifeq (${BUILD_STYLE}_${EMBEDDED_BUILD},Development_)
   1.181 +# keep copy of debug library around, so that
   1.182 +# Deployment build can be installed on top
   1.183 +# of Development build without overwriting
   1.184 +# the debug library
   1.185 +	@cd ${INSTALL_ROOT}${LIBDIR}/${PRODUCT_NAME}.framework/Versions/${VERSION} && \
   1.186 +	ln -f "${PRODUCT_NAME}" "${PRODUCT_NAME}_debug"
   1.187 +endif
   1.188 +
   1.189 +clean-${PROJECT}: %-${PROJECT}:
   1.190 +	${DO_MAKE}
   1.191 +	rm -rf ${SYMROOT}/{${PRODUCT_NAME}.framework,${TCLSH},tcltest}
   1.192 +	rm -f ${OBJ_DIR}{${LIBDIR},${BINDIR}} && \
   1.193 +	rmdir -p ${OBJ_DIR}$(dir ${LIBDIR}) 2>&- || true && \
   1.194 +	rmdir -p ${OBJ_DIR}$(dir ${BINDIR}) 2>&- || true
   1.195 +
   1.196 +distclean-${PROJECT}: %-${PROJECT}: clean-${PROJECT}
   1.197 +	${DO_MAKE}
   1.198 +	rm -rf ${OBJ_DIR}
   1.199 +
   1.200 +test-${PROJECT}: %-${PROJECT}: build-${PROJECT}
   1.201 +	${DO_MAKE}
   1.202 +
   1.203 +#-------------------------------------------------------------------------------------------------------
   1.204 +
   1.205 +.PHONY: ${meta} ${targets} ${PROJECT} build-${PROJECT} install-${PROJECT} \
   1.206 +	clean-${PROJECT} distclean-${PROJECT}
   1.207 +
   1.208 +.NOTPARALLEL:
   1.209 +
   1.210 +#-------------------------------------------------------------------------------------------------------