summaryrefslogtreecommitdiffstats
path: root/macosx/Makefile
blob: 9cd14b00128fb08a4c087722bbc6529f41c9e194 (plain)
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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
################################################################################
#
# Makefile to build AquaTk on Mac OS X packaged as a Framework
#	uses Project Builder command line tool 'pbxbuild'
#
# RCS: @(#) $Id: Makefile,v 1.13 2004/02/23 22:49:26 das Exp $
#
################################################################################

#-------------------------------------------------------------------------------
# customizable settings

DESTDIR			?=
INSTALL_ROOT		?= ${DESTDIR}

BUILD_DIR		?= ${CURDIR}/../../build
SYMROOT			?= ${BUILD_DIR}/${PROJECT}
OBJROOT			?= ${SYMROOT}

EXTRA_MAKE_ARGS		?= 

INSTALL_PATH		?= /Library/Frameworks
APPLICATION_INSTALL_PATH ?= /Applications/Utilities

PREFIX			?= /usr
BINDIR			?= ${PREFIX}/bin

TCL_FRAMEWORK_DIR	?= ${BUILD_DIR}/tcl
TCLSH_DIR		?= ${TCL_FRAMEWORK_DIR}

#-------------------------------------------------------------------------------

PROJECT			= tk
TARGET			= Wish

DEVBUILDSTYLE		= Development
DEPBUILDSTYLE		= Deployment

PBXBUILD		= /usr/bin/pbxbuild
XCODEBUILD		= /usr/bin/xcodebuild

BUILDCMD		= `if [ -f $(XCODEBUILD) ]; then \
			    echo "$(XCODEBUILD) -project $$(ls -d *.pbproj)"; \
			    else echo "$(PBXBUILD)"; fi`

MAKE_VARS		:= SYMROOT OBJROOT BINDIR APPLICATION_INSTALL_PATH \
				TCL_FRAMEWORK_DIR TCLSH_DIR
MAKE_ARGS_V		= $(foreach v,${MAKE_VARS},$v=${$v})

BUILD			= ${BUILDCMD} -target "${TARGET}" ${MAKE_ARGS_V} \
				DYLIB_INSTALL_PATH="${INSTALL_PATH}" \
				${EXTRA_MAKE_ARGS} ${MAKEOVERRIDES}

DEVBUILD		= ${BUILD} -buildstyle "${DEVBUILDSTYLE}"
DEPBUILD		= ${BUILD} -buildstyle "${DEPBUILDSTYLE}"

INSTALLOPTS		= INSTALL_ROOT="${INSTALL_ROOT}"

EMBEDDEDOPTS		= EMBEDDED_BUILD=1

################################################################################

all: develop deploy

install: install-develop install-deploy

embedded: embedded-deploy

install-embedded: install-embedded-deploy cleanup-embedded

clean: clean-develop clean-deploy

################################################################################

develop:
	${DEVBUILD}

deploy:
	${DEPBUILD}

install-develop: 
	${DEVBUILD} install ${INSTALLOPTS}

install-deploy:
	${DEPBUILD} install ${INSTALLOPTS}

embedded-develop:
	${DEVBUILD} ${EMBEDDEDOPTS}

embedded-deploy:
	${DEPBUILD} ${EMBEDDEDOPTS}

install-embedded-develop:
	${DEVBUILD} install ${INSTALLOPTS} ${EMBEDDEDOPTS}

install-embedded-deploy:
	${DEPBUILD} install ${INSTALLOPTS} ${EMBEDDEDOPTS}

clean-develop:
	${DEVBUILD} clean

clean-deploy:
	${DEPBUILD} clean

################################################################################

cleanup-embedded:
	@-cd ${INSTALL_ROOT}/; \
	chmod -RH u+w Library/Frameworks/Tcl.framework; \
	rm -rf Library/Frameworks/Tcl.framework; \
	chmod -RH u+w Library/Frameworks/Tk.framework; \
	rm -rf Library/Frameworks/Tk.framework; \
	rmdir -p Library/Frameworks 2>&-;

################################################################################

.PHONY: all install embedded clean develop deploy install-develop install-deploy \
embedded-develop embedded-deploy install-embedded-develop install-embedded-deploy \
clean-develop clean-deploy cleanup-embedded

################################################################################