MKDIR_IF_NEEDED=[ -d $$1 ] || mkdir -p $$1
+# Enable build+install of obsolete and insecure packages
+# Set to anything other than YES, or comment out to disable the build
+WITH_DEPRECATED=YES
+
# To compile AFS from scratch in the src tree run "make SYS_NAME=<type>".
# This recursively calls "make install ..." and does not depend on the
# existence of any non-standard programs.
all:
set ${SYS_NAME}/dest; $(MKDIR_IF_NEEDED)
- $(MAKE) install "COMPILE_PART1=cd obj; cd" "COMPILE_PART2=; $(MAKE) install SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ SRCDIR=`pwd`/${SYS_NAME}/dest/" SYS_NAME=${SYS_NAME} "WASHTOOL=echo No washtool: "
+ $(MAKE) install "COMPILE_PART1=cd obj; cd" "COMPILE_PART2=; $(MAKE) install SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ SRCDIR=`pwd`/${SYS_NAME}/dest/" "COMPILE_PART3=; $(MAKE) test SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ SRCDIR=`pwd`/${SYS_NAME}/dest/" SYS_NAME=${SYS_NAME} "WASHTOOL=echo No washtool: "
basics:
-if test -f "${WASHTOOL}"; \
cmd: basics comerr
${COMPILE_PART1} cmd ${COMPILE_PART2}
@case ${SYS_NAME} in \
- sgi_6* | sun4x_57 | sun4x_58 | hp_ux11* | sparc64_linux* ) \
+ sgi_6* | sun4x_57 | sun4x_58 | hp_ux11* | sparc64_linux* | alpha_linux* ) \
${COMPILE_PART1} cmd ${COMPILE_PART2} install64 ;; \
esac
${COMPILE_PART1} rx ${COMPILE_PART2}
rxtests: rxobj
- ${COMPILE_PART1} rx ${COMPILE_PART2}
+ ${COMPILE_PART1} rx ${COMPILE_PART3}
fsint: project kfsint
ubik: project auth
${COMPILE_PART1} ubik ${COMPILE_PART2}
+# cd obj/ubik; $(MAKE) test SYS_NAME=${SYS_NAME}
ubiktests: ubik sys
- cd obj/ubik; $(MAKE) test SYS_NAME=${SYS_NAME}
+ ${COMPILE_PART1} ubik ${COMPILE_PART3}
ptserver: project ubik cmd comerr auth audit
${COMPILE_PART1} ptserver ${COMPILE_PART2}
tviced: project viced vlserver libafsrpc libafsauthent
case ${SYS_NAME} in \
- alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux*) \
+ alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \
${COMPILE_PART1} tviced ${COMPILE_PART2} ;; \
*) \
echo Not building MT viced for ${SYS_NAME} ;; \
gtx: project null auth # kauth rxkad ?
case ${SYS_NAME} in \
- rs_aix* | sun4x_5? | sgi_6? | *linux*) \
+ rs_aix* | sun4x_5? | sgi_6? | *linux* | ppc_darwin* | *fbsd*) \
rm -f ${DESTDIR}lib/afs/libtermlib.a; \
ln -s libnull.a ${DESTDIR}lib/afs/libtermlib.a; \
${COMPILE_PART1} gtx ${COMPILE_PART2};; \
scout: project gtx fsprobe
${COMPILE_PART1} scout ${COMPILE_PART2}
-mpp: project
- ${COMPILE_PART1} mpp ${COMPILE_PART2}
-
-package: project mpp
- ${COMPILE_PART1} package ${COMPILE_PART2}
-
-package.files: package
- ${DESTDIR}/bin/makepkgfiles afs.dev
-
uss: des kauth project rx vlserver vol
${COMPILE_PART1} uss ${COMPILE_PART2}
-ntp: project volser
- case ${SYS_NAME} in \
- sun4x_58 ) echo skipping ntp for ${SYS_NAME} ;; \
- *linux* ) echo skipping ntp for ${SYS_NAME} ;; \
- * ) ${COMPILE_PART1} ntp ${COMPILE_PART2} ;; \
- esac
-
-#convert: project ntp
-# ${COMPILE_PART1} convert ${COMPILE_PART2}
-
bozo: project ntp audit
${COMPILE_PART1} bozo ${COMPILE_PART2}
vfsck: minproject vol
set -x; \
case ${SYS_NAME} in \
- sgi_* | *linux*) \
- echo skip vfsck for ${SYS_NAME} ;; \
- rs_aix42) \
- echo skip vfsck for ${SYS_NAME} ;; \
- sun4x_58 ) \
+ sgi_* | *linux* | rs_aix42 | ppc_darwin* | hp_ux* | *fbsd* ) \
echo skip vfsck for ${SYS_NAME} ;; \
* ) \
${COMPILE_PART1} vfsck ${COMPILE_PART2} ;; \
${COMPILE_PART1} sia ${COMPILE_PART2} ;; \
sun4x_55 ) \
${COMPILE_PART1} login ${COMPILE_PART2} ;; \
- sun4x_* | hp_ux11* | *linux* ) \
+ sun4x_* | hp_ux11* | *linux* | *fbsd* ) \
${COMPILE_PART1} pam ${COMPILE_PART2} ;; \
+ ppc_darwin* ) \
+ echo Skipping login for ${SYS_NAME} ;; \
* ) \
${COMPILE_PART1} login ${COMPILE_PART2} ;; \
esac
-ftpd43+: project kauth rxkad
- case ${SYS_NAME} in \
- rs_aix* | sun4x_55 | *linux*) \
- ${COMPILE_PART1} ftpd43+ ${COMPILE_PART2} ;; \
- * ) echo skip ftpd43+ for ${SYS_NAME} ;; \
- esac
-
-inetd: project kauth rxkad
- ${COMPILE_PART1} inetd ${COMPILE_PART2}
-
-rsh: project inetd
- ${COMPILE_PART1} rsh ${COMPILE_PART2}
-
-rlogind: project rsh ftpd43+ login
- case ${SYS_NAME} in \
- rs_aix*) \
- ${COMPILE_PART1} rlogind ${COMPILE_PART2} ;; \
- * ) echo skipping rlogind for ${SYS_NAME} ;; \
- esac
-
-sgistuff: project rlogind
- case ${SYS_NAME} in \
- sgi_* ) ${COMPILE_PART1} sgistuff ${COMPILE_PART2} ;; \
- * ) echo skipping sgistuff for ${SYS_NAME} ;; \
- esac
-
-rcp: project rsh inetd
- case ${SYS_NAME} in \
- sgi_* ) echo skip rcp for ${SYS_NAME} ;; \
- *) ${COMPILE_PART1} rcp ${COMPILE_PART2} ;; \
- esac
-
-allrcmds: project rcp rlogind
-
KERNELDIR= \
afs \
dir \
${COMPILE_PART1} libafs ${COMPILE_PART2}
libuafs: minproject libuafs_setup ${UKERNELDIR}
- ${COMPILE_PART1} libuafs ${COMPILE_PART2}
+ set -x; \
+ case ${SYS_NAME} in \
+ hp_ux102* ) \
+ echo Skipping libuafs for ${SYS_NAME} ;; \
+ * ) \
+ ${COMPILE_PART1} libuafs ${COMPILE_PART2} ;; \
+ esac
afsweb: minproject kauth dauth
${COMPILE_PART1} afsweb ${COMPILE_PART2}
tbutc: project bubasics butm budb bucoord cmd butc
case ${SYS_NAME} in \
- alpha_dux*|sgi_*|sun4x_*|rs_aix4*|*linux*|hp_ux*) \
+ alpha_dux*|sgi_*|sun4x_*|rs_aix4*|*linux*|hp_ux110) \
${COMPILE_PART1} tbutc ${COMPILE_PART2} ;; \
*) \
echo Not building MT butc for ${SYS_NAME} ;; \
afsmonitor: project gtx xstat
${COMPILE_PART1} afsmonitor ${COMPILE_PART2}
+#
+# Washtool internal targets
+#
ircs: project
case ${SYS_NAME} in \
sgi_* ) \
# pthread based user space RX library
libafsrpc: rx rxkad des
- ${COMPILE_PART1} libafsrpc ${COMPILE_PART2}
+ case ${SYS_NAME} in \
+ alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \
+ ${COMPILE_PART1} libafsrpc ${COMPILE_PART2} ;; \
+ *) \
+ echo Not building MT libafsrpc for ${SYS_NAME} ;; \
+ esac
libafsauthent: ubik auth kauth libafsrpc
- ${COMPILE_PART1} libafsauthent ${COMPILE_PART2}
+ case ${SYS_NAME} in \
+ alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \
+ ${COMPILE_PART1} libafsauthent ${COMPILE_PART2} ;; \
+ *) \
+ echo Not building MT libafsrpc for ${SYS_NAME} ;; \
+ esac
-libadmin: libafsauthent bozo
+libadmin_real:
${COMPILE_PART1} libadmin ${COMPILE_PART2}
${COMPILE_PART1} libadmin/adminutil ${COMPILE_PART2}
${COMPILE_PART1} libadmin/vos ${COMPILE_PART2}
${COMPILE_PART1} libadmin/test ${COMPILE_PART2}
${COMPILE_PART1} libadmin/samples ${COMPILE_PART2}
+libadmin: libafsauthent bozo
+ case ${SYS_NAME} in \
+ alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \
+ $(MAKE) libadmin_real SYS_NAME=$(SYS_NAME) \
+ WASHTOOL="$(WASHTOOL)" \
+ COMPILE_PART1="$(COMPILE_PART1)" \
+ COMPILE_PART2="$(COMPILE_PART2)" \
+ SRCDIR=$(SRCDIR) DESTDIR=$(DESTDIR) \
+ DBG_DEFS=$(DBG_DEFS) ;; \
+ *) \
+ echo Not building MT libadmin for ${SYS_NAME} ;; \
+ esac
+
finale: project cmd comerr afsd allrcmds butc tbutc libafs libuafs audit kauth log package \
ptserver scout bu_utils ubik uss bozo vfsck volser \
venus update xstat afsmonitor dauth tests libafsrpc \
MKAFS_OSTYPE=HPUX;; \
*linux*) \
MKAFS_OSTYPE=LINUX;; \
+ *fbsd*) \
+ MKAFS_OSTYPE=FBSD;; \
rs_aix* ) \
MKAFS_OSTYPE=AIX;; \
sgi_* ) \
MKAFS_OSTYPE=IRIX;; \
sun4x_5* ) \
MKAFS_OSTYPE=SOLARIS;; \
+ ppc_darwin* ) \
+ MKAFS_OSTYPE=DARWIN;; \
* ) \
echo WARNING: No MakefileProto for sys ${SYS_NAME} ; \
esac; \
MKAFS_OSTYPE=HPUX;; \
*linux*) \
MKAFS_OSTYPE=LINUX;; \
+ *fbsd*) \
+ MKAFS_OSTYPE=FBSD;; \
rs_aix* ) \
MKAFS_OSTYPE=AIX;; \
sun4x_5* ) \
MKAFS_OSTYPE=DUX;; \
sgi_6* ) \
MKAFS_OSTYPE=IRIX;; \
+ ppc_darwin* ) \
+ MKAFS_OSTYPE=DARWIN;; \
* ) \
echo WARNING: No MakefileProto for sys ${SYS_NAME} ; \
esac; \
# "COMPILE_PART1=${COMPILE_PART1}" "COMPILE_PART2=${COMPILE_PART2}" SYS_NAME=${SYS_NAME} ;;
+TARGET=finale
install:
- $(MAKE) finale "SYS_NAME=${SYS_NAME}" "WASHTOOL=${WASHTOOL}" \
+ $(MAKE) $(TARGET) "SYS_NAME=${SYS_NAME}" "WASHTOOL=${WASHTOOL}" \
"COMPILE_PART1=${COMPILE_PART1}" \
"COMPILE_PART2=${COMPILE_PART2}" \
DESTDIR=`pwd`/${SYS_NAME}/dest/ \
- /bin/rm -rf @sys/dest/* ;
- /bin/mkdir @sys/obj ;
echo "Create the obj directories"
+ here=`pwd` ; \
cd src; \
for file in `find [!NW]* -type d -print` ; do \
- /bin/mkdir ../obj/$${file} ; \
+ /bin/mkdir $${here}/obj/$${file} ; \
done;
echo "Create the obj file links"
+ here=`pwd` ; \
cd src; \
for file in `find [!NW]* -type f -print` ; do \
- /bin/ln -s `pwd`/$${file} ../obj/$${file} ; \
+ /bin/ln -s `pwd`/$${file} $${here}/obj/$${file} ; \
done;
+
+#
+# Below targets are all deprecated, insecure, or obsolte,
+# see README.OBSOLETE and README.INSECURE for more info
+#
+
+mpp: project
+ @case ${WITH_DEPRECATED} in \
+ YES) ${COMPILE_PART1} mpp ${COMPILE_PART2} ;; \
+ *) echo skipping deprecated target: mpp ;; \
+ esac
+
+package: project mpp
+ @case ${WITH_DEPRECATED} in \
+ YES) ${COMPILE_PART1} package ${COMPILE_PART2} ;; \
+ *) echo skipping deprecated target: package ;; \
+ esac
+
+package.files: package
+ @case ${WITH_DEPRECATED} in \
+ YES) ${DESTDIR}/bin/makepkgfiles afs.dev ;; \
+ *) echo skipping deprecated target: package.files ;; \
+ esac
+
+ntp: project volser
+ @case ${WITH_DEPRECATED} in \
+ YES) case ${SYS_NAME} in \
+ sun4x_58 | *linux* | *fbsd* | ppc_darwin* ) echo skipping ntp for ${SYS_NAME} ;; \
+ * ) ${COMPILE_PART1} ntp ${COMPILE_PART2} ;; \
+ esac ;; \
+ *) echo skipping deprecated target: ntp ;; \
+ esac
+
+sgistuff: project rlogind
+ @case ${WITH_DEPRECATED} in \
+ YES) case ${SYS_NAME} in \
+ sgi_* ) ${COMPILE_PART1} sgistuff ${COMPILE_PART2} ;; \
+ * ) echo skipping sgistuff for ${SYS_NAME} ;; \
+ esac ;; \
+ *) echo skipping deprecated target: sgistuff ;; \
+ esac
+
+ftpd43+: project kauth rxkad
+ @case ${WITH_DEPRECATED} in \
+ YES) case ${SYS_NAME} in \
+ rs_aix* | sun4x_55 | *linux*) \
+ ${COMPILE_PART1} ftpd43+ ${COMPILE_PART2} ;; \
+ *) echo skip ftpd43+ for ${SYS_NAME} ;; \
+ esac ;; \
+ *) echo skipping deprecated target: ftpd43+ ;; \
+ esac
+
+inetd: project kauth rxkad
+ @case ${WITH_DEPRECATED} in \
+ YES) ${COMPILE_PART1} inetd ${COMPILE_PART2} ;; \
+ *) echo skipping deprecated target: inetd ;; \
+ esac
+
+rsh: project inetd
+ @case ${WITH_DEPRECATED} in \
+ YES) ${COMPILE_PART1} rsh ${COMPILE_PART2} ;; \
+ *) echo skipping deprecated target: rsh ;; \
+ esac
+
+rlogind: project rsh ftpd43+ login
+ @case ${WITH_DEPRECATED} in \
+ YES) case ${SYS_NAME} in \
+ rs_aix*) ${COMPILE_PART1} rlogind ${COMPILE_PART2} ;; \
+ *) echo skipping rlogind for ${SYS_NAME} ;; \
+ esac ;; \
+ *) echo skipping deprecated target: rlogind ;; \
+ esac
+
+rcp: project rsh inetd
+ @case ${WITH_DEPRECATED} in \
+ YES) case ${SYS_NAME} in \
+ sgi_* ) echo skip rcp for ${SYS_NAME} ;; \
+ *) ${COMPILE_PART1} rcp ${COMPILE_PART2} ;; \
+ esac ;; \
+ *) echo skipping deprecated target: rcp ;; \
+ esac
+
+allrcmds: project rcp rlogind
+
+