Add PIC variant for libuafs
[openafs.git] / src / util / Makefile.in
index 4a81136..3a620ce 100644 (file)
@@ -7,6 +7,8 @@
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
+include @TOP_OBJDIR@/src/config/Makefile.lwp
+
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -18,13 +20,40 @@ objects = assert.o base64.o casestrcpy.o config_file.o ktime.o volparse.o \
         hostparse.o exec.o \
         hputil.o kreltime.o isathing.o get_krbrlm.o uuid.o serverLog.o \
         dirpath.o fileutil.o netutils.o flipbase64.o fstab.o \
-        afs_atomlist.o afs_lhash.o snprintf.o strlcat.o strlcpy.o strnlen.o \
-        pthread_glock.o daemon.o ${REGEX_OBJ}
+        afs_atomlist.o afs_lhash.o snprintf.o pthread_glock.o \
+        tabular_output.o ${REGEX_OBJ}
+
+objects_pic = \
+       pic_assert.o \
+       pic_base64.o \
+       pic_casestrcpy.o \
+       pic_config_file.o \
+       pic_ktime.o \
+       pic_volparse.o \
+       pic_hostparse.o \
+       pic_exec.o \
+       pic_hputil.o \
+       pic_kreltime.o \
+       pic_isathing.o \
+       pic_get_krbrlm.o \
+       pic_uuid.o \
+       pic_serverLog.o \
+       pic_dirpath.o \
+       pic_fileutil.o \
+       pic_netutils.o \
+       pic_flipbase64.o \
+       pic_fstab.o \
+       pic_afs_atomlist.o \
+       pic_afs_lhash.o \
+       pic_snprintf.o \
+       pic_pthread_glock.o \
+       pic_tabular_output.o \
+       ${REGEX_OBJ_PIC}
 
 includes = \
        ${TOP_INCDIR}/afs/dirpath.h \
        ${TOP_INCDIR}/afs/pthread_nosigs.h \
-       ${TOP_INCDIR}/afs/assert.h \
+       ${TOP_INCDIR}/afs/afs_assert.h \
        ${TOP_INCDIR}/afs/errors.h \
        ${TOP_INCDIR}/afs/vice.h \
        ${TOP_INCDIR}/afs/remote.h \
@@ -42,11 +71,13 @@ includes = \
        ${TOP_INCDIR}/afs/work_queue_types.h \
        ${TOP_INCDIR}/afs/thread_pool.h \
        ${TOP_INCDIR}/afs/thread_pool_types.h \
-       ${TOP_INCDIR}/potpourri.h 
+       ${TOP_INCDIR}/afs/tabular_output.h \
+       ${TOP_INCDIR}/opr/queue.h
 
 all: ${includes} \
        ${TOP_LIBDIR}/util.a \
        ${TOP_LIBDIR}/libafsutil.a \
+       ${TOP_LIBDIR}/libafsutil_pic.a \
        sys
 
 buildtools: ${TOP_LIBDIR}/libafsutil.a ${TOP_INCDIR}/afs/afsutil.h
@@ -60,7 +91,7 @@ ${TOP_INCDIR}/afs/dirpath.h: dirpath.h
 ${TOP_INCDIR}/afs/pthread_nosigs.h: ${srcdir}/pthread_nosigs.h
        ${INSTALL_DATA} $? $@
 
-${TOP_INCDIR}/afs/assert.h: ${srcdir}/assert.h
+${TOP_INCDIR}/afs/afs_assert.h: ${srcdir}/afs_assert.h
        ${INSTALL_DATA} $? $@
 
 ${TOP_INCDIR}/afs/errors.h: ${srcdir}/errors.h
@@ -114,15 +145,24 @@ ${TOP_INCDIR}/afs/thread_pool.h: ${srcdir}/thread_pool.h
 ${TOP_INCDIR}/afs/thread_pool_types.h: ${srcdir}/thread_pool_types.h
        ${INSTALL_DATA} $? $@
 
+${TOP_INCDIR}/afs/tabular_output.h: ${srcdir}/tabular_output.h
+       ${INSTALL_DATA} $? $@
+
 ${TOP_INCDIR}/potpourri.h: ${srcdir}/potpourri.h
        ${INSTALL_DATA} $? $@
 
+${TOP_INCDIR}/opr/queue.h: ${srcdir}/queue.h
+       ${INSTALL_DATA} $? $@
+
 ${TOP_LIBDIR}/util.a: util.a
        ${INSTALL_DATA} $? $@
 
 ${TOP_LIBDIR}/libafsutil.a: util.a
        ${INSTALL_DATA} $? $@
 
+${TOP_LIBDIR}/libafsutil_pic.a: util_pic.a
+       ${INSTALL_DATA} $? $@
+
 # Use " as the sed boundary character because we lose anyway if that occurs
 # in path names.
 dirpath.h: ${srcdir}/dirpath.hin Makefile
@@ -148,92 +188,129 @@ util.a: ${objects} AFS_component_version_number.o
        $(AR) crv util.a ${objects} AFS_component_version_number.o
        $(RANLIB) util.a
 
+util_pic.a: ${objects_pic} AFS_component_version_number_pic.o
+       $(RM) -f util_pic.a
+       $(AR) crv util_pic.a ${objects_pic} AFS_component_version_number_pic.o
+       $(RANLIB) util_pic.a
+
 pthread_glock.o: ${srcdir}/pthread_glock.c ${includes}
-       ${MT_CC} ${CFLAGS} ${MT_CFLAGS} -c ${srcdir}/pthread_glock.c
+       ${MT_CC} $(COMMON_CFLAGS) ${MT_CFLAGS} -c ${srcdir}/pthread_glock.c
 
-assert.o: ${srcdir}/assert.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/assert.c
+${objects}: ${includes}
 
-casestrcpy.o: ${srcdir}/casestrcpy.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/casestrcpy.c
+CFLAGS_AFS_component_version_number_pic.o = -fPIC
+AFS_component_version_number_pic.o: AFS_component_version_number.c
+       $(AFS_CCRULE) AFS_component_version_number.c
 
-hputil.o: ${srcdir}/hputil.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/hputil.c
+config_file.o: ${TOP_SRCDIR}/external/heimdal/krb5/config_file.c krb5_locl.h
+       $(AFS_CCRULE) -c ${TOP_SRCDIR}/external/heimdal/krb5/config_file.c 
 
-flipbase64.o: ${srcdir}/flipbase64.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/flipbase64.c
+sys.o: sys.c AFS_component_version_number.c ${includes}
 
-volparse.o: ${srcdir}/volparse.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/volparse.c
+sys: sys.o 
+       $(AFS_LDRULE) sys.o
 
-snprintf.o: ${srcdir}/snprintf.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/snprintf.c
+# PIC objects build rules
+PICFLAGS = -fPIC
+CFLAGS_assert.o = $(PICFLAGS)
+pic_assert.o: ${srcdir}/assert.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/assert.c
 
-fstab.o: ${srcdir}/fstab.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/fstab.c
+CFLAGS_base64.o = $(PICFLAGS)
+pic_base64.o: ${srcdir}/base64.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/base64.c
 
-base64.o: ${srcdir}/base64.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/base64.c
+CFLAGS_casestrcpy.o = $(PICFLAGS)
+pic_casestrcpy.o: ${srcdir}/casestrcpy.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/casestrcpy.c
 
-config_file.o: ${TOP_SRCDIR}/external/heimdal/krb5/config_file.c krb5_locl.h
-       ${CCOBJ} ${CFLAGS} -c ${TOP_SRCDIR}/external/heimdal/krb5/config_file.c
+CFLAGS_config_file.o = $(PICFLAGS)
+pic_config_file.o: ${TOP_SRCDIR}/external/heimdal/krb5/config_file.c krb5_locl.h
+       $(AFS_CCRULE) ${TOP_SRCDIR}/external/heimdal/krb5/config_file.c
 
-hostparse.o: ${srcdir}/hostparse.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/hostparse.c
+CFLAGS_ktime.o = $(PICFLAGS)
+pic_ktime.o: ${srcdir}/ktime.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/ktime.c
 
-exec.o: ${srcdir}/exec.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/exec.c
+CFLAGS_volparse.o = $(PICFLAGS)
+pic_volparse.o: ${srcdir}/volparse.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/volparse.c
 
-ktime.o: ${srcdir}/ktime.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/ktime.c
+CFLAGS_hostparse.o = $(PICFLAGS)
+pic_hostparse.o: ${srcdir}/hostparse.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/hostparse.c
 
-kreltime.o: ${srcdir}/kreltime.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/kreltime.c
+CFLAGS_exec.o = $(PICFLAGS)
+pic_exec.o: ${srcdir}/exec.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/exec.c
 
-get_krbrlm.o: ${srcdir}/get_krbrlm.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/get_krbrlm.c
+CFLAGS_hputil.o = $(PICFLAGS)
+pic_hputil.o: ${srcdir}/hputil.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/hputil.c
 
-uuid.o: ${srcdir}/uuid.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/uuid.c
+CFLAGS_kreltime.o = $(PICFLAGS)
+pic_kreltime.o: ${srcdir}/kreltime.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/kreltime.c
 
-sys.o: ${srcdir}/sys.c AFS_component_version_number.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/sys.c
+CFLAGS_isathing.o = $(PICFLAGS)
+pic_isathing.o: ${srcdir}/isathing.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/isathing.c
 
-sys: sys.o 
-       ${CC} ${LDFLAGS} -o sys sys.o
+CFLAGS_get_krbrlm.o = $(PICFLAGS)
+pic_get_krbrlm.o: ${srcdir}/get_krbrlm.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/get_krbrlm.c
+
+CFLAGS_uuid.o = $(PICFLAGS)
+pic_uuid.o: ${srcdir}/uuid.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/uuid.c
+
+CFLAGS_serverLog.o = $(PICFLAGS)
+pic_serverLog.o: ${srcdir}/serverLog.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/serverLog.c
 
-isathing.o: ${srcdir}/isathing.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/isathing.c
+CFLAGS_dirpath.o = $(PICFLAGS)
+pic_dirpath.o: ${srcdir}/dirpath.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/dirpath.c
 
-serverLog.o: ${srcdir}/serverLog.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/serverLog.c
+CFLAGS_fileutil.o = $(PICFLAGS)
+pic_fileutil.o: ${srcdir}/fileutil.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/fileutil.c
 
-dirpath.o: ${srcdir}/dirpath.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/dirpath.c
+CFLAGS_netutils.o = $(PICFLAGS)
+pic_netutils.o: ${srcdir}/netutils.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/netutils.c
 
-fileutil.o: ${srcdir}/fileutil.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/fileutil.c
+CFLAGS_flipbase64.o = $(PICFLAGS)
+pic_flipbase64.o: ${srcdir}/flipbase64.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/flipbase64.c
 
-netutils.o: ${srcdir}/netutils.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/netutils.c
+CFLAGS_fstab.o = $(PICFLAGS)
+pic_fstab.o: ${srcdir}/fstab.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/fstab.c
 
-afs_atomlist.o: ${srcdir}/afs_atomlist.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/afs_atomlist.c
+CFLAGS_afs_atomlist.o = $(PICFLAGS)
+pic_afs_atomlist.o: ${srcdir}/afs_atomlist.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/afs_atomlist.c
 
-afs_lhash.o: ${srcdir}/afs_lhash.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/afs_lhash.c
+CFLAGS_afs_lhash.o = $(PICFLAGS)
+pic_afs_lhash.o: ${srcdir}/afs_lhash.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/afs_lhash.c
 
-strlcat.o: ${srcdir}/strlcat.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/strlcat.c
+CFLAGS_snprintf.o = $(PICFLAGS)
+pic_snprintf.o: ${srcdir}/snprintf.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/snprintf.c
 
-strlcpy.o: ${srcdir}/strlcpy.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/strlcpy.c
+CFLAGS_pthread_glock.o = $(PICFLAGS)
+pic_pthread_glock.o: ${srcdir}/pthread_glock.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/pthread_glock.c
 
-strnlen.o: ${srcdir}/strnlen.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/strnlen.c
+CFLAGS_tabular_output.o = $(PICFLAGS)
+pic_tabular_output.o: ${srcdir}/tabular_output.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/tabular_output.c
 
-daemon.o: ${srcdir}/daemon.c ${includes}
-       ${CCOBJ} ${CFLAGS} -c ${srcdir}/daemon.c
+CFLAGS_regex.o = $(PICFLAGS)
+pic_regex.o: ${srcdir}/regex.c ${includes}
+       $(AFS_CCRULE) ${srcdir}/regex.c
 
 #
 # Install targets
@@ -241,13 +318,13 @@ daemon.o: ${srcdir}/daemon.c ${includes}
 KDIR=../libafs/afs
 UKDIR=../libuafs/afs
 
-install: dirpath.h util.a sys
+install: dirpath.h util.a util_pic.a sys
        ${INSTALL} -d ${DESTDIR}${includedir}/afs
        ${INSTALL} -d ${DESTDIR}${libdir}/afs
        ${INSTALL} -d ${DESTDIR}${bindir}
        ${INSTALL_DATA} dirpath.h ${DESTDIR}${includedir}/afs/dirpath.h
        ${INSTALL_DATA} ${srcdir}/pthread_nosigs.h ${DESTDIR}${includedir}/afs/pthread_nosigs.h
-       ${INSTALL_DATA} ${srcdir}/assert.h ${DESTDIR}${includedir}/afs/assert.h
+       ${INSTALL_DATA} ${srcdir}/afs_assert.h ${DESTDIR}${includedir}/afs/afs_assert.h
        ${INSTALL_DATA} ${srcdir}/errors.h ${DESTDIR}${includedir}/afs/errors.h
        ${INSTALL_DATA} ${srcdir}/vice.h ${DESTDIR}${includedir}/afs/vice.h
        ${INSTALL_DATA} ${srcdir}/remote.h ${DESTDIR}${includedir}/afs/remote.h
@@ -265,18 +342,19 @@ install: dirpath.h util.a sys
        ${INSTALL_DATA} ${srcdir}/work_queue_types.h ${DESTDIR}${includedir}/afs/work_queue_types.h
        ${INSTALL_DATA} ${srcdir}/thread_pool.h ${DESTDIR}${includedir}/afs/thread_pool.h
        ${INSTALL_DATA} ${srcdir}/thread_pool_types.h ${DESTDIR}${includedir}/afs/thread_pool_types.h
-       ${INSTALL_DATA} ${srcdir}/potpourri.h ${DESTDIR}${includedir}/potpourri.h
+       ${INSTALL_DATA} ${srcdir}/tabular_output.h ${DESTDIR}${includedir}/afs/tabular_output.h
        ${INSTALL_DATA} util.a ${DESTDIR}${libdir}/afs/util.a
        ${INSTALL_DATA} util.a ${DESTDIR}${libdir}/afs/libafsutil.a
+       ${INSTALL_DATA} util_pic.a ${DESTDIR}${libdir}/afs/libafsutil_pic.a
        ${INSTALL_PROGRAM} sys ${DESTDIR}${bindir}/sys
 
-dest: dirpath.h util.a sys
+dest: dirpath.h util.a util_pic.a sys
        ${INSTALL} -d ${DEST}/include/afs
        ${INSTALL} -d ${DEST}/lib/afs
        ${INSTALL} -d ${DEST}/bin
        ${INSTALL_DATA} dirpath.h ${DEST}/include/afs/dirpath.h
        ${INSTALL_DATA} ${srcdir}/pthread_nosigs.h ${DEST}/include/afs/pthread_nosigs.h
-       ${INSTALL_DATA} ${srcdir}/assert.h ${DEST}/include/afs/assert.h
+       ${INSTALL_DATA} ${srcdir}/afs_assert.h ${DEST}/include/afs/afs_assert.h
        ${INSTALL_DATA} ${srcdir}/errors.h ${DEST}/include/afs/errors.h
        ${INSTALL_DATA} ${srcdir}/vice.h ${DEST}/include/afs/vice.h
        ${INSTALL_DATA} ${srcdir}/remote.h ${DEST}/include/afs/remote.h
@@ -294,9 +372,10 @@ dest: dirpath.h util.a sys
        ${INSTALL_DATA} ${srcdir}/work_queue_types.h ${DEST}/include/afs/work_queue_types.h
        ${INSTALL_DATA} ${srcdir}/thread_pool.h ${DEST}/include/afs/thread_pool.h
        ${INSTALL_DATA} ${srcdir}/thread_pool_types.h ${DEST}/include/afs/thread_pool_types.h
-       ${INSTALL_DATA} ${srcdir}/potpourri.h ${DEST}/include/potpourri.h
+       ${INSTALL_DATA} ${srcdir}/tabular_output.h ${DEST}/include/afs/tabular_output.h
        ${INSTALL_DATA} util.a ${DEST}/lib/afs/util.a
        ${INSTALL_DATA} util.a ${DEST}/lib/afs/libafsutil.a
+       ${INSTALL_DATA} util_pic.a ${DEST}/lib/afs/libafsutil_pic.a
        ${INSTALL_PROGRAM} sys ${DEST}/bin/sys
 
 #
@@ -305,7 +384,7 @@ dest: dirpath.h util.a sys
 
 clean:
        $(RM) -f ${objects} sys dirpath.h
-       $(RM) -f util.a *.o core AFS_component_version_number.c
+       $(RM) -f util.a util_pic.a *.o core AFS_component_version_number.c
 
 test:
        cd test; $(MAKE)