DESTDIR=dest/
SRCDIR=${DESTDIR}
INSTALL=${SRCDIR}bin/install
-WASHTOOL=${SRCDIR}bin/washtool
-#WASHTOOLRCSUPDATE=${WASHTOOL} rcsupdate
-WASHTOOLCMD=$(MAKE)
-WASHTOOLFLAGS=-argument install
+MKDIR_IF_NEEDED=[ -d $$1 ] || mkdir -p $$1
-COMPILE_PART1=${WASHTOOL} ${WASHTOOLCMD}
-COMPILE_PART2=${WASHTOOLFLAGS}
+# Systype-generic items
+SYS_NAME=@AFS_SYSNAME@
+MKAFS_OSTYPE=@MKAFS_OSTYPE@
-MKDIR_IF_NEEDED=[ -d $$1 ] || mkdir -p $$1
+# Systype-specific items
+LINUX_KERNEL_PATH=@LINUX_KERNEL_PATH@
+LINUX_VERSION=@LINUX_VERSION@
+
+# Other items
+LIB_AFSDB=@LIB_AFSDB@
# Enable build+install of obsolete and insecure packages
# Set to anything other than YES, or comment out to disable the build
-WITH_OBSOLETE=YES
-WITH_INSECURE=YES
+WITH_OBSOLETE=@WITH_OBSOLETE@
+WITH_INSECURE=@WITH_INSECURE@
# 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
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/ TOP_SRCDIR=`pwd`/${SYS_NAME}/obj" "COMPILE_PART3=; $(MAKE) SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ SRCDIR=`pwd`/${SYS_NAME}/dest/ TOP_SRCDIR=`pwd`/${SYS_NAME}/obj" SYS_NAME=${SYS_NAME} "WASHTOOL=echo No washtool: "
-
-basics:
- -if test -f "${WASHTOOL}"; \
- then \
- ${WASHTOOL} project . . -noretarget; \
- ${WASHTOOL} destdir; \
- fi
-# test -d ${DESTDIR}
+ $(MAKE) install "COMPILE_PART1=cd src; cd" "COMPILE_PART2=; $(MAKE) install SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ TOP_SRCDIR=@TOP_SRCDIR@ SRCDIR=`pwd`/${SYS_NAME}/dest/" "COMPILE_PART3=; $(MAKE) test SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ TOP_SRCDIR=@TOP_SRCDIR@ SRCDIR=`pwd`/${SYS_NAME}/dest/" "COMPILE_CLEAN=; $(MAKE) clean SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ TOP_SRCDIR=@TOP_SRCDIR@ SRCDIR=`pwd`/${SYS_NAME}/dest/" SYS_NAME=${SYS_NAME}
-minproject: basics
- ${WASHTOOL} project . . -noretarget
- ${WASHTOOL} destdir
+project: cmd comerr
-project: basics cmd comerr minproject # try and initialize project
-
-config: basics
+config:
${COMPILE_PART1} config ${COMPILE_PART2}
-pinstall: basics config
+pinstall: config
${COMPILE_PART1} pinstall ${COMPILE_PART2}
-procmgmt: basics config pinstall
+procmgmt: config pinstall
${COMPILE_PART1} procmgmt ${COMPILE_PART2}
-util: basics pinstall procmgmt
+util: pinstall procmgmt
${COMPILE_PART1} util ${COMPILE_PART2}
-kernutil: basics pinstall
- ${COMPILE_PART1} util ${COMPILE_PART3} kinstall
-
-audit: basics pinstall rx rxkad fsint
+audit: pinstall rx rxkad fsint
${COMPILE_PART1} audit ${COMPILE_PART2}
-comerr: basics util
+comerr: util
${COMPILE_PART1} comerr ${COMPILE_PART2}
-cmd: basics comerr
+cmd: comerr
${COMPILE_PART1} cmd ${COMPILE_PART2}
@case ${SYS_NAME} in \
sgi_6* | sun4x_57 | sun4x_58 | hp_ux11* | sparc64_linux* | alpha_linux* ) \
lwp: project util
${COMPILE_PART1} lwp ${COMPILE_PART2}
-rxgen: minproject pinstall
+rxgen: pinstall
${COMPILE_PART1} rxgen ${COMPILE_PART2}
rxobj:
- ${WASHTOOL} object rx
kernrx:
${COMPILE_PART1} rx ${COMPILE_PART2}
rxstat: rx
${COMPILE_PART1} rxstat ${COMPILE_PART2}
-krxstat:
- ${COMPILE_PART1} rxstat ${COMPILE_PART3} kinstall
-
rxincls: rxobj
- ${COMPILE_PART1} rx ${COMPILE_PART3} kinstall
+ ${COMPILE_PART1} rx ${COMPILE_PART2}
rxtests: rxobj
- ${COMPILE_PART1} rx ${COMPILE_PART3} test
+ ${COMPILE_PART1} rx ${COMPILE_PART3}
fsint: project kfsint
- ${COMPILE_PART1} fsint ${COMPILE_PART2}
-kfsint: rxgen rxincls
- ${COMPILE_PART1} fsint ${COMPILE_PART3} kinstall
+kfsint: rxgen rxincls lwp
+ ${COMPILE_PART1} fsint ${COMPILE_PART2}
export2: project fsint
-export: minproject kfsint
+export: fsint
@case ${SYS_NAME} in \
rs_aix*) \
${COMPILE_PART1} export ${COMPILE_PART2} ;; \
* ) echo skipping export for ${SYS_NAME} ;; \
esac
-afs: project export
+afs: export
${COMPILE_PART1} afs ${COMPILE_PART2}
-des: minproject config
- if [ -f "obj/des/Makefile" ] ; then \
- ${COMPILE_PART1} des ${COMPILE_PART2} ; \
- else \
- ${COMPILE_PART1} des_stub ${COMPILE_PART2} ; \
- fi
+des: config
+ ${COMPILE_PART1} des ${COMPILE_PART2}
sys: project des rx rxstat fsint
${COMPILE_PART1} sys ${COMPILE_PART2}
rxkad: project des
- ${WASHTOOL} object rxkad
- ${WASHTOOL} object rxkad/domestic
${COMPILE_PART1} rxkad ${COMPILE_PART2}
-kernrxkad: minproject
- ${WASHTOOL} object rxkad
- ${WASHTOOL} object rxkad/domestic
- ${COMPILE_PART1} rxkad ${COMPILE_PART3} kinstall
-
kernauth:
${COMPILE_PART1} auth ${COMPILE_PART2}
ubik: project auth
${COMPILE_PART1} ubik ${COMPILE_PART2}
-# cd obj/ubik; $(MAKE) test SYS_NAME=${SYS_NAME}
ubiktests: ubik sys
${COMPILE_PART1} ubik ${COMPILE_PART3}
dauth: project ubik cmd auth comerr
${COMPILE_PART1} dauth ${COMPILE_PART2}
-kernacl:
- ${COMPILE_PART1} libacl ${COMPILE_PART3} kinstall
-
libacl: project ptserver
${COMPILE_PART1} libacl ${COMPILE_PART2}
-kerndir: minproject
- ${COMPILE_PART1} dir ${COMPILE_PART3} kinstall
+kerndir:
+ ${COMPILE_PART1} dir ${COMPILE_PART2}
-dir: project
+dir: project libacl
${COMPILE_PART1} dir ${COMPILE_PART2}
-vol: project dir afs
+# Removed from sgi_* case below:
+# ${COMPILE_PART1} sgiefs ${COMPILE_PART2};;
+sgiefs:
+ case ${SYS_NAME} in \
+ sgi_*) \
+ echo "SGI efs not supported" ;; \
+ *) \
+ echo No efs stuff for ${SYS_NAME};; \
+ esac
+
+vol: project dir afs sgiefs
${COMPILE_PART1} vol ${COMPILE_PART2}
vlserver: project vol audit
${COMPILE_PART1} vlserver ${COMPILE_PART2}
-kvlserver: minproject
- ${COMPILE_PART1} vlserver ${COMPILE_PART3} kinstall
-
viced: project vlserver audit
${COMPILE_PART1} viced ${COMPILE_PART2}
# ${COMPILE_PART1} vfscksol25 ${COMPILE_PART2} ;;
# ${COMPILE_PART1} vfscksol26 ${COMPILE_PART2} ;;
# ${COMPILE_PART1} vfscksol27 ${COMPILE_PART2} ;;
-vfsck: minproject vol
+vfsck: vol
set -x; \
case ${SYS_NAME} in \
sgi_* | *linux* | rs_aix42 | ppc_darwin* | hp_ux* | *fbsd* ) \
sgi_* ) \
${COMPILE_PART1} sgistuff ${COMPILE_PART2} ;; \
rs_aix42 ) \
- ${WASHTOOL} object login ; \
${COMPILE_PART1} tsm41 ${COMPILE_PART2} ;; \
alpha_dux* ) \
${COMPILE_PART1} sia ${COMPILE_PART2} ;; \
KERNELDIR= \
afs \
- kerndir \
- kfsint \
- kernrxkad \
- kernutil \
- kernacl \
- kvlserver \
- krxstat
+ dir \
+ rx \
+ fsint \
+ auth \
+ rxkad \
+ util \
+ libacl \
+ vlserver \
+ sgiefs \
+ rxstat
UKERNELDIR= \
rxstat
-libafs: minproject libafs_setup ${KERNELDIR}
+libafs: libafs_setup ${KERNELDIR}
${COMPILE_PART1} libafs ${COMPILE_PART2}
-libuafs: minproject libuafs_setup ${UKERNELDIR}
+libuafs: libuafs_setup ${UKERNELDIR}
set -x; \
case ${SYS_NAME} in \
hp_ux102* ) \
${COMPILE_PART1} libuafs ${COMPILE_PART2} ;; \
esac
-afsweb: minproject kauth dauth
+afsweb: kauth dauth
${COMPILE_PART1} afsweb ${COMPILE_PART2}
update: project auth
afsmonitor: project gtx xstat
${COMPILE_PART1} afsmonitor ${COMPILE_PART2}
-#
-# Washtool internal targets
-#
-ircs: project
- case ${SYS_NAME} in \
- sgi_* ) \
- echo skip ircs for ${SYS_NAME} ;; \
- *) \
- ${COMPILE_PART1} ircs ${COMPILE_PART2} ;; \
- esac
-
-wash: project
- case ${SYS_NAME} in \
- sgi_* ) \
- echo skip wash for ${SYS_NAME} ;; \
- *) \
- ${COMPILE_PART1} wash ${COMPILE_PART2} ;; \
- esac
-
tests: rxtests ubiktests
# pthread based user space RX library
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)" \
+ TOP_SRCDIR=@TOP_SRCDIR@ \
SRCDIR=$(SRCDIR) DESTDIR=$(DESTDIR) \
DBG_DEFS=$(DBG_DEFS) ;; \
*) \
# Use washtool to ensure MakefileProto is current and obj/libafs exists.
-libafs_setup: config minproject export
-# How about if no RCSUPDATE exists?
-# Well then you're going to lose. Or, if you insist, set
-# WASHTOOLRCSUPDATE to be a no-op
-# Warning: The next few lines are _extremely_ sensitive to spaces and tabs.
- ${WASHTOOL} object libafs
- case ${SYS_NAME} in \
- alpha_dux* ) \
- MKAFS_OSTYPE=DUX;; \
- hp_ux* ) \
- 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; \
- obj/config/config src/libafs/MakefileProto.$$MKAFS_OSTYPE obj/libafs/Makefile ${SYS_NAME}
-
-libuafs_setup: config minproject export
-# How about if no RCSUPDATE exists?
-# Well then you're going to lose. Or, if you insist, set
-# WASHTOOLRCSUPDATE to be a no-op
- ${WASHTOOL} object libuafs
- case ${SYS_NAME} in \
- hp_ux* ) \
- MKAFS_OSTYPE=HPUX;; \
- *linux*) \
- MKAFS_OSTYPE=LINUX;; \
- *fbsd*) \
- MKAFS_OSTYPE=FBSD;; \
- rs_aix* ) \
- MKAFS_OSTYPE=AIX;; \
- sun4x_5* ) \
- MKAFS_OSTYPE=SOLARIS;; \
- alpha_dux* ) \
- MKAFS_OSTYPE=DUX;; \
- sgi_6* ) \
- MKAFS_OSTYPE=IRIX;; \
- ppc_darwin* ) \
- MKAFS_OSTYPE=DARWIN;; \
- * ) \
- echo WARNING: No MakefileProto for sys ${SYS_NAME} ; \
- esac; \
- obj/config/config src/libuafs/MakefileProto.$$MKAFS_OSTYPE obj/libuafs/Makefile ${SYS_NAME}
+libafs_setup: config export
+ src/config/config src/libafs/MakefileProto.${MKAFS_OSTYPE} src/libafs/Makefile ${SYS_NAME}
-# "COMPILE_PART1=${COMPILE_PART1}" "COMPILE_PART2=${COMPILE_PART2}" SYS_NAME=${SYS_NAME} ;;
+libuafs_setup: config export
+ src/config/config src/libuafs/MakefileProto.${MKAFS_OSTYPE} src/libuafs/Makefile ${SYS_NAME}
TARGET=finale
install:
- $(MAKE) $(TARGET) "SYS_NAME=${SYS_NAME}" "WASHTOOL=${WASHTOOL}" \
+ $(MAKE) $(TARGET) "SYS_NAME=${SYS_NAME}" \
"COMPILE_PART1=${COMPILE_PART1}" \
"COMPILE_PART2=${COMPILE_PART2}" \
DESTDIR=`pwd`/${SYS_NAME}/dest/ \
+ TOP_SRCDIR=@TOP_SRCDIR@ \
SRCDIR=`pwd`/${SYS_NAME}/dest/ \
"DBG_DEFS=${DBG_DEFS}"
-# sgi: "NON_SHARED=-non_shared"
-#updatekdir:
-# ${WASHTOOL} rcsupdate ${KERNELDIR} libafs
-
kupdate: updatekdir libafs_setup libuafs_setup
blibafs:
$(MAKE) libuafs "WASHTOOL=${WASHTOOL}" "WASHTOOLFLAGS=-argument webinstall" SYS_NAME=${SYS_NAME} "CPUARCH=${CPUARCH}" "MPSP=${MPSP}" "DBG_DEFS=${DBG_DEFS}"
clean:
- ${WASHTOOL} every "cd obj/%s; $(MAKE) clean" -rootd obj
-
-checklist:
- ${WASHTOOL} every -command \
- 'cd rcs/%s; echo ; echo In %s:; if test x = "x`/bin/ls RCS/*,v`"; then exit 0; else rlog -I RCS/*,v; fi'
+ $(MAKE) clean2 "COMPILE_PART1=cd src; cd" "COMPILE_CLEAN=; $(MAKE) clean SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ TOP_SRCDIR=@TOP_SRCDIR@ SRCDIR=`pwd`/${SYS_NAME}/dest/" SYS_NAME=${SYS_NAME}
+
+clean2:
+ ${COMPILE_PART1} config ${COMPILE_CLEAN}
+ ${COMPILE_PART1} pinstall ${COMPILE_CLEAN}
+ ${COMPILE_PART1} procmgmt ${COMPILE_CLEAN}
+ ${COMPILE_PART1} util ${COMPILE_CLEAN}
+ ${COMPILE_PART1} audit ${COMPILE_CLEAN}
+ ${COMPILE_PART1} comerr ${COMPILE_CLEAN}
+ ${COMPILE_PART1} cmd ${COMPILE_CLEAN}
+ ${COMPILE_PART1} lwp ${COMPILE_CLEAN}
+ ${COMPILE_PART1} rxgen ${COMPILE_CLEAN}
+ ${COMPILE_PART1} rx ${COMPILE_CLEAN}
+ ${COMPILE_PART1} rxstat ${COMPILE_CLEAN}
+ ${COMPILE_PART1} fsint ${COMPILE_CLEAN}
+ ${COMPILE_PART1} export ${COMPILE_CLEAN}
+ ${COMPILE_PART1} afs ${COMPILE_CLEAN}
+ ${COMPILE_PART1} des ${COMPILE_CLEAN}
+ ${COMPILE_PART1} sys ${COMPILE_CLEAN}
+ ${COMPILE_PART1} rxkad ${COMPILE_CLEAN}
+ ${COMPILE_PART1} auth ${COMPILE_CLEAN}
+ ${COMPILE_PART1} ubik ${COMPILE_CLEAN}
+ ${COMPILE_PART1} ptserver ${COMPILE_CLEAN}
+ ${COMPILE_PART1} kauth ${COMPILE_CLEAN}
+ ${COMPILE_PART1} dauth ${COMPILE_CLEAN}
+ ${COMPILE_PART1} libacl ${COMPILE_CLEAN}
+ ${COMPILE_PART1} dir ${COMPILE_CLEAN}
+ ${COMPILE_PART1} vol ${COMPILE_CLEAN}
+ ${COMPILE_PART1} vlserver ${COMPILE_CLEAN}
+ ${COMPILE_PART1} viced ${COMPILE_CLEAN}
+ ${COMPILE_PART1} viced ${COMPILE_CLEAN}
+ ${COMPILE_PART1} tviced ${COMPILE_CLEAN}
+ ${COMPILE_PART1} volser ${COMPILE_CLEAN}
+ ${COMPILE_PART1} venus ${COMPILE_CLEAN}
+ ${COMPILE_PART1} venus/test ${COMPILE_CLEAN}
+ ${COMPILE_PART1} afsd ${COMPILE_CLEAN}
+ ${COMPILE_PART1} null ${COMPILE_CLEAN}
+ ${COMPILE_PART1} gtx ${COMPILE_CLEAN}
+ ${COMPILE_PART1} fsprobe ${COMPILE_CLEAN}
+ ${COMPILE_PART1} scout ${COMPILE_CLEAN}
+ ${COMPILE_PART1} uss ${COMPILE_CLEAN}
+ ${COMPILE_PART1} bozo ${COMPILE_CLEAN}
+ ${COMPILE_PART1} vfsck ${COMPILE_CLEAN}
+ ${COMPILE_PART1} sgistuff ${COMPILE_CLEAN}
+ ${COMPILE_PART1} tsm41 ${COMPILE_CLEAN}
+ ${COMPILE_PART1} sia ${COMPILE_CLEAN}
+ ${COMPILE_PART1} login ${COMPILE_CLEAN}
+ ${COMPILE_PART1} pam ${COMPILE_CLEAN}
+ ${COMPILE_PART1} afsweb ${COMPILE_CLEAN}
+ ${COMPILE_PART1} update ${COMPILE_CLEAN}
+ ${COMPILE_PART1} log ${COMPILE_CLEAN}
+ ${COMPILE_PART1} bu_utils ${COMPILE_CLEAN}
+ ${COMPILE_PART1} usd ${COMPILE_CLEAN}
+ ${COMPILE_PART1} bubasics ${COMPILE_CLEAN}
+ ${COMPILE_PART1} butm ${COMPILE_CLEAN}
+ ${COMPILE_PART1} butc ${COMPILE_CLEAN}
+ ${COMPILE_PART1} tbutc ${COMPILE_CLEAN}
+ ${COMPILE_PART1} budb ${COMPILE_CLEAN}
+ ${COMPILE_PART1} bucoord ${COMPILE_CLEAN}
+ ${COMPILE_PART1} xstat ${COMPILE_CLEAN}
+ ${COMPILE_PART1} afsmonitor ${COMPILE_CLEAN}
+ ${COMPILE_PART1} libafsrpc ${COMPILE_CLEAN}
+ ${COMPILE_PART1} libafsauthent ${COMPILE_CLEAN}
+ ${COMPILE_PART1} libadmin ${COMPILE_CLEAN}
+ ${COMPILE_PART1} libadmin/adminutil ${COMPILE_CLEAN}
+ ${COMPILE_PART1} libadmin/client ${COMPILE_CLEAN}
+ ${COMPILE_PART1} libadmin/vos ${COMPILE_CLEAN}
+ ${COMPILE_PART1} libadmin/kas ${COMPILE_CLEAN}
+ ${COMPILE_PART1} libadmin/pts ${COMPILE_CLEAN}
+ ${COMPILE_PART1} libadmin/bos ${COMPILE_CLEAN}
+ ${COMPILE_PART1} libadmin/cfg ${COMPILE_CLEAN}
+ ${COMPILE_PART1} libadmin/test ${COMPILE_CLEAN}
+ ${COMPILE_PART1} libadmin/samples ${COMPILE_CLEAN}
+ ${COMPILE_PART1} finale ${COMPILE_CLEAN}
+ ${COMPILE_PART1} mpp ${COMPILE_CLEAN}
+ ${COMPILE_PART1} package ${COMPILE_CLEAN}
+ ${COMPILE_PART1} ntp ${COMPILE_CLEAN}
+ ${COMPILE_PART1} ftpd43+ ${COMPILE_CLEAN}
+ ${COMPILE_PART1} inetd ${COMPILE_CLEAN}
+ ${COMPILE_PART1} rsh ${COMPILE_CLEAN}
+ ${COMPILE_PART1} rlogind ${COMPILE_CLEAN}
+ ${COMPILE_PART1} rcp ${COMPILE_CLEAN}
+ ${COMPILE_PART1} libafs ${COMPILE_CLEAN}
+ ${COMPILE_PART1} libuafs ${COMPILE_CLEAN}
links:
echo "Remove the obj directory"
cd src; \
for file in `find [!NW]* -type f -print` ; do \
/bin/ln -s `pwd`/$${file} $${here}/obj/$${file} ; \
- done; \
- /bin/ln -s $${here}/obj/afsconfig.h.in $${here}/obj/config/afsconfig.h ;
-
-# config.h link will eventually be replaced with generating the file
-# directly from config.h.in via configure run. I'm linking instead of
-# copying to ease development for now
+ done;
#
# Below targets are all deprecated, insecure, or obsolte,
*) echo skipping deprecated target: ntp ;; \
esac
-sgistuff: project rlogind
- @case ${WITH_OBSOLETE} 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_INSECURE} in \
YES) case ${SYS_NAME} in \