Fix strict aliasing problems or add -fno-strict-aliasing
[openafs.git] / src / ptserver / Makefile.in
index 5df68fd..aab2fee 100644 (file)
@@ -6,8 +6,11 @@
 # directory or online at http://www.openafs.org/dl/license10.html
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
 
-CFLAGS=-I. -I${srcdir} $(DBUG) -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS}
 INCLS=${TOP_INCDIR}/ubik.h \
        ${TOP_INCDIR}/lock.h  \
        ${TOP_INCDIR}/lwp.h \
@@ -15,7 +18,7 @@ INCLS=${TOP_INCDIR}/ubik.h \
        ${TOP_INCDIR}/rx/xdr.h \
        ${TOP_INCDIR}/afs/keys.h \
        ${TOP_INCDIR}/afs/cellconfig.h \
-       ptserver.h ptclient.h ptint.h ptopcodes.h pterror.h
+       ptserver.h ptclient.h ptuser.h ptint.h pterror.h map.h ptprototypes.h
 
 LINCLS=${TOP_INCDIR}/ubik.h \
        ${TOP_INCDIR}/lock.h \
@@ -24,7 +27,7 @@ LINCLS=${TOP_INCDIR}/ubik.h \
        ${TOP_INCDIR}/rx/rxkad.h \
        ${TOP_INCDIR}/afs/auth.h \
        ${TOP_INCDIR}/afs/cellconfig.h \
-       ptclient.h ptint.h pterror.h
+       ptclient.h ptuser.h ptint.h pterror.h
 
 LIBS=${TOP_LIBDIR}/libubik.a \
        ${TOP_LIBDIR}/libauth.a \
@@ -33,62 +36,112 @@ LIBS=${TOP_LIBDIR}/libubik.a \
        ${TOP_LIBDIR}/librx.a \
        ${TOP_LIBDIR}/liblwp.a \
        ${TOP_LIBDIR}/libdes.a \
+       ${TOP_LIBDIR}/libcmd.a \
        ${TOP_LIBDIR}/libcom_err.a \
-       ${TOP_LIBDIR}/util.a \
-       ${TOP_LIBDIR}/libsys.a
+       ${TOP_LIBDIR}/libsys.a \
+       ${TOP_LIBDIR}/libafsutil.a
 
 
-all: ukinstall ptserver pts pt_util db_verify ${TOP_LIBDIR}/libprot.a ${TOP_INCDIR}/afs/prclient.h ${TOP_INCDIR}/afs/prerror.h ${TOP_INCDIR}/afs/print.h ${TOP_INCDIR}/afs/prserver.h ${TOP_INCDIR}/afs/ptclient.h ${TOP_INCDIR}/afs/pterror.h ${TOP_INCDIR}/afs/ptint.h ${TOP_INCDIR}/afs/ptserver.h readgroup readpwd testpt
+all: ptserver pts pt_util db_verify ${TOP_LIBDIR}/libprot.a \
+       depinstall readgroup readpwd testpt
+
+depinstall: \
+       ptint.cs.c ptint.xdr.c \
+       ${TOP_INCDIR}/afs/prclient.h \
+       ${TOP_INCDIR}/afs/prerror.h \
+       ${TOP_INCDIR}/afs/print.h \
+       ${TOP_INCDIR}/afs/prserver.h \
+       ${TOP_INCDIR}/afs/ptclient.h \
+       ${TOP_INCDIR}/afs/ptuser.h \
+       ${TOP_INCDIR}/afs/pterror.h \
+       ${TOP_INCDIR}/afs/ptint.h \
+       ${TOP_INCDIR}/afs/ptserver.h
+
+${TOP_LIBDIR}/libprot.a: libprot.a
+       ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/prclient.h: ptclient.h
+       ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/prerror.h: pterror.h
+       ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/print.h: ptint.h
+       ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/prserver.h: ptserver.h
+       ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/ptclient.h: ptclient.h
+       ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/ptuser.h: ptuser.h
+       ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/pterror.h: pterror.h
+       ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/ptint.h: ptint.h
+       ${INSTALL_DATA} $? $@
+
+${TOP_INCDIR}/afs/ptserver.h: ptserver.h
+       ${INSTALL_DATA} $? $@
 
 #
 # Build targets
 #
-ptserver: ptserver.o ptutils.o ptprocs.o ptint.ss.o ptint.xdr.o utils.o $(LIBS) ${TOP_LIBDIR}/libaudit.a
-       $(CC) ${CFLAGS} -o ptserver ptserver.o ptutils.o ptprocs.o ptint.ss.o ptint.xdr.o utils.o $(LIBS) ${XLIBS} ${TOP_LIBDIR}/libaudit.a
+ptserver: ptserver.o ptutils.o ptprocs.o ptint.ss.o ptint.xdr.o utils.o $(LIBS) ${TOP_LIBDIR}/libaudit.a map.o
+       $(CC) ${CFLAGS} -o ptserver ptserver.o ptutils.o ptprocs.o ptint.ss.o ptint.xdr.o utils.o map.o $(LIBS) ${XLIBS} ${TOP_LIBDIR}/libaudit.a
 
 ptserver.o: ptserver.c ${INCLS} AFS_component_version_number.c
 
+# When supergroups is enabled, some parts of ptserver cast between
+# incompatible structs.
 ptutils.o: ptutils.c ${INCLS}
+       $(CCOBJ) $(CFLAGS) @CFLAGS_NOSTRICT@ -c ptutils.c
 
 ptprocs.o: ptprocs.c ${INCLS}
+       $(CCOBJ) $(CFLAGS) @CFLAGS_NOSTRICT@ -c ptprocs.c
 
 utils.o: utils.c ${INCLS} 
 
+map.o: map.c ${INCLS}
+
 ptint.ss.o: ptint.ss.c ptint.xdr.c ptint.xg
 ptint.cs.o: ptint.cs.c ptint.xdr.c ptint.xg
 ptint.xdr.o: ptint.xdr.c ptint.h ptint.xg
 
 ptint.cs.c: ptint.xg
-       ${RXGEN} -x -C -o $@ ${srcdir}/ptint.xg
+       ${RXGEN} -A -x -C -u -o $@ ${srcdir}/ptint.xg
 
 ptint.ss.c: ptint.xg
-       ${RXGEN} -x -S -o $@ ${srcdir}/ptint.xg
+       ${RXGEN} -A -x -S -o $@ ${srcdir}/ptint.xg
 
 ptint.xdr.c: ptint.xg
-       ${RXGEN} -x -c -o $@ ${srcdir}/ptint.xg
+       ${RXGEN} -A -x -c -o $@ ${srcdir}/ptint.xg
 
 ptint.h: ptint.xg
-       ${RXGEN} -x -h -o $@ ${srcdir}/ptint.xg
+       ${RXGEN} -A -x -h -u -o $@ ${srcdir}/ptint.xg
 
 ptint.cs.c: ptint.h
 ptint.ss.c: ptint.h
 ptint.xdr.c: ptint.h
 
 Kptint.cs.c: ptint.xg Kptint.h
-       ${RXGEN} -x -k -C -o Kptint.cs.c ${srcdir}/ptint.xg
+       ${RXGEN} -A -x -k -C -o Kptint.cs.c ${srcdir}/ptint.xg
+
 Kptint.xdr.c: ptint.xg
-       ${RXGEN} -x -k -c -o Kptint.xdr.c ${srcdir}/ptint.xg
+       ${RXGEN} -A -x -k -c -o Kptint.xdr.c ${srcdir}/ptint.xg
+
 Kptint.h: ptint.xg
-       ${RXGEN} -x -k -h -o Kptint.h ${srcdir}/ptint.xg
+       ${RXGEN} -A -x -k -h -o Kptint.h ${srcdir}/ptint.xg
 
 display.o: display.c ${INCLS}
 
 db_verify.o: db_verify.c ${INCLS} AFS_component_version_number.c
 
 db_verify: db_verify.o pterror.o display.o $(LIBS)
-       $(CC) ${CFLAGS} -o db_verify db_verify.o display.o pterror.o $(LIBS) ${XLIBS} ${TOP_LIBDIR}/libcmd.a
+       $(CC) ${CFLAGS} -o db_verify db_verify.o display.o pterror.o $(LIBS) ${XLIBS}
 
 ptclient: ptclient.o display.o libprot.a $(LIBS)
        $(CC) ${CFLAGS} -o ptclient ptclient.o display.o libprot.a $(LIBS) ${XLIBS}
@@ -123,7 +176,7 @@ readpwd.o: readpwd.c ${LINCLS} AFS_component_version_number.c
 
 testpt: testpt.o libprot.a ${TOP_LIBDIR}/libcmd.a $(LIBS)
        case "$(SYS_NAME)" in \
-       ppc_darwin_12 ) \
+       *_darwin_12 ) \
                $(CC) ${CFLAGS} -o testpt testpt.o ${TOP_LIBDIR}/libcmd.a libprot.a $(LIBS) ;; \
        * ) \
                $(CC) ${CFLAGS} -o testpt testpt.o -lm ${TOP_LIBDIR}/libcmd.a libprot.a $(LIBS) ${XLIBS} ;; \
@@ -131,109 +184,64 @@ testpt: testpt.o libprot.a ${TOP_LIBDIR}/libcmd.a $(LIBS)
 
 testpt.o: testpt.c ${INCLS} ${TOP_INCDIR}/afs/cmd.h AFS_component_version_number.c
 
-pt_util: pt_util.o ptutils.o ubik.o utils.o libprot.a $(LIBS)
-       $(CC) ${CFLAGS} -o pt_util pt_util.o ptutils.o ubik.o utils.o libprot.a $(LIBS) ${XLIBS}
+pt_util: pt_util.o ptutils.o ubik.o utils.o map.o libprot.a $(LIBS)
+       $(CC) ${CFLAGS} -o pt_util pt_util.o ptutils.o ubik.o utils.o map.o libprot.a ${TOP_LIBDIR}/libcmd.a $(LIBS) ${XLIBS}
 
 ubik.o: ubik.c ${INCLS}
 
 prerror.h: pterror.h
-       ${INSTALL} $? $@
+       ${INSTALL_DATA} $? $@
        echo '#define ERROR_TABLE_BASE_pr ERROR_TABLE_BASE_PT' >> $@
 
 #
 # Installation targets
 #
-ukinstall: ${UKERNELDIR}/afs \
-       ${UKERNELDIR}/afsint/ptint.h \
-       ${UKERNELDIR}/afsint/ptint.cs.c \
-       ${UKERNELDIR}/afsint/ptint.xdr.c \
-       ${UKERNELDIR}/afs/ptuser.c \
-       ${UKERNELDIR}/afs/ptclient.h \
-       ${UKERNELDIR}/afs/pterror.c \
-       ${UKERNELDIR}/afs/pterror.h \
-       ${UKERNELDIR}/afs/ptserver.h
-
-install: \
-       ${DESTDIR}${afssrvlibexecdir}/ptserver \
-       ${DESTDIR}${afssrvbindir}/pts \
-       ${DESTDIR}${bindir}/pts \
-       ${DESTDIR}${afssrvsbindir}/pt_util \
-       ${DESTDIR}${afssrvsbindir}/prdb_check \
-       ${DESTDIR}${libdir}/afs/libprot.a \
-       ${DESTDIR}${includedir}/afs/prclient.h \
-       ${DESTDIR}${includedir}/afs/prerror.h \
-       ${DESTDIR}${includedir}/afs/print.h \
-       ${DESTDIR}${includedir}/afs/prserver.h \
-       ${DESTDIR}${includedir}/afs/ptclient.h \
-       ${DESTDIR}${includedir}/afs/pterror.h \
-       ${DESTDIR}${includedir}/afs/ptint.h \
-       ${DESTDIR}${includedir}/afs/ptserver.h
-
-${UKERNELDIR}/afs:
-       mkdir -p $@
-
-${UKERNELDIR}/afs/ptuser.c: ptuser.c
-       ${INSTALL} $? $@
-
-${UKERNELDIR}/afs/ptclient.h: ptclient.h
-       ${INSTALL} $? $@
-
-${UKERNELDIR}/afs/pterror.c: pterror.c
-       ${INSTALL} $? $@
-
-${UKERNELDIR}/afs/pterror.h: pterror.h
-       ${INSTALL} $? $@
-
-${UKERNELDIR}/afs/ptserver.h: ptserver.h
-       ${INSTALL} $? $@
-
-${UKERNELDIR}/afsint/ptint.h: Kptint.h
-       ${INSTALL} $? $@
-
-${UKERNELDIR}/afsint/ptint.cs.c: Kptint.cs.c
-       ${INSTALL} $? $@
-
-${UKERNELDIR}/afsint/ptint.xdr.c: Kptint.xdr.c
-       ${INSTALL} $? $@
-
-${DEST}/root.server/usr/afs/bin/ptserver: ptserver
-       ${INSTALL} $? $@
-
-${DEST}/bin/pts ${DEST}/root.server/usr/afs/bin/pts: pts
-       ${INSTALL} $? $@
-
-${DEST}/root.server/usr/afs/bin/pt_util: pt_util
-       ${INSTALL} $? $@
-
-${DEST}/lib/afs/libprot.a: libprot.a
-       ${INSTALL} $? $@
-
-${DEST}/etc/prdb_check: db_verify
-       ${INSTALL} -f $? $@
-
-${DEST}/include/afs/prclient.h: ptclient.h
-       ${INSTALL} $? $@
-
-${DEST}/include/afs/prerror.h: pterror.h
-       ${INSTALL} $? $@
-
-${DEST}/include/afs/print.h: ptint.h
-       ${INSTALL} $? $@
-
-${DEST}/include/afs/prserver.h: ptserver.h
-       ${INSTALL} $? $@
-
-${DEST}/include/afs/ptserver.h: ptserver.h
-       ${INSTALL} $? $@
-
-${DEST}/include/afs/ptint.h: ptint.h
-       ${INSTALL} $? $@
-
-${DEST}/include/afs/pterror.h: pterror.h
-       ${INSTALL} $? $@
-
-${DEST}/include/afs/ptclient.h: ptclient.h
-       ${INSTALL} $? $@
+install: ptserver pts pt_util db_verify libprot.a ptclient.h pterror.h \
+               ptint.h ptserver.h
+       ${INSTALL} -d ${DESTDIR}${afssrvlibexecdir}
+       ${INSTALL} -d ${DESTDIR}${afssrvbindir}
+       ${INSTALL} -d ${DESTDIR}${afssrvsbindir}
+       ${INSTALL} -d ${DESTDIR}${bindir}
+       ${INSTALL} -d ${DESTDIR}${libdir}/afs
+       ${INSTALL} -d ${DESTDIR}${includedir}/afs
+       ${INSTALL_PROGRAM} ptserver ${DESTDIR}${afssrvlibexecdir}/ptserver
+       ${INSTALL_PROGRAM} pts ${DESTDIR}${afssrvbindir}/pts
+       ${INSTALL_PROGRAM} pts ${DESTDIR}${bindir}/pts
+       ${INSTALL_PROGRAM} pt_util ${DESTDIR}${afssrvsbindir}/pt_util
+       ${INSTALL_PROGRAM} db_verify ${DESTDIR}${afssrvsbindir}/prdb_check
+       ${INSTALL_DATA} libprot.a ${DESTDIR}${libdir}/afs/libprot.a
+       ${INSTALL_DATA} ptclient.h ${DESTDIR}${includedir}/afs/prclient.h
+       ${INSTALL_DATA} pterror.h ${DESTDIR}${includedir}/afs/prerror.h
+       ${INSTALL_DATA} ptint.h ${DESTDIR}${includedir}/afs/print.h
+       ${INSTALL_DATA} ptserver.h ${DESTDIR}${includedir}/afs/prserver.h
+       ${INSTALL_DATA} ptclient.h ${DESTDIR}${includedir}/afs/ptclient.h
+       ${INSTALL_DATA} ptuser.h ${DESTDIR}${includedir}/afs/ptuser.h
+       ${INSTALL_DATA} pterror.h ${DESTDIR}${includedir}/afs/pterror.h
+       ${INSTALL_DATA} ptint.h ${DESTDIR}${includedir}/afs/ptint.h
+       ${INSTALL_DATA} ptserver.h ${DESTDIR}${includedir}/afs/ptserver.h
+
+dest: ptserver pts pt_util db_verify libprot.a ptclient.h pterror.h \
+               ptint.h ptserver.h
+       ${INSTALL} -d ${DEST}/root.server/usr/afs/bin
+       ${INSTALL} -d ${DEST}/bin
+       ${INSTALL} -d ${DEST}/etc
+       ${INSTALL} -d ${DEST}/lib/afs
+       ${INSTALL} -d ${DEST}/include/afs
+       ${INSTALL_PROGRAM} ptserver ${DEST}/root.server/usr/afs/bin/ptserver
+       ${INSTALL_PROGRAM} pts ${DEST}/root.server/usr/afs/bin/pts
+       ${INSTALL_PROGRAM} pts ${DEST}/bin/pts
+       ${INSTALL_PROGRAM} pt_util ${DEST}/root.server/usr/afs/bin/pt_util
+       ${INSTALL_PROGRAM} db_verify ${DEST}/etc/prdb_check
+       ${INSTALL_DATA} libprot.a ${DEST}/lib/afs/libprot.a
+       ${INSTALL_DATA} ptclient.h ${DEST}/include/afs/prclient.h
+       ${INSTALL_DATA} pterror.h ${DEST}/include/afs/prerror.h
+       ${INSTALL_DATA} ptint.h ${DEST}/include/afs/print.h
+       ${INSTALL_DATA} ptserver.h ${DEST}/include/afs/prserver.h
+       ${INSTALL_DATA} ptclient.h ${DEST}/include/afs/ptclient.h
+       ${INSTALL_DATA} ptuser.h ${DEST}/include/afs/ptuser.h
+       ${INSTALL_DATA} pterror.h ${DEST}/include/afs/pterror.h
+       ${INSTALL_DATA} ptint.h ${DEST}/include/afs/ptint.h
+       ${INSTALL_DATA} ptserver.h ${DEST}/include/afs/ptserver.h
 
 #
 # Misc. targets
@@ -244,87 +252,3 @@ clean:
        core AFS_component_version_number.c Kptint.cs.c Kptint.h Kptint.xdr.c
 
 include ../config/Makefile.version
-${DESTDIR}${afssrvlibexecdir}/ptserver: ptserver
-       ${INSTALL} $? $@
-
-${DESTDIR}${afssrvbindir}/pts: pts
-       ${INSTALL} $? $@
-
-${DESTDIR}${bindir}/pts: pts
-       ${INSTALL} $? $@
-
-${DESTDIR}${afssrvsbindir}/pt_util: pt_util
-       ${INSTALL} $? $@
-
-${DESTDIR}${afssrvsbindir}/prdb_check: db_verify
-       ${INSTALL} -f $? $@
-
-${DESTDIR}${libdir}/afs/libprot.a: libprot.a
-       ${INSTALL} $? $@
-
-${TOP_LIBDIR}/libprot.a: libprot.a
-       ${INSTALL} $? $@
-
-${DESTDIR}${includedir}/afs/prclient.h: ptclient.h
-       ${INSTALL} $? $@
-
-${TOP_INCDIR}/afs/prclient.h: ptclient.h
-       ${INSTALL} $? $@
-
-${DESTDIR}${includedir}/afs/prerror.h: pterror.h
-       ${INSTALL} $? $@
-
-${TOP_INCDIR}/afs/prerror.h: pterror.h
-       ${INSTALL} $? $@
-
-${DESTDIR}${includedir}/afs/print.h: ptint.h
-       ${INSTALL} $? $@
-
-${TOP_INCDIR}/afs/print.h: ptint.h
-       ${INSTALL} $? $@
-
-${DESTDIR}${includedir}/afs/prserver.h: ptserver.h
-       ${INSTALL} $? $@
-
-${TOP_INCDIR}/afs/prserver.h: ptserver.h
-       ${INSTALL} $? $@
-
-${DESTDIR}${includedir}/afs/ptclient.h: ptclient.h
-       ${INSTALL} $? $@
-
-${TOP_INCDIR}/afs/ptclient.h: ptclient.h
-       ${INSTALL} $? $@
-
-${DESTDIR}${includedir}/afs/pterror.h: pterror.h
-       ${INSTALL} $? $@
-
-${TOP_INCDIR}/afs/pterror.h: pterror.h
-       ${INSTALL} $? $@
-
-${DESTDIR}${includedir}/afs/ptint.h: ptint.h
-       ${INSTALL} $? $@
-
-${TOP_INCDIR}/afs/ptint.h: ptint.h
-       ${INSTALL} $? $@
-
-${DESTDIR}${includedir}/afs/ptserver.h: ptserver.h
-       ${INSTALL} $? $@
-
-${TOP_INCDIR}/afs/ptserver.h: ptserver.h
-       ${INSTALL} $? $@
-
-dest: \
-       ${DEST}/root.server/usr/afs/bin/ptserver \
-       ${DEST}/root.server/usr/afs/bin/pts \
-       ${DEST}/bin/pts \
-       ${DEST}/root.server/usr/afs/bin/pt_util \
-       ${DEST}/etc/prdb_check \
-       ${DEST}/lib/afs/libprot.a \
-       ${DEST}/include/afs/prclient.h \
-       ${DEST}/include/afs/prerror.h \
-       ${DEST}/include/afs/print.h \
-       ${DEST}/include/afs/prserver.h \
-       ${DEST}/include/afs/ptclient.h \
-       ${DEST}/include/afs/pterror.h \
-       ${DEST}/include/afs/ptint.h \
-       ${DEST}/include/afs/ptserver.h