GENCAT = @GENCAT@
INCLUDE_LIBINTL = @INCLUDE_libintl@
KERN_DBG = @KERN_DBG@
+CTFCONVERT = @CTFCONVERT@
+CTFMERGE = @CTFMERGE@
KERN_OPTMZ = @KERN_OPTMZ@
LD = @LD@
LDFLAGS_roken = @LDFLAGS_roken@
LDFLAGS_hcrypto = @LDFLAGS_hcrypto@
LDFLAGS_krb5 = @KRB5_LDFLAGS@
+CPPFLAGS_gssapi = @GSSAPI_CPPFLAGS@
LEX = @LEX@
LIB_AFSDB = @LIB_AFSDB@
LIB_crypt = @LIB_crypt@
LIB_curses = @LIB_curses@
LIB_hcrypto = @LIB_hcrypto@
LIB_roken = @LIB_roken@
+buildtool_roken = @buildtool_roken@
LIB_krb5 = @KRB5_LIBS@
+LIB_gssapi = @GSSAPI_LIBS@
LIBTOOL= @LIBTOOL@
LIBS = @LIBS@
LIB_LIBINTL = @LIB_libintl@
RM = @RM@
RXDEBUG = @RXDEBUG@
ROKEN_HEADERS = @ROKEN_HEADERS@
-ROKEN_LIBOBJS = @LIBOBJS@
+ROKEN_LTLIBOBJS = @LTLIBOBJS@
+SED = @SED@
SHLIB_CFLAGS = @SHLIB_CFLAGS@
SHLIB_LDFLAGS = @SHLIB_LDFLAGS@
SHLIB_LINKER = @SHLIB_LINKER@
RUN_LD_NOQ=$(RUN_LD_NOQ_V$(V))
#
+# Generate error table header and the source files independently for
+# parallel make.
+#
+COMPILE_ET_H=${COMPILE_ET} -emit h
+COMPILE_ET_C=${COMPILE_ET} -emit c
+
+#
# Common/standard cflags/paths/etc
# Cflags defaults, will be overridden later if necessary
#
COMMON_LDFLAGS=$(LDFLAGS) $(LDFLAGS_hcrypto) $(LDFLAGS_roken) $(DBG) $(OPTMZ)
# LWP Flags
-LWP_CFLAGS=$(COMMON_CFLAGS) $(MODULE_CFLAGS)
-LWP_LDFLAGS=$(COMMON_LDFLAGS) $(MODULE_LDFLAGS) $(XLDFLAGS) $(ARCHFLAGS)
-LWP_CCRULE =$(RUN_CC) $(CCOBJ) $(LWP_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
-LWP_CCRULE_NOQ=$(RUN_CC_NOQ) $(CCOBJ) $(LWP_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
+LWP_CFLAGS=$(MODULE_CFLAGS) $(COMMON_CFLAGS)
+LWP_LDFLAGS=$(MODULE_LDFLAGS) $(COMMON_LDFLAGS) $(XLDFLAGS) $(ARCHFLAGS)
+LWP_CCRULE =$(RUN_CC) $(CCOBJ) $(CPPFLAGS_$(@)) $(LWP_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
+LWP_CCRULE_NOQ=$(RUN_CC_NOQ) $(CCOBJ) $(CPPFLAGS_$(@)) $(LWP_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
# Pthreaded
-PTH_CFLAGS=$(COMMON_CFLAGS) $(MODULE_CFLAGS) $(MT_CFLAGS)
-PTH_LDFLAGS=$(COMMON_LDFLAGS) $(MODULE_LDFLAGS) $(MT_LDFLAGS)
-PTH_CCRULE =$(RUN_CC) $(MT_CC) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
-PTH_CCRULE_NOQ=$(RUN_CC_NOQ) $(MT_CC) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
+PTH_CFLAGS=$(MODULE_CFLAGS) $(COMMON_CFLAGS) $(MT_CFLAGS)
+PTH_LDFLAGS=$(MODULE_LDFLAGS) $(COMMON_LDFLAGS) $(MT_LDFLAGS)
+PTH_CCRULE =$(RUN_CC) $(MT_CC) $(CPPFLAGS_$(@)) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
+PTH_CCRULE_NOQ=$(RUN_CC_NOQ) $(MT_CC) $(CPPFLAGS_$(@)) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
# Shared
-SHD_CFLAGS=$(COMMON_CFLAGS) $(MODULE_CFLAGS) $(MT_CFLAGS) $(SHLIB_CFLAGS)
-SHD_LDFLAGS=$(COMMON_LDFLAGS) $(MODULE_LDFLAGS) $(SHLIB_LDFLAGS)
-SHD_CCRULE =$(RUN_CC) $(MT_CC) $(SHD_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
-SHD_CCRULE_NOQ=$(RUN_CC_NOQ) $(MT_CC) $(SHD_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
+SHD_CFLAGS=$(MODULE_CFLAGS) $(COMMON_CFLAGS) $(MT_CFLAGS) $(SHLIB_CFLAGS)
+SHD_LDFLAGS=$(MODULE_LDFLAGS) $(COMMON_LDFLAGS) $(SHLIB_LDFLAGS)
+SHD_CCRULE =$(RUN_CC) $(MT_CC) $(CPPFLAGS_$(@)) $(SHD_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
+SHD_CCRULE_NOQ=$(RUN_CC_NOQ) $(MT_CC) $(CPPFLAGS_$(@)) $(SHD_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
# Libtool - for objects that are part of pthread-only libraries
LT_CCRULE=$(RUN_CC) $(LIBTOOL) --quiet --mode=compile --tag=CC \
- $(MT_CC) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
+ $(MT_CC) $(CPPFLAGS_$(@)) $(PTH_CFLAGS) $(CFLAGS_$(@)) -o $@ -c
LT_current=0
LT_revision=0
LT_age=0
# Basic rule to link a shared library.
-LT_LDLIB_shlib=$(LIBTOOL) --quiet --mode=link --tag=CC \
- $(MT_CC) -rpath $(libdir) \
- $(PTH_LDFLAGS) $(PTH_CFLAGS) $(LDFLAGS_$(@)) \
- -o $@ \
- -no-undefined \
- -export-symbols $@.sym \
- -version-info=$(LT_current):$(LT_revision):$(LT_age)
+LT_LDLIB_shlib_common=$(LIBTOOL) --quiet --mode=link --tag=CC \
+ $(MT_CC) -rpath $(libdir) \
+ $(PTH_LDFLAGS) $(PTH_CFLAGS) $(LDFLAGS_$(@)) \
+ -o $@ \
+ -version-info $(LT_current):$(LT_revision):$(LT_age)
+
+LT_LDLIB_shlib=$(LT_LDLIB_shlib_common) -export-symbols $(srcdir)/$@.sym
+LT_LDLIB_shlib_missing=$(LT_LDLIB_shlib_common) -export-symbols-regex \
+ "($$(sed -e 's/^/^/' -e 's/$$/$$/' $(srcdir)/$@.sym | tr '\n' '|' | \
+ sed -e 's/|$$//'))"
# Link a static convenience library (contains no PIC code)
LT_LDLIB_static=$(LIBTOOL) --quiet --mode=link --tag=CC \
--mtcc "$(LIBTOOL) --quiet --mode=compile --tag=CC $(MT_CC) $(MT_CFLAGS)" \
-o $@ \
-- \
- $(COMMON_CFLAGS) $(MODULE_CFLAGS) $(CFLAGS_$(@)) \
+ $(CPPFLAGS_$(@)) $(MODULE_CFLAGS) $(COMMON_CFLAGS) $(CFLAGS_$(@)) \
-c
LT_LDLIB_lwp=$(RUN_LD) $(LWPTOOL) --mode link \
$(MT_CC) -static $(PTH_LDFLAGS) $(PTH_CFLAGS) \
$(LDFLAGS_$(@)) -o $@
+LT_LDRULE_static_NOQ = $(RUN_LD_NOQ) $(LIBTOOL) --quiet --mode=link --tag=CC \
+ $(MT_CC) -static $(PTH_LDFLAGS) $(PTH_CFLAGS) \
+ $(LDFLAGS_$(@)) -o $@
+
LT_INSTALL_DATA=$(LIBTOOL) --quiet --mode=install $(INSTALL_DATA)
LT_INSTALL_PROGRAM=$(LIBTOOL) --quiet --mode=install $(INSTALL_PROGRAM)
AFS_LDRULE =$(RUN_LD) $(CC) $(AFS_LDFLAGS) $(AFS_CFLAGS) $(LDFLAGS_$(@)) -o $@
AFS_LDRULE_NOQ =$(RUN_LD_NOQ) $(CC) $(AFS_LDFLAGS) $(AFS_CFLAGS) $(LDFLAGS_$(@)) -o $@
+RUN_CTFCONVERT=@RUN_CTFCONVERT() { \
+ CTFLABEL=$$1 ; \
+ CTFDBG=$$2 ; \
+ shift ; shift ; \
+ if test "x$${CTFDBG}" = "x" ; then exit 0; fi; \
+ if test "x${CTFCONVERT}" = "x" ; then exit 0; fi; \
+ if test "x${CTFMERGE}" = "x" ; then \
+ echo "refusing to run ctfconvert; missing ctfmerge"; \
+ exit 1; \
+ fi; \
+ for t in $$@ ; do \
+ echo "${CTFCONVERT} -g -l $${CTFLABEL} $$t"; \
+ ${CTFCONVERT} -g -l $${CTFLABEL} $$t; \
+ done ; \
+} ; RUN_CTFCONVERT
+
+RUN_CTFMERGE=@RUN_CTFMERGE () { \
+ CTFLABEL=$$1 ; \
+ CTFDBG=$$2 ; \
+ shift ; shift ; \
+ if test "x$${CTFDBG}" = "x" ; then exit 0; fi; \
+ if test "x${CTFMERGE}" = "x" ; then exit 0; fi; \
+ if test "x${CTFCONVERT}" = "x" ; then \
+ echo "refusing to run ctfmerge; missing ctfconvert"; \
+ exit 1; \
+ fi; \
+ echo "$(CTFMERGE) -g -l $${CTFLABEL} -o $$@"; \
+ $(CTFMERGE) -g -l $${CTFLABEL} -o $$@; \
+} ; RUN_CTFMERGE
+