Commit | Line | Data |
---|---|---|
805e021f CE |
1 | # |
2 | # Installation vars | |
3 | # | |
4 | afsbackupdir=@afsbackupdir@ | |
5 | afsbosconfigdir=@afsbosconfigdir@ | |
6 | afsconfdir=@afsconfdir@ | |
7 | afsdbdir=@afsdbdir@ | |
8 | afslocaldir=@afslocaldir@ | |
9 | afslogsdir=@afslogsdir@ | |
10 | afssrvbindir=@afssrvbindir@ | |
11 | afskerneldir=@afskerneldir@ | |
12 | afssrvlibexecdir=@afssrvlibexecdir@ | |
13 | afssrvsbindir=@afssrvsbindir@ | |
14 | afsdatadir=@afsdatadir@ | |
15 | bindir=@bindir@ | |
16 | exec_prefix=@exec_prefix@ | |
17 | datarootdir=@datarootdir@ | |
18 | datadir=@datadir@ | |
19 | includedir=@includedir@ | |
20 | libdir=@libdir@ | |
21 | libexecdir=@libexecdir@ | |
22 | localstatedir=@localstatedir@ | |
23 | mandir=@mandir@ | |
24 | prefix=@prefix@ | |
25 | sbindir=@sbindir@ | |
26 | sysconfdir=@sysconfdir@ | |
27 | viceetcdir=@viceetcdir@/ | |
28 | top_builddir=@top_builddir@ | |
29 | ||
30 | ||
31 | # | |
32 | # Programs and other defines | |
33 | # | |
34 | AR = @AR@ | |
35 | AS = @AS@ | |
36 | ASFLAGS = @ASFLAGS@ | |
37 | AFSD_LIBS = @AFSD_LIBS@ | |
38 | AFSD_LDFLAGS = @AFSD_LDFLAGS@ | |
39 | CC = @CC@ | |
40 | CPP = @CPP@ | |
41 | CPPFLAGS_roken = @CPPFLAGS_roken@ | |
42 | CCOBJ = @CCOBJ@ | |
43 | CCXPG2 = @CCXPG2@ | |
44 | CFLAGS = @CFLAGS@ | |
45 | CP = @CP@ | |
46 | DARWIN_INFOFILE=@DARWIN_INFOFILE@ | |
47 | DBG = @DBG@ | |
48 | DEST = @DEST@ | |
49 | DIR_roken = @DIR_roken@ | |
50 | FSINCLUDES = @FSINCLUDES@ | |
51 | GENCAT = @GENCAT@ | |
52 | INCLUDE_LIBINTL = @INCLUDE_libintl@ | |
53 | KERN_DBG = @KERN_DBG@ | |
54 | CTFCONVERT = @CTFCONVERT@ | |
55 | CTFMERGE = @CTFMERGE@ | |
56 | KERN_OPTMZ = @KERN_OPTMZ@ | |
57 | LD = @LD@ | |
58 | LDFLAGS_roken = @LDFLAGS_roken@ | |
59 | LDFLAGS_hcrypto = @LDFLAGS_hcrypto@ | |
60 | LDFLAGS_krb5 = @KRB5_LDFLAGS@ | |
61 | CPPFLAGS_gssapi = @GSSAPI_CPPFLAGS@ | |
62 | LEX = @LEX@ | |
63 | LIB_AFSDB = @LIB_AFSDB@ | |
64 | LIB_crypt = @LIB_crypt@ | |
65 | LIB_curses = @LIB_curses@ | |
66 | LIB_hcrypto = @LIB_hcrypto@ | |
67 | LIB_roken = @LIB_roken@ | |
68 | buildtool_roken = @buildtool_roken@ | |
69 | LIB_krb5 = @KRB5_LIBS@ | |
70 | LIB_gssapi = @GSSAPI_LIBS@ | |
71 | LIBTOOL= @LIBTOOL@ | |
72 | LIBS = @LIBS@ | |
73 | LIB_LIBINTL = @LIB_libintl@ | |
74 | LINUX_KERNEL_PATH = @LINUX_KERNEL_PATH@ | |
75 | LINUX_KERNEL_BUILD = @LINUX_KERNEL_BUILD@ | |
76 | LINUX_LIBAFS_NAME = @LINUX_LIBAFS_NAME@ | |
77 | LINUX_KERNEL_PACKAGING = @LINUX_KERNEL_PACKAGING@ | |
78 | LINUX_VERSION = @LINUX_VERSION@ | |
79 | LINUX_VERS = @LINUX_VERSION@ | |
80 | LWP_OPTMZ = @LWP_OPTMZ@ | |
81 | LWP_DBG = @LWP_DBG@ | |
82 | MKAFS_OSTYPE = @MKAFS_OSTYPE@ | |
83 | AFS_PARAM_COMMON = @AFS_PARAM_COMMON@ | |
84 | MT_CC = @MT_CC@ | |
85 | MT_CFLAGS = @MT_CFLAGS@ | |
86 | MT_LIBS = @MT_LIBS@ | |
87 | MV = @MV@ | |
88 | NO_STRIP_BIN = @NO_STRIP_BIN@ | |
89 | OPTMZ = @OPTMZ@ | |
90 | PAM_CFLAGS = @PAM_CFLAGS@ | |
91 | PAM_LIBS = @PAM_LIBS@ | |
92 | PAM_OPTMZ = @PAM_OPTMZ@ | |
93 | PAM_DBG = @PAM_DBG@ | |
94 | PATH_CPP = @PATH_CPP@ | |
95 | RANLIB = @RANLIB@ | |
96 | REGEX_OBJ = @REGEX_OBJ@ | |
97 | REGEX_OBJ_PIC = @REGEX_OBJ_PIC@ | |
98 | RM = @RM@ | |
99 | RXDEBUG = @RXDEBUG@ | |
100 | ROKEN_HEADERS = @ROKEN_HEADERS@ | |
101 | ROKEN_LTLIBOBJS = @LTLIBOBJS@ | |
102 | SED = @SED@ | |
103 | SHLIB_CFLAGS = @SHLIB_CFLAGS@ | |
104 | SHLIB_LDFLAGS = @SHLIB_LDFLAGS@ | |
105 | SHLIB_LINKER = @SHLIB_LINKER@ | |
106 | SHLIB_SUFFIX = @SHLIB_SUFFIX@ | |
107 | SYS_NAME = @AFS_SYSNAME@ | |
108 | TOP_INCDIR = @TOP_INCDIR@ | |
109 | TOP_LIBDIR = @TOP_LIBDIR@ | |
110 | TOP_JLIBDIR= @TOP_JLIBDIR@ | |
111 | TOP_OBJDIR = @TOP_OBJDIR@ | |
112 | TOP_SRCDIR = @TOP_SRCDIR@ | |
113 | VPATH = ${srcdir} | |
114 | XCFLAGS64 = @XCFLAGS64@ | |
115 | XCFLAGS = @XCFLAGS@ | |
116 | XLDFLAGS64 = @XLDFLAGS64@ | |
117 | XLDFLAGS = @XLDFLAGS@ | |
118 | XLIBELFA = @XLIBELFA@ | |
119 | XLIBKVM = @XLIBKVM@ | |
120 | XLIBS = @XLIBS@ | |
121 | YACC = @YACC@ | |
122 | ||
123 | # | |
124 | # Install targets | |
125 | # | |
126 | ||
127 | INSTALL = @INSTALL@ | |
128 | INSTALL_DATA = @INSTALL_DATA@ | |
129 | INSTALL_PROGRAM = @INSTALL_PROGRAM@ | |
130 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | |
131 | ||
132 | # | |
133 | # Special build targets | |
134 | # | |
135 | dest_XFS_SIZE_CHECK = @dest_XFS_SIZE_CHECK@ | |
136 | install_XFS_SIZE_CHECK = @install_XFS_SIZE_CHECK@ | |
137 | XFS_SIZE_CHECK = @XFS_SIZE_CHECK@ | |
138 | AIX32 = @AIX32@ | |
139 | AIX64 = @AIX64@ | |
140 | ||
141 | # | |
142 | # Paths to build dirs | |
143 | # | |
144 | # Could be absolute, but leaving as relative for now | |
145 | #UKERNELDIR = ${TOP_OBJDIR}/src/libuafs | |
146 | #KERNELDIR = ${TOP_OBJDIR}/src/libafs | |
147 | UKERNELDIR = ../libuafs | |
148 | KERNELDIR = ../libafs | |
149 | ||
150 | # | |
151 | # Build helper apps | |
152 | # | |
153 | CC_WRAPPER = @CC_WRAPPER@ | |
154 | LD_WRAPPER = @LD_WRAPPER@ | |
155 | COMPILE_ET = @COMPILE_ET_PATH@ | |
156 | CONFIGTOOL = @CONFIGTOOL_PATH@ | |
157 | RXGEN = @RXGEN_PATH@ | |
158 | SHELL = @SHELL@ | |
159 | LWPTOOL = ${TOP_SRCDIR}/config/lwptool | |
160 | ||
161 | # | |
162 | # "Pretty" build line stuff | |
163 | # | |
164 | ||
165 | # Default to disabling the "pretty" build lines | |
166 | # If the user specifies 'V=0', the variables below expand to their _V0 | |
167 | # variants, which enable the "pretty" build lines | |
168 | V=1 | |
169 | ||
170 | RUNCMD=RUNCMD () { \ | |
171 | echo " $$1 $$2"; \ | |
172 | shift; shift; \ | |
173 | "$$@" || failcode=$$?; \ | |
174 | if [ x"$$failcode" != x ] ; then \ | |
175 | echo >&2; \ | |
176 | echo "FAILED COMMAND: $$@" >&2; \ | |
177 | echo >&2; \ | |
178 | echo "In dir:" >&2; \ | |
179 | pwd >&2; \ | |
180 | echo >&2; \ | |
181 | exit $$failcode; \ | |
182 | fi; \ | |
183 | exit 0; \ | |
184 | } ; RUNCMD | |
185 | ||
186 | RUN_CC_NOQ_V0=${RUNCMD} CC "`pwd`/$@" | |
187 | RUN_LD_NOQ_V0=${RUNCMD} LD "`pwd`/$@" | |
188 | ||
189 | # Prefixing a command with $(Q) will suppress that line from being printed | |
190 | # during a "pretty" make, so the RUNCMD function above can decide itself how | |
191 | # much to print. The Q is just for "quiet", and Q kinda looks like @. | |
192 | # | |
193 | # The _NOQ variants of the RUN_ commands are for when a compiler invocation is | |
194 | # in the middle of e.g. a switch/case or an if/else, etc. In those cases, we | |
195 | # want to prefix the _entire_ command with $(Q), not just the compiler, linker, | |
196 | # etc. | |
197 | Q_V0=@ | |
198 | Q=$(Q_V$(V)) | |
199 | ||
200 | RUN_CC=$(Q)$(RUN_CC_NOQ_V$(V)) | |
201 | RUN_LD=$(Q)$(RUN_LD_NOQ_V$(V)) | |
202 | ||
203 | RUN_CC_NOQ=$(RUN_CC_NOQ_V$(V)) | |
204 | RUN_LD_NOQ=$(RUN_LD_NOQ_V$(V)) | |
205 | ||
206 | # | |
207 | # Generate error table header and the source files independently for | |
208 | # parallel make. | |
209 | # | |
210 | COMPILE_ET_H=${COMPILE_ET} -emit h | |
211 | COMPILE_ET_C=${COMPILE_ET} -emit c | |
212 | ||
213 | # | |
214 | # Common/standard cflags/paths/etc | |
215 | # Cflags defaults, will be overridden later if necessary | |
216 | # | |
217 | # -I. and -I${srcdir} are only needed for objdir builds - we should | |
218 | # conditionalise them on that. | |
219 | ||
220 | COMMON_INCL=$(MODULE_INCLUDE) -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} \ | |
221 | -I${srcdir} -I. | |
222 | ||
223 | COMMON_CFLAGS=$(CFLAGS) ${DBG} ${OPTMZ} $(XCFLAGS) \ | |
224 | ${COMMON_INCL} ${INCLUDE_LIBINTL} \ | |
225 | $(CPPFLAGS_roken) $(ARCHFLAGS) | |
226 | ||
227 | COMMON_LDFLAGS=$(LDFLAGS) $(LDFLAGS_hcrypto) $(LDFLAGS_roken) $(DBG) $(OPTMZ) | |
228 | ||
229 | # LWP Flags | |
230 | LWP_CFLAGS=$(MODULE_CFLAGS) $(COMMON_CFLAGS) | |
231 | LWP_LDFLAGS=$(MODULE_LDFLAGS) $(COMMON_LDFLAGS) $(XLDFLAGS) $(ARCHFLAGS) | |
232 | LWP_CCRULE =$(RUN_CC) $(CC_WRAPPER) $(CCOBJ) $(CPPFLAGS_$(@)) $(LWP_CFLAGS) $(CFLAGS_$(@)) -o $@ -c | |
233 | LWP_CCRULE_NOQ=$(RUN_CC_NOQ) $(CC_WRAPPER) $(CCOBJ) $(CPPFLAGS_$(@)) $(LWP_CFLAGS) $(CFLAGS_$(@)) -o $@ -c | |
234 | ||
235 | # Pthreaded | |
236 | PTH_CFLAGS=$(MODULE_CFLAGS) $(COMMON_CFLAGS) $(MT_CFLAGS) | |
237 | PTH_LDFLAGS=$(MODULE_LDFLAGS) $(COMMON_LDFLAGS) $(MT_LDFLAGS) | |
238 | PTH_CCRULE =$(RUN_CC) $(CC_WRAPPER) $(MT_CC) $(CPPFLAGS_$(@)) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c | |
239 | PTH_CCRULE_NOQ=$(RUN_CC_NOQ) $(CC_WRAPPER) $(MT_CC) $(CPPFLAGS_$(@)) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c | |
240 | ||
241 | # Shared | |
242 | SHD_CFLAGS=$(MODULE_CFLAGS) $(COMMON_CFLAGS) $(MT_CFLAGS) $(SHLIB_CFLAGS) | |
243 | SHD_LDFLAGS=$(MODULE_LDFLAGS) $(COMMON_LDFLAGS) $(SHLIB_LDFLAGS) | |
244 | SHD_CCRULE =$(RUN_CC) $(CC_WRAPPER) $(MT_CC) $(CPPFLAGS_$(@)) $(SHD_CFLAGS) $(CFLAGS_$(@)) -o $@ -c | |
245 | SHD_CCRULE_NOQ=$(RUN_CC_NOQ) $(CC_WRAPPER) $(MT_CC) $(CPPFLAGS_$(@)) $(SHD_CFLAGS) $(CFLAGS_$(@)) -o $@ -c | |
246 | ||
247 | # Libtool - for objects that are part of pthread-only libraries | |
248 | LT_CCRULE=$(RUN_CC) $(LIBTOOL) --quiet --mode=compile --tag=CC \ | |
249 | $(CC_WRAPPER) $(MT_CC) $(CPPFLAGS_$(@)) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c | |
250 | ||
251 | LT_current=0 | |
252 | LT_revision=0 | |
253 | LT_age=0 | |
254 | ||
255 | # Basic rule to link a shared library. | |
256 | LT_LDLIB_shlib_common=$(LIBTOOL) --quiet --mode=link --tag=CC \ | |
257 | $(LD_WRAPPER) $(MT_CC) -rpath $(libdir) \ | |
258 | $(PTH_LDFLAGS) $(PTH_CFLAGS) $(LDFLAGS_$(@)) \ | |
259 | -o $@ \ | |
260 | -version-info $(LT_current):$(LT_revision):$(LT_age) | |
261 | ||
262 | LT_LDLIB_shlib=$(LT_LDLIB_shlib_common) -export-symbols $(srcdir)/$@.sym | |
263 | ||
264 | LT_LDLIB_shlib_missing=$(LT_LDLIB_shlib_common) -export-symbols-regex \ | |
265 | "($$(sed -e 's/^/^/' -e 's/$$/$$|/' -e '$$ s/|$$//' $(srcdir)/$@.sym | \ | |
266 | tr -d '\n'))" | |
267 | ||
268 | # Link a static convenience library (contains no PIC code) | |
269 | LT_LDLIB_static=$(LIBTOOL) --quiet --mode=link --tag=CC \ | |
270 | $(LD_WRAPPER) $(MT_CC) -static $(LDFLAGS) $(DBG) $(OPTMZ) \ | |
271 | $(LDFLAGS_$(@)) -o $@ | |
272 | ||
273 | # Link a convenience library for use in other libs (contains PIC code) | |
274 | LT_LDLIB_pic= $(LIBTOOL) --quiet --mode=link --tag=CC \ | |
275 | $(LD_WRAPPER) $(MT_CC) $(LDFLAGS) $(DBG) $(OPTMZ) \ | |
276 | $(LDFLAGS_$(@)) -o $@ | |
277 | ||
278 | # Libtool - for objects that are built for both pthread and lwp libraries | |
279 | LTLWP_CCRULE=$(RUN_CC) $(LWPTOOL) --mode compile \ | |
280 | --lwpcc "$(CC_WRAPPER) $(CCOBJ)" \ | |
281 | --mtcc "$(LIBTOOL) --quiet --mode=compile --tag=CC $(CC_WRAPPER) $(MT_CC) $(MT_CFLAGS)" \ | |
282 | -o $@ \ | |
283 | -- \ | |
284 | $(CPPFLAGS_$(@)) $(MODULE_CFLAGS) $(COMMON_CFLAGS) $(CFLAGS_$(@)) \ | |
285 | -c | |
286 | ||
287 | LT_LDLIB_lwp=$(RUN_LD) $(LWPTOOL) --mode link \ | |
288 | --ranlib "$(RANLIB)" \ | |
289 | --linker "$(AR) crv" \ | |
290 | -o $@ \ | |
291 | -- | |
292 | ||
293 | LT_LDLIB_lwp_NOQ=$(RUN_LD_NOQ) $(LWPTOOL) --mode link \ | |
294 | --ranlib "$(RANLIB)" \ | |
295 | --linker "$(AR) crv" \ | |
296 | -o $@ \ | |
297 | -- | |
298 | ||
299 | # Use this to link an executable with one or more libtool libraries | |
300 | LT_LDRULE = $(RUN_LD) $(LIBTOOL) --quiet --mode=link --tag=CC \ | |
301 | $(LD_WRAPPER) $(MT_CC) $(PTH_LDFLAGS) $(PTH_CFLAGS) \ | |
302 | $(LDFLAGS_$(@)) -o $@ | |
303 | ||
304 | LT_LDRULE_static = $(RUN_LD) $(LIBTOOL) --quiet --mode=link --tag=CC \ | |
305 | $(LD_WRAPPER) $(MT_CC) -static $(PTH_LDFLAGS) $(PTH_CFLAGS) \ | |
306 | $(LDFLAGS_$(@)) -o $@ | |
307 | ||
308 | LT_LDRULE_static_NOQ = $(RUN_LD_NOQ) $(LIBTOOL) --quiet --mode=link --tag=CC \ | |
309 | $(LD_WRAPPER) $(MT_CC) -static $(PTH_LDFLAGS) $(PTH_CFLAGS) \ | |
310 | $(LDFLAGS_$(@)) -o $@ | |
311 | ||
312 | LT_INSTALL_DATA=$(LIBTOOL) --quiet --mode=install $(INSTALL_DATA) | |
313 | LT_INSTALL_PROGRAM=$(LIBTOOL) --quiet --mode=install $(INSTALL_PROGRAM) | |
314 | ||
315 | LT_CLEAN=$(RM) -rf .lwp .libs *.la *.lo | |
316 | ||
317 | # Default rules. These will be overriden if the module Makefile specifically | |
318 | # includes a particular type (lwp, pthread, or shared) | |
319 | ||
320 | AFS_LDRULE =$(RUN_LD) $(LD_WRAPPER) $(CC) $(AFS_LDFLAGS) $(AFS_CFLAGS) $(LDFLAGS_$(@)) -o $@ | |
321 | AFS_LDRULE_NOQ =$(RUN_LD_NOQ) $(LD_WRAPPER) $(CC) $(AFS_LDFLAGS) $(AFS_CFLAGS) $(LDFLAGS_$(@)) -o $@ |