#
#ident "@(#)smail:RELEASE-3_2_0_121:Makefile,v 1.30 2004/07/29 19:08:27 woods Exp"
#
# Top-level makefile for the smail source tree
#
# Copyright (C) 1987, 1988 Ronald S. Karr and Landon Curt Noll
# Copyright (C) 1992 Ronald S. Karr
#
# See the file COPYING, distributed with smail, for restriction
# and warranty information.
ROOT=.
THIS_DIR=
# Note: the Sys-III/Sys-V compatible "include" statement is supported
# in all reasonably modern versions of Make in common use today,
# including GNU Make and all major derivatives of the 4.4BSD PMake
# (except FreeBSD-2.1 and older which didn't turn the feature on in
# the default build, but that was a long time ago already :-).
include ${ROOT}/conf/Make.local
MKDEPEND=${ROOT}/conf/lib/mkdepend.sh
MKDIRS=${ROOT}/conf/lib/mkdirs.sh
MKDEFS=${ROOT}/conf/lib/mkdefs.sh
CHECKDEFS=${ROOT}/conf/lib/checkdefs.sh
INST=${ROOT}/conf/lib/inst.sh
INSTM=${ROOT}/conf/lib/instm.sh
XEXEC=${SHELL} ${ROOT}/conf/lib/xexec.sh
DEFS_SH=defs.sh
DEFS_H=defs.h
DEFS_SED=defs.sed
SRC_SUBDIRS=util src
SUB_DIRS=conf compat pd ${SRC_SUBDIRS} man
MORE_SUB_DIRS=guide NOTES
.PHONY: all install local-install clean local-clean clobber local-clobber depend local-depend
.PHONY: lint mkdefs defs check_defs tags TAGS
.PHONY: everything all-more-subdirs install-everything install-more-subdirs installman install.man
# NOTE: The old-style "include" can't be used for the .depend files
# because they may not exist and there's no way to ignore file access
# errors with that syntax.
all install clean clobber depend lint mkdefs defs: ${DOT_MAKE}
@for i in ${SUB_DIRS}; do \
echo "Making $@ under $$i ..."; \
(cd $$i && { if [ -f .depend ] ; then \
DEPMKFILE="-f Makefile -f .depend"; \
fi; ${MAKE} $$DEPMKFILE $@; } ); \
rc=$$?; \
if [ $$rc -ne 0 ] ; then \
exit $$rc; \
fi; \
done
all install: ${DEFS_SH}
everything: all all-more-subdirs
all-more-subdirs: ${DOT_MAKE}
@for i in ${MORE_SUB_DIRS}; do \
echo "Making all under $$i ..."; \
(cd $$i && { if [ -f .depend ] ; then \
DEPMKFILE="-f Makefile -f .depend"; \
fi; ${MAKE} $$DEPMKFILE all; } ); \
rc=$$?; \
if [ $$rc -ne 0 ] ; then \
exit $$rc; \
fi; \
done
etags ETAGS tags TAGS: ${DOT_MAKE}
@for i in ${SRC_SUBDIRS}; do \
echo "Making $@ under $$i ..."; \
(cd $$i && { if [ -f .depend ] ; then \
DEPMKFILE="-f Makefile -f .depend"; \
fi; ${MAKE} $$DEPMKFILE $@; } ); \
rc=$$?; \
if [ $$rc -ne 0 ] ; then \
exit $$rc; \
fi; \
done
${DEFS_H} ${DEFS_SH} ${DEFS_SED}: ${ROOT}/conf/EDITME
ROOT=${ROOT} ${SHELL} ${MKDEFS}
.PRECIOUS: ${ROOT}/conf/EDITME
${ROOT}/conf/EDITME: ${DOT_MAKE} # cannot depend on anything else!
cd ${ROOT}/conf && ${MAKE} EDITME
depend: local-depend
local-depend: ${DEFS_SH} check_defs
@rm -f .depend
. ./${DEFS_SH}; echo "$$DEFS_DEPEND" >> .depend
# Note: don't try to source DEFS_SH and thus don't use XEXEC
#
check_defs:
SHELL=${SHELL} ROOT=${ROOT} ${SHELL} ${CHECKDEFS}
mkdefs defs: ${DEFS_H} ${DEFS_SH} ${DEFS_SED}
install: local-install
local-install: ${DEFS_SH}
@. ./${DEFS_SH}; \
case "$$DONT_INSTALL" in \
?*) echo Testing only ... $@ ignored; exit 0;; \
esac; \
${XEXEC} ${SHELL} ${INSTM} -r -m 0444 $$LIB_DIR COPYING
install-everything: install install-more-subdirs
install-more-subdirs: ${DOT_MAKE}
@for i in ${MORE_SUB_DIRS}; do \
echo "Install targets under $$i ..."; \
(cd $$i && { if [ -f .depend ] ; then \
DEPMKFILE="-f Makefile -f .depend"; \
fi; ${MAKE} $$DEPMKFILE install; } ); \
rc=$$?; \
if [ $$rc -ne 0 ] ; then \
exit $$rc; \
fi; \
done
clean: local-clean
local-clean:
rm -f .${DEFS_SH} .${DEFS_H} .${DEFS_SED}
clobber: clean local-clobber
local-clobber: local-clean
rm -f .depend
rm -f ${DEFS_SH} ${DEFS_H} ${DEFS_SED}
syntax highlighted by Code2HTML, v. 0.9.1