]> git.saurik.com Git - apple/coreosmakefiles.git/blame - ReleaseControl/GNUSource.make
CoreOSMakefiles-52.tar.gz
[apple/coreosmakefiles.git] / ReleaseControl / GNUSource.make
CommitLineData
fdbff003
A
1##
2# Makefile for Apple Release Control (GNU source projects)
3#
4# Wilfredo Sanchez | wsanchez@apple.com
5# Copyright (c) 1997-1999 Apple Computer, Inc.
6#
7# @APPLE_LICENSE_HEADER_START@
8#
9# Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
10# Reserved. This file contains Original Code and/or Modifications of
11# Original Code as defined in and that are subject to the Apple Public
12# Source License Version 1.1 (the "License"). You may not use this file
13# except in compliance with the License. Please obtain a copy of the
14# License at http://www.apple.com/publicsource and read it before using
15# this file.
16#
17# The Original Code and all software distributed under the License are
18# distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
19# EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
20# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
21# FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the
22# License for the specific language governing rights and limitations
23# under the License.
24#
25# @APPLE_LICENSE_HEADER_END@
26##
27# Set these variables as needed, then include this file, then:
28#
29# Install_Prefix [ $(USRDIR) ]
30# Install_Man [ $(MANDIR) ]
31# Install_Info [ $(SHAREDIR)/info ]
32# Install_HTML [ <depends> ]
33# Install_Source [ $(NSSOURCEDIR)/Commands/$(ProjectName) ]
34# Configure [ $(Sources)/configure ]
35# Extra_Configure_Flags
36# Extra_Install_Flags
37# Passed_Targets [ check ]
38#
39# Additional variables inherited from ReleaseControl/Common.make
40##
41
42ifndef CoreOSMakefiles
43CoreOSMakefiles = $(MAKEFILEPATH)/CoreOS
44endif
45
46Passed_Targets += check
47
48include $(CoreOSMakefiles)/ReleaseControl/Common.make
49
50##
51# My variables
52##
53
54Sources = $(SRCROOT)/$(Project)
55ConfigStamp = $(BuildDirectory)/configure-stamp
56
57ifndef Install_Prefix
58Install_Prefix = $(USRDIR)
59endif
60ifndef Install_Man
61Install_Man = $(MANDIR)
62endif
63ifndef Install_Info
64Install_Info = $(SHAREDIR)/info
65endif
66ifndef Install_HTML
67ifeq "$(UserType)" "Developer"
a44896e3 68Install_HTML = $(SYSTEM_DEVELOPER_TOOLS_DOC_DIR)/$(ProjectName)
fdbff003
A
69else
70Install_HTML = $(NSDOCUMENTATIONDIR)/$(ToolType)/$(ProjectName)
71endif
72endif
73ifndef Install_Source
74Install_Source = $(NSSOURCEDIR)/$(ToolType)/$(ProjectName)
75endif
76
77RC_Install_Prefix = $(DSTROOT)$(Install_Prefix)
78RC_Install_Man = $(DSTROOT)$(Install_Man)
79RC_Install_Info = $(DSTROOT)$(Install_Info)
80RC_Install_HTML = $(DSTROOT)$(Install_HTML)
81ifneq ($(Install_Source),)
82RC_Install_Source = $(DSTROOT)$(Install_Source)
83endif
84
85ifndef Configure
86Configure = $(Sources)/configure
87endif
88
89Environment += TEXI2HTML="$(TEXI2HTML) -subdir ."
90
75f10a5b
A
91# 4158518: gcc-4.0 no longer allows multiple archs with -M*, so projects
92# that have dependency tracking on by default, fail. So we set
93# --disable-dependency-tracking to turn off dependency tracking.
fdbff003
A
94Configure_Flags = --prefix="$(Install_Prefix)" \
95 --mandir="$(Install_Man)" \
75f10a5b
A
96 --infodir="$(Install_Info)" \
97 --disable-dependency-tracking \
fdbff003
A
98 $(Extra_Configure_Flags)
99
100Install_Flags = prefix="$(RC_Install_Prefix)" \
101 mandir="$(RC_Install_Man)" \
102 infodir="$(RC_Install_Info)" \
103 htmldir="$(RC_Install_HTML)" \
104 $(Extra_Install_Flags)
105
106Install_Target = install-strip
107
108##
109# Targets
110##
111
112.PHONY: configure almostclean
113
114install:: build
115ifneq ($(GnuNoInstall),YES)
116 @echo "Installing $(Project)..."
117 $(_v) umask $(Install_Mask) ; $(MAKE) -C $(BuildDirectory) $(Environment) $(Install_Flags) $(Install_Target)
a44896e3
A
118 $(_v) $(FIND) $(DSTROOT) $(Find_Cruft) -depth -exec $(RMDIR) "{}" \;
119 $(_v) $(FIND) $(SYMROOT) $(Find_Cruft) -depth -exec $(RMDIR) "{}" \;
fdbff003 120ifneq ($(GnuNoChown),YES)
e50bb073 121 $(_v)- $(CHOWN) -R $(Install_User):$(Install_Group) $(DSTROOT) $(SYMROOT)
fdbff003
A
122endif
123endif
124ifdef GnuAfterInstall
125 $(_v) $(MAKE) $(GnuAfterInstall)
126endif
a44896e3 127 $(_v) $(MAKE) compress_man_pages
fdbff003
A
128
129build:: configure
130ifneq ($(GnuNoBuild),YES)
131 @echo "Building $(Project)..."
132 $(_v) $(MAKE) -C $(BuildDirectory) $(Environment)
133endif
134
135configure:: lazy_install_source $(ConfigStamp)
136
137reconfigure::
138 $(_v) $(RM) $(ConfigStamp)
139 $(_v) $(MAKE) configure
140
141$(ConfigStamp):
142ifneq ($(GnuNoConfigure),YES)
143 @echo "Configuring $(Project)..."
144 $(_v) $(MKDIR) $(BuildDirectory)
611bdc3f
A
145# Disable LD_TRACE_FILE during configure
146 $(_v) cd $(BuildDirectory) && $(Environment) LD_TRACE_FILE=/dev/null $(Configure) $(Configure_Flags)
fdbff003
A
147endif
148 $(_v) touch $@
149
150almostclean::
151ifneq ($(GnuNoClean),YES)
152 @echo "Cleaning $(Project)..."
153 $(_v) $(MAKE) -C $(BuildDirectory) clean
154endif