#
#ident "@(#)smail/compat:RELEASE-3_2_0_121:Makefile,v 1.25 2004/07/25 17:22:00 woods Exp"
#
# Makefile for the smail compat library.
#
# 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=compat
include ${ROOT}/conf/Make.local
MKDEPEND=${ROOT}/conf/lib/mkdepend.sh
MKDEFS=${ROOT}/conf/lib/mkdefs.sh
CHECKDEFS=${ROOT}/conf/lib/checkdefs.sh
XEXEC=${SHELL} ${ROOT}/conf/lib/xexec.sh
DEFS_SH=defs.sh
DEFS_H=defs.h
DEFS_SED=defs.sed
DUMMY_OBJ=dummy.o
DUMMY_CSRC=dummy.c
SIGNAME_OBJ=signame.o
SIGNAME_CSRC=signame.c
SYS5_STRLIB=_str2set.o strpbrk.o strspn.o strcspn.o
STRLIB_DIR=${ROOT}/pd/strlib
GETOPT_OBJ=get_opt.o
GETOPT_DIR=${ROOT}/pd/getopt
COMPAT_LIB=libcompat.a
.c.o:
@. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS -I${ROOT}/src $$INCLUDES -c $*.c
all: ${COMPAT_LIB}
# NOTE: even though this target's rules use ${MAKE}, it should not
# depend on .MAKE. Splitting this out would mandate "make depend"
#
# Versions of 'make' that always execute rules containing "${MAKE}"
# will end up running 'ar' and 'ranlib', but usually with no harmful
# side effects.
#
${COMPAT_LIB}: Makefile ${DEFS_SH} ${DUMMY_OBJ}
@. ./${DEFS_SH}; \
case "$$HAVE_SYS5_STRLIB" in \
'') if [ -f ${STRLIB_DIR}/.depend ] ; then \
DEPMKFILE="-f Makefile -f .depend"; \
else DEPMKFILE=""; fi; \
echo " cd ${STRLIB_DIR} && ${MAKE} $$DEPMKFILE ${SYS5_STRLIB}"; \
(cd ${STRLIB_DIR} && ${MAKE} $$DEPMKFILE ${SYS5_STRLIB}); \
rc=$$?; \
if [ $$rc -ne 0 ] ; then \
exit $$rc; \
fi; \
for i in ${SYS5_STRLIB}; do \
${XEXEC} ${AR} rc ${COMPAT_LIB} ${STRLIB_DIR}/$$i; \
done;; \
esac; \
case "$$HAVE_GETOPT" in \
'') if [ -f ${GETOPT_DIR}/.depend ] ; then \
DEPMKFILE="-f Makefile -f .depend"; \
else DEPMKFILE=""; fi; \
echo " cd ${GETOPT_DIR} && ${MAKE} $$DEPMKFILE ${GETOPT_OBJ}"; \
(cd ${GETOPT_DIR} && ${MAKE} $$DEPMKFILE ${GETOPT_OBJ}); \
rc=$$?; \
if [ $$rc -ne 0 ] ; then \
exit $$rc; \
fi; \
for i in ${GETOPT_OBJ}; do \
${XEXEC} ${AR} rc ${COMPAT_LIB} ${GETOPT_DIR}/$$i; \
done;; \
esac; \
case "$$HAVE_SYS_SIGNAME/$$HAVE_SIG2STR" in \
'/') if [ -f .depend ] ; then \
DEPMKFILE="-f Makefile -f .depend"; \
else DEPMKFILE=""; fi; \
echo " ${MAKE} $$DEPMKFILE ${SIGNAME_OBJ}"; \
${MAKE} $$DEPMKFILE ${SIGNAME_OBJ}; \
rc=$$?; \
if [ $$rc -ne 0 ] ; then \
exit $$rc; \
fi; \
for i in ${SIGNAME_OBJ}; do \
${XEXEC} ${AR} rc ${COMPAT_LIB} $$i; \
done;; \
esac; \
${XEXEC} ${AR} rc ${COMPAT_LIB} ${DUMMY_OBJ}; \
${XEXEC} $$RANLIB ${COMPAT_LIB}
${SIGNAME_OBJ}: ${DEFS_SH} ${SIGNAME_CSRC} Makefile
${SIGNAME_CSRC}: mksigname.sh siglist.in ${DEFS_SH} Makefile
@rm -f ${SIGNAME_CSRC}
@. ./${DEFS_SH}; \
${XEXEC} ${SHELL} mksigname.sh siglist.in ${SIGNAME_CSRC}
mkdefs defs ${DEFS_SH} ${DEFS_H} ${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
# XXX note that we don't go off to 'make depend' for STRLIB_DIR, nor
# for GETOPT_DIR. Those should be created by the initial "make depend"
# done from the top level.
#
depend: check_defs
@rm -f .depend
@. ./${DEFS_SH}; \
files="dummy.c"; \
case "$$HAVE_SYS_SIGNAME/$$HAVE_SIG2STR" in \
'/') \
${XEXEC} ${MAKE} ${SIGNAME_CSRC}; \
files="$$files ${SIGNAME_CSRC}";; \
esac; \
${XEXEC} ${SHELL} ${MKDEPEND} $$CPPFLAGS $$INCLUDES $$files
@. ./${DEFS_SH}; \
case "$$HAVE_SYS5_STRLIB" in \
'') \
for i in ${SYS5_STRLIB}; do \
echo " echo \"${COMPAT_LIB}: $$i\" >> .depend"; \
echo "${COMPAT_LIB}: $$i" >> .depend; \
done;; \
esac; \
case "$$HAVE_GETOPT" in \
'') \
for i in ${GETOPT_OBJ}; do \
echo " echo \"${COMPAT_LIB}: $$i\" >> .depend"; \
echo "${COMPAT_LIB}: $$i" >> .depend; \
done;; \
esac; \
case "$$HAVE_SYS_SIGNAME/$$HAVE_SIG2STR" in \
'/') \
for i in ${SIGNAME_OBJ}; do \
echo " echo \"${COMPAT_LIB}: $$i\" >> .depend"; \
echo "${COMPAT_LIB}: $$i" >> .depend; \
done;; \
esac
@. ./${DEFS_SH}; \
echo "$$DEFS_DEPEND" >> .depend
check_defs:
SHELL=${SHELL} ROOT=${ROOT} ${SHELL} ${CHECKDEFS}
install:
clean:
rm -f .${DEFS_SH} .${DEFS_H} .${DEFS_SED}
rm -f ${DUMMY_OBJ} ${SYS5_STRLIB} ${GETOPT_OBJ} ${BSTRING}
rm -f ${SIGNAME_OBJ} ${SIGNAME_CSRC}
rm -f a.out core
rm -f ${COMPAT_LIB}
clobber: clean
rm -f .depend
rm -f ${DEFS_SH} ${DEFS_H} ${DEFS_SED}
.PHONY: all install local-install clean local-clean clobber local-clobber depend local-depend lint mkdefs defs check_defs tags TAGS
syntax highlighted by Code2HTML, v. 0.9.1