############################################################################### # Makefile.preamble # Copyright 1997, Apple Computer, Inc. # # Use this makefile for configuring the standard application makefiles # associated with ProjectBuilder. It is included before the main makefile. # In Makefile.preamble you set attributes for a project, so they are available # to the project's makefiles. In contrast, you typically write additional rules or # override built-in behavior in the Makefile.postamble. # # Each directory in a project tree (main project plus subprojects) should # have its own Makefile.preamble and Makefile.postamble. ############################################################################### # # Before the main makefile is included for this project, you may set: # # MAKEFILEDIR: Directory in which to find $(MAKEFILE) # MAKEFILE: Top level mechanism Makefile (e.g., app.make, bundle.make) # Compiler/linker flags added to the defaults: The OTHER_* variables will be # inherited by all nested sub-projects, but the LOCAL_ versions of the same # variables will not. Put your -I, -D, -U, and -L flags in ProjectBuilder's # Build Attributes inspector if at all possible. To override the default flags # that get passed to ${CC} (e.g. change -O to -O2), see Makefile.postamble. The # variables below are *inputs* to the build process and distinct from the override # settings done (less often) in the Makefile.postamble. # # OTHER_CFLAGS, LOCAL_CFLAGS: additional flags to pass to the compiler # Note that $(OTHER_CFLAGS) and $(LOCAL_CFLAGS) are used for .h, ...c, .m, # .cc, .cxx, .C, and .M files. There is no need to respecify the # flags in OTHER_MFLAGS, etc. # OTHER_MFLAGS, LOCAL_MFLAGS: additional flags for .m files # OTHER_CCFLAGS, LOCAL_CCFLAGS: additional flags for .cc, .cxx, and ...C files # OTHER_MMFLAGS, LOCAL_MMFLAGS: additional flags for .mm and .M files # OTHER_PRECOMPFLAGS, LOCAL_PRECOMPFLAGS: additional flags used when # precompiling header files # OTHER_LDFLAGS, LOCAL_LDFLAGS: additional flags passed to ld and libtool # OTHER_PSWFLAGS, LOCAL_PSWFLAGS: additional flags passed to pswrap # OTHER_RPCFLAGS, LOCAL_RPCFLAGS: additional flags passed to rpcgen # OTHER_YFLAGS, LOCAL_YFLAGS: additional flags passed to yacc # OTHER_LFLAGS, LOCAL_LFLAGS: additional flags passed to lex # These variables provide hooks enabling you to add behavior at almost every # stage of the make: # # BEFORE_PREBUILD: targets to build before installing headers for a subproject # AFTER_PREBUILD: targets to build after installing headers for a subproject # BEFORE_BUILD_RECURSION: targets to make before building subprojects # BEFORE_BUILD: targets to make before a build, but after subprojects # AFTER_BUILD: targets to make after a build # # BEFORE_INSTALL: targets to build before installing the product # AFTER_INSTALL: targets to build after installing the product AFTER_INSTALL += install-man-pages # BEFORE_POSTINSTALL: targets to build before postinstalling every subproject # AFTER_POSTINSTALL: targts to build after postinstalling every subproject # # BEFORE_INSTALLHDRS: targets to build before installing headers for a # subproject # AFTER_INSTALLHDRS: targets to build after installing headers for a subproject # BEFORE_INSTALLSRC: targets to build before installing source for a subproject # AFTER_INSTALLSRC: targets to build after installing source for a subproject # # BEFORE_DEPEND: targets to build before building dependencies for a # subproject # AFTER_DEPEND: targets to build after building dependencies for a # subproject # # AUTOMATIC_DEPENDENCY_INFO: if YES, then the dependency file is # updated every time the project is built. If NO, the dependency # file is only built when the depend target is invoked. # Framework-related variables: # FRAMEWORK_DLL_INSTALLDIR: On Windows platforms, this variable indicates # where to put the framework's DLL. This variable defaults to # $(INSTALLDIR)/../Executables # Library-related variables: # PUBLIC_HEADER_DIR: Determines where public exported header files # should be installed. Do not include $(DSTROOT) in this value -- # it is prefixed automatically. For library projects you should # set this to something like /Developer/Headers/$(NAME). Do not set # this variable for framework projects unless you do not want the # header files included in the framework. # PRIVATE_HEADER_DIR: Determines where private exported header files # should be installed. Do not include $(DSTROOT) in this value -- # it is prefixed automatically. # LIBRARY_STYLE: This may be either STATIC or DYNAMIC, and determines # whether the libraries produced are statically linked when they # are used or if they are dynamically loadable. This defaults to # DYNAMIC. # LIBRARY_DLL_INSTALLDIR: On Windows platforms, this variable indicates # where to put the library's DLL. This variable defaults to # $(INSTALLDIR)/../Executables # # INSTALL_AS_USER: owner of the intalled products (default root) # INSTALL_AS_GROUP: group of the installed products (default wheel) # INSTALL_PERMISSIONS: permissions of the installed product (default o+rX) # # OTHER_RECURSIVE_VARIABLES: The names of variables which you want to be # passed on the command line to recursive invocations of make. Note that # the values in OTHER_*FLAGS are inherited by subprojects automatically -- # you do not have to (and shouldn't) add OTHER_*FLAGS to # OTHER_RECURSIVE_VARIABLES. # Additional headers to export beyond those in the PB.project: # OTHER_PUBLIC_HEADERS # OTHER_PROJECT_HEADERS # OTHER_PRIVATE_HEADERS # Additional files for the project's product: <> # OTHER_RESOURCES: (non-localized) resources for this project # OTHER_OFILES: relocatables to be linked into this project # OTHER_LIBS: more libraries to link against # OTHER_PRODUCT_DEPENDS: other dependencies of this project # OTHER_SOURCEFILES: other source files maintained by .pre/postamble # OTHER_GARBAGE: additional files to be removed by `make clean' # Set this to YES if you don't want a final libtool call for a library/framework. # BUILD_OFILES_LIST_ONLY # To include a version string, project source must exist in a directory named # $(NAME).%d[.%d][.%d] and the following line must be uncommented. # OTHER_GENERATED_OFILES = $(VERS_OFILE) # This definition will suppress stripping of debug symbols when an executable # is installed. By default it is YES. # STRIP_ON_INSTALL = NO # Uncomment to suppress generation of a KeyValueCoding index when installing # frameworks (This index is used by WOB and IB to determine keys available # for an object). Set to YES by default. # PREINDEX_FRAMEWORK = NO # Change this definition to install projects somewhere other than the # standard locations. NEXT_ROOT defaults to "C:/Apple" on Windows systems # and "" on other systems. DSTROOT = $(HOME)