Configure glue for rxgk
[openafs.git] / src / config / Makefile.config.in
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 LDFLAGS_gssapi = @GSSAPI_LDFLAGS@
62 CPPFLAGS_gssapi = @GSSAPI_CPPFLAGS@
63 LEX = @LEX@
64 LIB_AFSDB = @LIB_AFSDB@
65 LIB_crypt = @LIB_crypt@
66 LIB_curses = @LIB_curses@
67 LIB_hcrypto = @LIB_hcrypto@
68 LIB_roken = @LIB_roken@
69 buildtool_roken = @buildtool_roken@
70 LIB_krb5 = @KRB5_LIBS@
71 LIB_gssapi = @GSSAPI_LIBS@
72 LIBTOOL= @LIBTOOL@
73 LIBS = @LIBS@
74 LIB_LIBINTL = @LIB_libintl@
75 LINUX_KERNEL_PATH = @LINUX_KERNEL_PATH@
76 LINUX_KERNEL_BUILD = @LINUX_KERNEL_BUILD@
77 LINUX_LIBAFS_NAME = @LINUX_LIBAFS_NAME@
78 LINUX_KERNEL_PACKAGING = @LINUX_KERNEL_PACKAGING@
79 LINUX_VERSION = @LINUX_VERSION@
80 LINUX_VERS = @LINUX_VERSION@
81 LWP_OPTMZ = @LWP_OPTMZ@
82 LWP_DBG = @LWP_DBG@
83 MKAFS_OSTYPE = @MKAFS_OSTYPE@
84 AFS_PARAM_COMMON = @AFS_PARAM_COMMON@
85 MT_CC = @MT_CC@
86 MT_CFLAGS = @MT_CFLAGS@
87 MT_LIBS = @MT_LIBS@
88 MV = @MV@
89 NO_STRIP_BIN = @NO_STRIP_BIN@
90 OPTMZ = @OPTMZ@
91 PAM_CFLAGS = @PAM_CFLAGS@
92 PAM_LIBS = @PAM_LIBS@
93 PAM_OPTMZ = @PAM_OPTMZ@
94 PAM_DBG = @PAM_DBG@
95 PATH_CPP = @PATH_CPP@
96 RANLIB = @RANLIB@
97 REGEX_OBJ = @REGEX_OBJ@
98 REGEX_OBJ_PIC = @REGEX_OBJ_PIC@
99 RM = @RM@
100 RXDEBUG = @RXDEBUG@
101 RXGK_GSSAPI_LIBS = @RXGK_GSSAPI_LIBS@
102 ROKEN_HEADERS = @ROKEN_HEADERS@
103 ROKEN_LTLIBOBJS = @LTLIBOBJS@
104 SED = @SED@
105 SHLIB_CFLAGS = @SHLIB_CFLAGS@
106 SHLIB_LDFLAGS = @SHLIB_LDFLAGS@
107 SHLIB_LINKER = @SHLIB_LINKER@
108 SHLIB_SUFFIX = @SHLIB_SUFFIX@
109 SYS_NAME = @AFS_SYSNAME@
110 TOP_INCDIR = @TOP_INCDIR@
111 TOP_LIBDIR = @TOP_LIBDIR@
112 TOP_JLIBDIR= @TOP_JLIBDIR@
113 TOP_OBJDIR = @TOP_OBJDIR@
114 TOP_SRCDIR = @TOP_SRCDIR@
115 VPATH = ${srcdir}
116 XCFLAGS64 = @XCFLAGS64@
117 XCFLAGS = @XCFLAGS@
118 XLDFLAGS64 = @XLDFLAGS64@
119 XLDFLAGS = @XLDFLAGS@
120 XLIBELFA = @XLIBELFA@
121 XLIBKVM = @XLIBKVM@
122 XLIBS = @XLIBS@
123 YACC = @YACC@
124
125 #
126 # Install targets
127 #
128
129 INSTALL = @INSTALL@
130 INSTALL_DATA = @INSTALL_DATA@
131 INSTALL_PROGRAM = @INSTALL_PROGRAM@
132 INSTALL_SCRIPT = @INSTALL_SCRIPT@
133
134 #
135 # Special build targets
136 #
137 dest_XFS_SIZE_CHECK = @dest_XFS_SIZE_CHECK@
138 install_XFS_SIZE_CHECK = @install_XFS_SIZE_CHECK@
139 XFS_SIZE_CHECK = @XFS_SIZE_CHECK@
140 AIX32 = @AIX32@
141 AIX64 = @AIX64@
142
143 #
144 # Paths to build dirs
145 #
146 # Could be absolute, but leaving as relative for now
147 #UKERNELDIR = ${TOP_OBJDIR}/src/libuafs
148 #KERNELDIR = ${TOP_OBJDIR}/src/libafs
149 UKERNELDIR = ../libuafs
150 KERNELDIR = ../libafs
151
152 #
153 # Build helper apps
154 #
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) $(CCOBJ) $(CPPFLAGS_$(@)) $(LWP_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
233 LWP_CCRULE_NOQ=$(RUN_CC_NOQ) $(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) $(MT_CC) $(CPPFLAGS_$(@)) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
239 PTH_CCRULE_NOQ=$(RUN_CC_NOQ) $(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) $(MT_CC) $(CPPFLAGS_$(@)) $(SHD_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
245 SHD_CCRULE_NOQ=$(RUN_CC_NOQ) $(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               $(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                       $(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                  $(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                $(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 "$(CCOBJ)" \
281                  --mtcc "$(LIBTOOL) --quiet --mode=compile --tag=CC $(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                              $(MT_CC) $(PTH_LDFLAGS) $(PTH_CFLAGS) \
302                              $(LDFLAGS_$(@)) -o $@
303
304 LT_LDRULE_static = $(RUN_LD) $(LIBTOOL) --quiet --mode=link --tag=CC \
305                              $(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                              $(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) $(CC) $(AFS_LDFLAGS) $(AFS_CFLAGS) $(LDFLAGS_$(@)) -o $@
321 AFS_LDRULE_NOQ =$(RUN_LD_NOQ) $(CC) $(AFS_LDFLAGS) $(AFS_CFLAGS) $(LDFLAGS_$(@)) -o $@
322
323 RUN_CTFCONVERT=@RUN_CTFCONVERT() { \
324     CTFLABEL=$$1 ; \
325     CTFDBG=$$2 ; \
326     shift ; shift ; \
327     if test "x$${CTFDBG}" = "x" ; then exit 0; fi; \
328     if test "x${CTFCONVERT}" = "x" ; then exit 0; fi; \
329     if test "x${CTFMERGE}" = "x" ; then \
330         echo "refusing to run ctfconvert; missing ctfmerge"; \
331         exit 1; \
332     fi; \
333     for t in $$@ ; do \
334         echo "${CTFCONVERT} -g -l $${CTFLABEL} $$t"; \
335         ${CTFCONVERT} -g -l $${CTFLABEL} $$t; \
336     done ; \
337 } ; RUN_CTFCONVERT
338
339 RUN_CTFMERGE=@RUN_CTFMERGE () { \
340     CTFLABEL=$$1 ; \
341     CTFDBG=$$2 ; \
342     shift ; shift ; \
343     if test "x$${CTFDBG}" = "x" ; then exit 0; fi; \
344     if test "x${CTFMERGE}" = "x" ; then exit 0; fi; \
345     if test "x${CTFCONVERT}" = "x" ; then \
346         echo "refusing to run ctfmerge; missing ctfconvert"; \
347         exit 1; \
348     fi; \
349     echo "$(CTFMERGE) -g -l $${CTFLABEL} -o $$@"; \
350     $(CTFMERGE) -g -l $${CTFLABEL} -o $$@; \
351 } ; RUN_CTFMERGE
352