]> git.saurik.com Git - apple/bootx.git/blame_incremental - Makefile.preamble
BootX-81.tar.gz
[apple/bootx.git] / Makefile.preamble
... / ...
CommitLineData
1###############################################################################
2# Makefile.preamble
3# Copyright 1997, Apple Computer, Inc.
4#
5# Use this makefile for configuring the standard application makefiles
6# associated with ProjectBuilder. It is included before the main makefile.
7# In Makefile.preamble you set attributes for a project, so they are available
8# to the project's makefiles. In contrast, you typically write additional rules or
9# override built-in behavior in the Makefile.postamble.
10#
11# Each directory in a project tree (main project plus subprojects) should
12# have its own Makefile.preamble and Makefile.postamble.
13###############################################################################
14#
15# Before the main makefile is included for this project, you may set:
16#
17# MAKEFILEDIR: Directory in which to find $(MAKEFILE)
18# MAKEFILE: Top level mechanism Makefile (e.g., app.make, bundle.make)
19
20# Compiler/linker flags added to the defaults: The OTHER_* variables will be
21# inherited by all nested sub-projects, but the LOCAL_ versions of the same
22# variables will not. Put your -I, -D, -U, and -L flags in ProjectBuilder's
23# Build Attributes inspector if at all possible. To override the default flags
24# that get passed to ${CC} (e.g. change -O to -O2), see Makefile.postamble. The
25# variables below are *inputs* to the build process and distinct from the override
26# settings done (less often) in the Makefile.postamble.
27#
28# OTHER_CFLAGS, LOCAL_CFLAGS: additional flags to pass to the compiler
29# Note that $(OTHER_CFLAGS) and $(LOCAL_CFLAGS) are used for .h, ...c, .m,
30# .cc, .cxx, .C, and .M files. There is no need to respecify the
31# flags in OTHER_MFLAGS, etc.
32# OTHER_MFLAGS, LOCAL_MFLAGS: additional flags for .m files
33# OTHER_CCFLAGS, LOCAL_CCFLAGS: additional flags for .cc, .cxx, and ...C files
34# OTHER_MMFLAGS, LOCAL_MMFLAGS: additional flags for .mm and .M files
35# OTHER_PRECOMPFLAGS, LOCAL_PRECOMPFLAGS: additional flags used when
36# precompiling header files
37# OTHER_LDFLAGS, LOCAL_LDFLAGS: additional flags passed to ld and libtool
38# OTHER_PSWFLAGS, LOCAL_PSWFLAGS: additional flags passed to pswrap
39# OTHER_RPCFLAGS, LOCAL_RPCFLAGS: additional flags passed to rpcgen
40# OTHER_YFLAGS, LOCAL_YFLAGS: additional flags passed to yacc
41# OTHER_LFLAGS, LOCAL_LFLAGS: additional flags passed to lex
42
43# These variables provide hooks enabling you to add behavior at almost every
44# stage of the make:
45#
46# BEFORE_PREBUILD: targets to build before installing headers for a subproject
47# AFTER_PREBUILD: targets to build after installing headers for a subproject
48# BEFORE_BUILD_RECURSION: targets to make before building subprojects
49# BEFORE_BUILD: targets to make before a build, but after subprojects
50# AFTER_BUILD: targets to make after a build
51#
52# BEFORE_INSTALL: targets to build before installing the product
53# AFTER_INSTALL: targets to build after installing the product
54# BEFORE_POSTINSTALL: targets to build before postinstalling every subproject
55# AFTER_POSTINSTALL: targts to build after postinstalling every subproject
56#
57# BEFORE_INSTALLHDRS: targets to build before installing headers for a
58# subproject
59# AFTER_INSTALLHDRS: targets to build after installing headers for a subproject
60# BEFORE_INSTALLSRC: targets to build before installing source for a subproject
61# AFTER_INSTALLSRC: targets to build after installing source for a subproject
62#
63# BEFORE_DEPEND: targets to build before building dependencies for a
64# subproject
65# AFTER_DEPEND: targets to build after building dependencies for a
66# subproject
67#
68# AUTOMATIC_DEPENDENCY_INFO: if YES, then the dependency file is
69# updated every time the project is built. If NO, the dependency
70# file is only built when the depend target is invoked.
71
72# Framework-related variables:
73# FRAMEWORK_DLL_INSTALLDIR: On Windows platforms, this variable indicates
74# where to put the framework's DLL. This variable defaults to
75# $(INSTALLDIR)/../Executables
76
77# Library-related variables:
78# PUBLIC_HEADER_DIR: Determines where public exported header files
79# should be installed. Do not include $(DSTROOT) in this value --
80# it is prefixed automatically. For library projects you should
81# set this to something like /Developer/Headers/$(NAME). Do not set
82# this variable for framework projects unless you do not want the
83# header files included in the framework.
84# PRIVATE_HEADER_DIR: Determines where private exported header files
85# should be installed. Do not include $(DSTROOT) in this value --
86# it is prefixed automatically.
87# LIBRARY_STYLE: This may be either STATIC or DYNAMIC, and determines
88# whether the libraries produced are statically linked when they
89# are used or if they are dynamically loadable. This defaults to
90# DYNAMIC.
91# LIBRARY_DLL_INSTALLDIR: On Windows platforms, this variable indicates
92# where to put the library's DLL. This variable defaults to
93# $(INSTALLDIR)/../Executables
94#
95# INSTALL_AS_USER: owner of the intalled products (default root)
96# INSTALL_AS_GROUP: group of the installed products (default wheel)
97# INSTALL_PERMISSIONS: permissions of the installed product (default o+rX)
98#
99# OTHER_RECURSIVE_VARIABLES: The names of variables which you want to be
100# passed on the command line to recursive invocations of make. Note that
101# the values in OTHER_*FLAGS are inherited by subprojects automatically --
102# you do not have to (and shouldn't) add OTHER_*FLAGS to
103# OTHER_RECURSIVE_VARIABLES.
104
105LIBRARY_STYLE = STATIC
106
107# Additional headers to export beyond those in the PB.project:
108# OTHER_PUBLIC_HEADERS
109# OTHER_PROJECT_HEADERS
110# OTHER_PRIVATE_HEADERS
111
112# Additional files for the project's product: <<path relative to proj?>>
113# OTHER_RESOURCES: (non-localized) resources for this project
114# OTHER_OFILES: relocatables to be linked into this project
115# OTHER_LIBS: more libraries to link against
116# OTHER_PRODUCT_DEPENDS: other dependencies of this project
117# OTHER_SOURCEFILES: other source files maintained by .pre/postamble
118# OTHER_GARBAGE: additional files to be removed by `make clean'
119
120# Set this to YES if you don't want a final libtool call for a library/framework.
121# BUILD_OFILES_LIST_ONLY
122
123# To include a version string, project source must exist in a directory named
124# $(NAME).%d[.%d][.%d] and the following line must be uncommented.
125# OTHER_GENERATED_OFILES = $(VERS_OFILE)
126
127# This definition will suppress stripping of debug symbols when an executable
128# is installed. By default it is YES.
129# STRIP_ON_INSTALL = NO
130
131# Uncomment to suppress generation of a KeyValueCoding index when installing
132# frameworks (This index is used by WOB and IB to determine keys available
133# for an object). Set to YES by default.
134# PREINDEX_FRAMEWORK = NO
135
136# Change this definition to install projects somewhere other than the
137# standard locations. NEXT_ROOT defaults to "C:/Apple" on Windows systems
138# and "" on other systems.
139DSTROOT = $(HOME)