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 105# Additional headers to export beyond those in the PB.project: 106# OTHER_PUBLIC_HEADERS 107# OTHER_PROJECT_HEADERS 108# OTHER_PRIVATE_HEADERS 109 110# Additional files for the project's product: <<path relative to proj?>> 111# OTHER_RESOURCES: (non-localized) resources for this project 112# OTHER_OFILES: relocatables to be linked into this project 113# OTHER_LIBS: more libraries to link against 114# OTHER_PRODUCT_DEPENDS: other dependencies of this project 115# OTHER_SOURCEFILES: other source files maintained by .pre/postamble 116# OTHER_GARBAGE: additional files to be removed by `make clean' 117 118# Set this to YES if you don't want a final libtool call for a library/framework. 119# BUILD_OFILES_LIST_ONLY 120 121# To include a version string, project source must exist in a directory named 122# $(NAME).%d[.%d][.%d] and the following line must be uncommented. 123# OTHER_GENERATED_OFILES = $(VERS_OFILE) 124 125# This definition will suppress stripping of debug symbols when an executable 126# is installed. By default it is YES. 127# STRIP_ON_INSTALL = NO 128 129# Uncomment to suppress generation of a KeyValueCoding index when installing 130# frameworks (This index is used by WOB and IB to determine keys available 131# for an object). Set to YES by default. 132# PREINDEX_FRAMEWORK = NO 133 134# Change this definition to install projects somewhere other than the 135# standard locations. NEXT_ROOT defaults to "C:/Apple" on Windows systems 136# and "" on other systems. 137DSTROOT = $(HOME) 138