#
#  This Makefile is designed to work on the old "make" program.  It does
#  not use the obj subdirectory.  It also does not install documentation
#  automatically -- think of it as a quick start for sites that have the
#  old make program (I recommend that you get and port the new make if you
#  are going to be doing any signficant work on sendmail).
#
#	You may find you need to find versions of some routines
#	such as strcasecmp in order to link this on SunOS 4.0.3.
#
#	@(#)Makefile.SunOS.4.0.3	8.3 (Berkeley) 4/11/94
#

ifeq   "$(BUILD_CPU)" "i386"
CPU_DEFINES=-D_X86_ -D_M_IX86 
DLL_ENTRY=_CRT_INIT@12
MACHINE_DEFINE=-machine:iX86
endif

ifeq   "$(BUILD_CPU)" "MIPS"
CPU_DEFINES=_MIPS_
DLL_ENTRY=_CRT_INIT
MACHINE_DEFINE=-machine:MIPS
endif

ifeq   "$(BUILD_CPU)" "ALPHA"
CPU_DEFINES=_ALPHA_
DLL_ENTRY=_CRT_INIT
MACHINE_DEFINE=-machine:ALPHA
endif

ifeq   "$(BUILD_DEBUG)" "yes"
CDEBUGFLAGS= -Od -Zi
LINKDEBUGF= -debug:full -debugtype:cv
else
CDEBUGFLAGS= -Ox
endif

LINK = link

LIBDB = e:/msport/db.1.79.nt/PORT.now/win32/libdb.lib

BUILD_PROG = -subsystem:console -entry:mainCRTStartup

# use O=-O (usual) or O=-g (debugging)
#O=	-g

# define the database mechanisms available for map & alias lookups:
#	-DNDBM -- use new DBM
#	-DNEWDB -- use new Berkeley DB
#	-DNIS -- include NIS support
# The really old (V7) DBM library is no longer supported.
# See READ_ME for a description of how these flags interact.
#
DBMDEF=	-DNDBM -DNEWDB
# -DNIS

# environment definitions (e.g., -D_AIX3)
ENVDEF=	-DMSWIN32

# see also conf.h for additional compilation flags

# include directories
INCDIRS=-IPORT/win32/include -Ie:/msport/db.1.79.nt/PORT.now/win32/include -Ie:/mstools/h/crt -Ie:/mstools/h


CC = cl



#COPTS = -bwinnt386 -nostdinc 
# loader options
LDOPTS=	-Bstatic

# library directories
LIBDIRS=-L/usr/sww/lib

# libraries required on your system
LIBS=	-ldb -ldbm -lresolv

# location of sendmail binary (usually /usr/sbin or /usr/lib)
BINDIR=	${DESTDIR}/usr/lib

# location of sendmail.st file (usually /var/log or /usr/lib)
STDIR=	${DESTDIR}/etc

# location of sendmail.hf file (usually /usr/share/misc or /usr/lib)
HFDIR=	${DESTDIR}/usr/lib

# additional .o files needed
OBJADD=

BEFORE=	stdlib.h stddef.h

###################  end of user configuration flags  ######################

WIN32FLAGS =  -D_X86_ -D_DLL -U__STDC__ -DWIN32 -D_MT -D_M_IX86 -DWIN32_LEAN_AND_MEAN   

CFLAGS=	-I. ${CDEBUGFLAGS} ${CPU_DEFINES} ${COPTS} ${INCDIRS} ${DBMDEF} ${ENVDEF} ${WIN32FLAGS}  

OBJS=	alias.obj arpadate.obj clock.obj collect.obj convtime.obj daemon.obj \
	deliver.obj domain.obj envelope.obj err.obj headers.obj macro.obj main.obj \
	map.obj mci.obj parseaddr.obj queue.obj readcf.obj recipient.obj \
	savemail.obj srvrsmtp.obj stab.obj stats.obj sysexits.obj \
	trace.obj udb.obj usersmtp.obj util.obj version.obj ${OBJADD} conf.obj

LINKS=	${DESTDIR}/usr/ucb/newaliases ${DESTDIR}/usr/ucb/mailq
BINOWN=	root
BINGRP=	kmem
BINMODE=6555

ALL=	sendmail 

all: ${ALL}




.c.o:
	$(CC) -c $(CFLAGS) $*.c






sendmail: ${BEFORE} ${OBJS}
	${LINK} -nodefaultlib \
-out:sendmail.exe \
${BUILD_PROG} \
${MACHINE_DEFINE} \
${LINKDEBUGF} \
${OBJS}       \
${LIBDB}      \
e:/mstools/lib/kernel32.lib e:/mstools/lib/wsock32.lib


#stddef.h stdlib.h:
#	cp /dev/null $@

NROFF=	nroff -h

#aliases.0: aliases.5
#	${NROFF} -mandoc aliases.5 > aliases.0
#
#mailq.0: mailq.1
#	${NROFF} -mandoc mailq.1 > mailq.0
#
#newaliases.0: newaliases.1
#	${NROFF} -mandoc newaliases.1 > newaliases.0
#
#sendmail.0: sendmail.8
#	${NROFF} -mandoc sendmail.8 > sendmail.0
#
#install: install-sendmail install-docs
#
#install-sendmail: sendmail
#	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
#	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
#	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
#	    ${STDIR}/sendmail.st
#	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
#
# doesn't actually install them -- you may want to install pre-nroff versions
#install-docs: aliases.0 mailq.0 newaliases.0 sendmail.0

clean:
	rm -f ${OBJS} sendmail aliases.0 mailq.0 newaliases.0 sendmail.0

# dependencies
#   gross overkill, and yet still not quite enough....
${OBJS}: sendmail.h conf.h
