]> git.saurik.com Git - apple/system_cmds.git/blob - zic.tproj/Makefile.postamble
system_cmds-336.6.tar.gz
[apple/system_cmds.git] / zic.tproj / Makefile.postamble
1 ###############################################################################
2 # NeXT Makefile.postamble
3 # Copyright 1996, NeXT Software, Inc.
4 #
5 # This Makefile is used for configuring the standard app makefiles associated
6 # with ProjectBuilder.
7 #
8 # Use this template to set attributes for a project, sub-project, bundle, or
9 # palette. Each node in the project's tree of sub-projects and bundles
10 # should have it's own Makefile.preamble and Makefile.postamble. Additional
11 # rules (e.g., after_install) that are defined by the developer should be
12 # defined in this file.
13 #
14 ###############################################################################
15 #
16 # Here are the variables exported by the common "app" makefiles that can be
17 # used in any customizations you make to the template below:
18 #
19 # PRODUCT_ROOT - Name of the directory to which resources are copied.
20 # OFILE_DIR - Directory into which .o object files are generated.
21 # (Note that this name is calculated based on the target
22 # architectures specified in Project Builder).
23 # DERIVED_SRC_DIR - Directory used for all other derived files
24 # ALL_CFLAGS - All the flags passed to the cc(1) driver for compilations
25 #
26 # NAME - name of application, bundle, subproject, palette, etc.
27 # LANGUAGE - langage in which the project is written (default "English")
28 # LOCAL_RESOURCES - localized resources (e.g. nib's, images) of project
29 # GLOBAL_RESOURCES - non-localized resources of project
30 # PROJECTVERSION - version of ProjectBuilder project (NS3.X = 1.1, NS4.0 = 2.0)
31 # ICONSECTIONS - Specifies icon sections when linking executable
32 #
33 # CLASSES - Class implementation files in project.
34 # HFILES - Header files in project.
35 # MFILES - Other Objective-C source files in project.
36 # CFILES - Other C source files in project.
37 # PSWFILES - .psw files in the project
38 # PSWMFILES - .pswm files in the project
39 # SUBPROJECTS - Subprojects of this project
40 # BUNDLES - Bundle subprojects of this project
41 # OTHERSRCS - Other miscellaneous sources of this project
42 # OTHERLINKED - Source files not matching a standard source extention
43 #
44 # LIBS - Libraries to link with when making app target
45 # DEBUG_LIBS - Libraries to link with when making debug target
46 # PROF_LIBS - Libraries to link with when making profile target
47 # OTHERLINKEDOFILES - Other relocatable files to (always) link in.
48 #
49 # APP_MAKEFILE_DIR - Directory in which to find generic set of Makefiles
50 # MAKEFILEDIR - Directory in which to find $(MAKEFILE)
51 # MAKEFILE - Top level mechanism Makefile (e.g., app.make, bundle.make)
52 # INSTALLDIR - Directory app will be installed into by 'install' target
53 #
54 ###############################################################################
55
56
57 # Change defaults assumed by the standard makefiles here. Edit the
58 # following default values as appropriate. (Note that if no Makefile.postamble
59 # exists, these values will have defaults set in common.make).
60
61 # Versioning of frameworks, libraries, bundles, and palettes:
62 #CURRENTLY_ACTIVE_VERSION = YES
63 # Set to "NO" to produce a compatibility binary
64 #DEPLOY_WITH_VERSION_NAME = A
65 # This should be incremented as your API changes.
66 #COMPATIBILITY_PROJECT_VERSION = 1
67 # This should be incremented as your API grows.
68 #CURRENT_PROJECT_VERSION = 1
69 # Defaults to using the "vers_string" hack.
70
71 # Some compiler flags can be easily overridden here, but onlytake effect at
72 # the top-level:
73 #OPTIMIZATION_CFLAG = -O
74 #DEBUG_SYMBOLS_CFLAG = -g
75 #WARNING_CFLAGS = -Wmost
76 #DEBUG_BUILD_CFLAGS = -DDEBUG
77 #PROFILE_BUILD_CFLAGS = -pg -DPROFILE
78
79 # This definition will suppress stripping of debug symbols when an executable
80 # is installed. By default it is YES.
81 # STRIP_ON_INSTALL = NO
82
83 # Flags passed to yacc
84 #YFLAGS = -d
85
86 # Library and Framework projects only:
87 # 1. If you want something other than the default .dylib name, override it here
88 #DYLIB_INSTALL_NAME = lib$(NAME).dylib
89
90 # 2. If you want to change the -install_name flag from the absolute path to the development area, change it here. One good choice is the installation directory. Another one might be none at all.
91 #DYLIB_INSTALL_DIR = $(INSTALLDIR)
92
93 # Ownership and permissions of files installed by 'install' target
94 #INSTALL_AS_USER = root
95 # User/group ownership
96 #INSTALL_AS_GROUP = wheel
97 # (probably want to set both of these)
98 #INSTALL_PERMISSIONS =
99 # If set, 'install' chmod's executable to this
100
101 # Options to strip for various project types. Note: -S strips debugging symbols
102 # (executables can be stripped down further with -x or, if they load no bundles, with no
103 # options at all).
104 #APP_STRIP_OPTS = -S
105 #TOOL_STRIP_OPTS = -S
106 #LIBRARY_STRIP_OPTS = -S
107 # for .a archives
108 #DYNAMIC_STRIP_OPTS = -S
109 # for bundles and shared libraries
110
111 #########################################################################
112 # Put rules to extend the behavior of the standard Makefiles here. "Official"
113 # user-defined rules are:
114 # * before_install
115 # * after_install
116 # * after_installhdrs
117 # You should avoid redefining things like "install" or "app", as they are
118 # owned by the top-level Makefile API and no context has been set up for where
119 # derived files should go.
120 #
121 # Note: on MS Windows, executables, have an extension, so rules and dependencies
122 # for generated tools should use $(EXECUTABLE_EXT) on the end.
123
124 ###############################################################################
125 # Install /usr/share/zoneinfo files
126 ###############################################################################
127
128 VPATH += :datfiles
129
130 # If you always want time values interpreted as "seconds since the epoch
131 # (not counting leap seconds)", use
132 # REDO= posix_only
133 # below. If you always want right time values interpreted as "seconds since
134 # the epoch" (counting leap seconds)", use
135 # REDO= right_only
136 # below. If you want both sets of data available, with leap seconds not
137 # counted normally, use
138 # REDO= posix_right
139 # below. If you want both sets of data available, with leap seconds counted
140 # normally, use
141 # REDO= right_posix
142 # below.
143
144 REDO= posix_only
145
146 TZDIR= ${DSTROOT}/usr/share/zoneinfo
147 LOCALTIME= US/Pacific
148 POSIXRULES= US/Pacific
149
150 YEARISTYPE= datfiles/yearistype.sh
151 YEARISTYPECOPY= ${SYM_DIR}/yearistypecopy
152
153 # pacificnew is obsolete and was removed from YDATA
154 YDATA= africa antarctica asia australasia \
155 europe northamerica southamerica etcetera factory \
156 backward
157 NDATA= systemv
158 SDATA= solar87 solar88 solar89
159 TDATA= $(YDATA) $(NDATA) $(SDATA)
160 DATA= $(YDATA) $(NDATA) $(SDATA) leapseconds # yearistype.sh
161 USNO= usno1988 usno1989
162
163 ZIC=${DSTROOT}/usr/sbin/zic
164
165 ${YEARISTYPECOPY}:
166 cp ${YEARISTYPE} ${YEARISTYPECOPY}
167 chmod u+x ${YEARISTYPECOPY}
168
169 posix_only: ${TDATA} ${YEARISTYPECOPY}
170 (cd datfiles; \
171 ${ZIC} -y ${YEARISTYPECOPY} -d ${TZDIR} -L /dev/null ${TDATA})
172
173 right_only: leapseconds ${TDATA} ${YEARISTYPECOPY}
174 (cd datfiles; \
175 ${ZIC} -y ${YEARISTYPECOPY} -d ${TZDIR} -L leapseconds ${TDATA})
176
177 other_two: leapseconds ${TDATA} ${YEARISTYPECOPY}
178 (cd datfiles; \
179 ${ZIC} -y ${YEARISTYPECOPY} -d ${TZDIR}/posix -L /dev/null ${TDATA})
180 (cd datfiles; \
181 ${ZIC} -y ${YEARISTYPECOPY} -d ${TZDIR}/right -L leapseconds ${TDATA})
182
183 posix_right: posix_only other_two
184
185 right_posix: right_only other_two
186
187 #after_install:: ${DATA} ${REDO} ${YEARISTYPECOPY}
188 # ${ZIC} -y ${YEARISTYPECOPY} -d ${TZDIR} -p ${POSIXRULES}
189 # chown -R ${BINOWN}:${BINGRP} ${TZDIR}
190 # find ${TZDIR} -type f | xargs chmod a=r
191 # -rm -f ${DSTROOT}/etc/localtime
192 # ln -s ${TZDIR}/${LOCALTIME} ${DSTROOT}/etc/localtime
193
194 #since we are not doing native builds ... hack hack hack
195
196 # pacificnew is obsolete and was removed from ZONE_FILES
197 ZONE_FILES = africa antarctica asia australasia europe northamerica southamerica etcetera factory backward systemv solar87 solar88 solar89
198 ZONEINFO = ${DSTROOT}/usr/share/zoneinfo
199
200 after_install::
201 -mkdir -p ${DSTROOT}/usr/share
202 -rm -rf ${ZONEINFO}
203 mkdir -p ${ZONEINFO}
204 for tz in ${ZONE_FILES}; do \
205 if [[ $${tz} = "northamerica" ]]; then \
206 ${ZIC} -p America/New_York -L /dev/null -d ${ZONEINFO} -y datfiles/yearistype.sh datfiles/$${tz}; \
207 else \
208 ${ZIC} -L /dev/null -d ${ZONEINFO} -y datfiles/yearistype.sh datfiles/$${tz}; \
209 fi \
210 done
211 chmod -R og-w ${ZONEINFO}
212 install -c -m 444 datfiles/zone.tab ${ZONEINFO}
213 -mkdir -p ${DSTROOT}/private/etc
214 -rm -f ${DSTROOT}/private/etc/localtime
215 ln -fs /usr/share/zoneinfo/${LOCALTIME} ${DSTROOT}/private/etc/localtime
216 mkdir -p ${DSTROOT}/usr/share/man/man8
217 install -c -m 444 zic.8 ${DSTROOT}/usr/share/man/man8