#
#ident	"@(#)smail/pd/getopt:RELEASE-3_2_0_115:Makefile,v 1.19 2003/06/18 07:03:37 woods Exp"
#
# Makefile for getopt

SHELL=/bin/sh
AR=ar
LINT=lint

MKDEPEND=${ROOT}/conf/lib/mkdepend.sh
MKDEFS=${ROOT}/conf/lib/mkdefs.sh
CHECKDEFS=${ROOT}/conf/lib/checkdefs.sh
MKDIRS=${ROOT}/conf/lib/mkdirs.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

ROOT=../..
SMAILSRC=${ROOT}/src
UTIL_TARGETS=getopt
OBJ_TARGETS=get_opt.o
TARGETS=${UTIL_TARGETS} ${OBJ_TARGETS}
CSRC=getopt.c get_opt.c
MISCSRC=Makefile
SRC=${CSRC} ${MISCSRC}
OBJ=get_opt.o getopt.o
COMPAT_LIB_DIR=${ROOT}/compat
COMPAT_LIB=${COMPAT_LIB_DIR}/libcompat.a

all:	${TARGETS}

getopt: getopt.o ${COMPAT_LIB} ${DEFS_SH}
	@. ./${DEFS_SH}; ${XEXEC} $$CC $$LDFLAGS getopt.o -o getopt \
		$$LIBS ${COMPAT_LIB}

getopt.o: getopt.c ${DEFS_SH}
	@. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS $$INCLUDES -c getopt.c

get_opt.o: get_opt.c ${DEFS_SH}
	@. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS $$INCLUDES -c get_opt.c

mkdefs ${DEFS_SH} ${DEFS_H} ${DEFS_SED}: ${ROOT}/conf/EDITME
	ROOT=${ROOT} ${SHELL} ${MKDEFS}

${ROOT}/conf/EDITME: .MAKE # cannot depend on anything else!
	cd ${ROOT}/conf && ${MAKE} EDITME

${COMPAT_LIB}: .MAKE
	@if [ -f ${COMPAT_LIB_DIR}/.depend ] ; then 	\
		DEPMKFILE="-f Makefile -f .depend";	\
	fi;						\
	echo "cd ${COMPAT_LIB_DIR} && ${MAKE} $$DEPMKFILE all";	\
	cd ${COMPAT_LIB_DIR} && ${MAKE} $$DEPMKFILE all

depend: ${SRC} check_defs
	@rm -f .depend
	@. ./${DEFS_SH}; \
		${XEXEC} ${SHELL} ${MKDEPEND} $$CPPFLAGS $$INCLUDES ${CSRC}
	. ./${DEFS_SH}; echo "$$DEFS_DEPEND" >> .depend

check_defs:
	SHELL=${SHELL} ROOT=${ROOT} ${SHELL} ${CHECKDEFS}

install: ${UTIL_TARGETS} ${DEFS_SH}
	@. ./${DEFS_SH}; \
	   case "$$DONT_INSTALL" in \
	   ?*)	echo Testing ... install ignored; exit 0;; \
	   esac; \
	   ${XEXEC} ${SHELL} ${MKDIRS} -m 0755 $$UTIL_BIN_DIR; \
	   s_flag=; \
	   case "$$STRIP" in \
	   ?*)	s_flag=-s;;\
	   esac; \
	   ${XEXEC} ${SHELL} ${INSTM} $$s_flag -m 0555 $$UTIL_BIN_DIR \
		${UTIL_TARGETS}

clean:
	rm -f .${DEFS_SH} .${DEFS_H} .${DEFS_SED}
	rm -f ${OBJ} core a.out

clobber: clean
	rm -f .depend
	rm -f ${DEFS_SH} ${DEFS_H} ${DEFS_SED}
	rm -f ${TARGETS}

.MAKE:

.PHONY: all install local-install clean local-clean clobber local-clobber depend local-depend lint mkdefs check_defs tags TAGS
.PHONY: .MAKE
