]> git.saurik.com Git - apple/configd.git/blame - SystemConfiguration.fproj/Makefile.preamble
configd-84.tar.gz
[apple/configd.git] / SystemConfiguration.fproj / Makefile.preamble
CommitLineData
5958d7c0
A
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.
123OTHER_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.
137# DSTROOT = $(HOME)
138
139# Additional flags for MiG generated files
a5f60add 140OTHER_PRIVATE_HEADERS += config.defs config.h
0fae82ee
A
141
142OTHER_PRIVATE_HEADERS += SCPrivate.h
143OTHER_PRIVATE_HEADERS += SCDynamicStorePrivate.h
009ee3c6 144OTHER_PRIVATE_HEADERS += SCDynamicStoreCopySpecificPrivate.h
0fae82ee
A
145OTHER_PRIVATE_HEADERS += SCDynamicStoreSetSpecificPrivate.h
146OTHER_PRIVATE_HEADERS += SCPreferencesPrivate.h
147OTHER_PRIVATE_HEADERS += SCValidation.h
148OTHER_PRIVATE_HEADERS += SCDPlugin.h
a5f60add 149OTHER_PRIVATE_HEADERS += DeviceOnHold.h
32d96e3d 150OTHER_PRIVATE_HEADERS += LinkConfiguration.h
0fae82ee 151
0fae82ee
A
152#
153# MiG generated files
154#
5958d7c0
A
155OTHER_OFILES += configUser.o
156
157# Additional options to create generated headers, source
158BEFORE_INSTALLHDRS = before_installhdrs
159OTHER_SOURCEFILES += genSCPreferences.c
009ee3c6
A
160OTHER_GENERATED_SRCFILES += SCSchemaDefinitions_10_1.h
161OTHER_GENERATED_SRCFILES += SCSchemaDefinitions.h
162OTHER_GENERATED_SRCFILES += SCSchemaDefinitions.c
163OTHER_PUBLIC_HEADERS += SCSchemaDefinitions_10_1.h
0fae82ee
A
164OTHER_PUBLIC_HEADERS += SCSchemaDefinitions.h
165OTHER_OFILES += SCSchemaDefinitions.o
5958d7c0
A
166
167# Additional build flags
168ifeq "$(PLATFORM_OS)" "macos"
0fae82ee 169ifneq "$(RC_RELEASE)" "Darwin"
5958d7c0
A
170 APPLE_INTERNAL_DIR ?= /AppleInternal
171 APPLE_INTERNAL_DEVELOPER_DIR ?= /AppleInternal/Developer
172 OTHER_LDFLAGS += -seg_addr_table $(APPLE_INTERNAL_DEVELOPER_DIR)/seg_addr_table
173 SECTORDER_FLAGS = -sectorder __TEXT __text $(APPLE_INTERNAL_DIR)/OrderFiles/SystemConfiguration.order
174endif
0fae82ee 175endif