###############################################################################
#   Instructions to Make, for compilation of the PARADISE de interface
#   running over LDAP on an MS-DOS PC with MSC7.0
###############################################################################

###############################################################################
#
#				 NOTICE
#
#    Acquisition, use, and distribution of this module and related
#    materials are subject to the restrictions of a license agreement.
#    Consult the Preface in the User's Manual for the full terms of
#    this agreement.
#
###############################################################################

###############################################################################
# The following items may need modifying...
###############################################################################

NOLOGO	=	/nologo
LDAPDIR	=	\tmp\ldap
LDCC	=	link
CC	=	cl $(NOLOGO)
LIBES	=	$(LDAPDIR)\libldap\libldap.lib $(LDAPDIR)\liblber\liblber.lib
# Uncomment next line for PC-NFS build
CFLAGS	=	/c /AL /Oas /W3 /DUSELDAP /DDOS /DPCNFS /DNOPOWER /DNEEDPROTOS /I. /I$(LDAPDIR)\h
# Uncomment next line for NCSA build
#CFLAGS	=	/c /AL /Ox /W0 /DNOPOWER /DUSELDAP /DDOS /DMSC /DNEEDPROTOS /I. /I..\ncsa\ldap\h
# Uncomment next line for LWP build
#CFLAGS	=	/c /AL /Oas /W3 /DUSELDAP /DDOS /DLWP /DNEEDPROTOS /I. /I$(LDAPDIR)\h
LDFLAGS	=	/m /SEG:256 /ST:8192

###############################################################################
# FILES
###############################################################################

CFILES	=	de.c bind.c init.c util.c filt.c people.c ou.c org.c loc.c \
                country.c cname.c video.c list.c atts.c pager.c mapatt.c  \
		dehelp.c rawinput.c mapphone.c fixedfil.c ufnp.c deufn.c \
		isode.c ldapcom.c asyndap.c power.c

OFILES	=	de.obj bind.obj init.obj util.obj filt.obj people.obj \
		ou.obj org.obj loc.obj \
                country.obj cname.obj video.obj list.obj \
		atts.obj pager.obj mapatt.obj \
		dehelp.obj rawinput.obj mapphone.obj fixedfil.obj \
		ufnp.obj deufn.obj \
		isode.obj ldapcom.obj asyndap.obj power.obj

SOBJS =		people.obj ou.obj org.obj loc.obj country.obj ufnp.obj \
		deufn.obj asyndap.obj power.obj

UOBJS =		cname.obj video.obj list.obj atts.obj pager.obj mapatt.obj \
		dehelp.obj rawinput.obj mapphone.obj fixedfil.obj isode.obj \
		ldapcom.obj bind.obj init.obj util.obj filt.obj

HFILES  =       bind.h config.h destrings.h namelist.h util.h \
                cnamelist.h demanifest.h filter.h types.h mapatts.h \
		mapphone.h query.h isomanifest.h asyn.h messages.h

DEFILES =       debrowse decricket deex2 deorginfo dewelcome decommands \
                dedept dehelp deperson dewildcards decountry deex1 deorg \
       		detailor determtypes


##############################################################
# Here it is...
##############################################################

# For PC-NFS build
all:            nfs-de.exe
# For NCSA build
#all:            ncsa-de.exe
# For LWP build
#all:            lwp-de.exe

###################################################################
# de
###################################################################

nfs-de.exe:		de.obj util.lib search.lib $(LIBES)
	$(LDCC) $(LDFLAGS) de,nfs-de,nul,search+util+$(LDAPDIR)\libldap\libldap+$(LDAPDIR)\liblber\liblber+ltklib+graphics ;

ncsa-de.exe:		de.obj util.lib search.lib $(LIBES)
	copy de.obj ..\ncsa\lib\ncsa-de.obj
	copy util.lib ..\ncsa\lib\util.lib
	copy search.lib ..\ncsa\lib\search.lib
	cd ..\ncsa\lib
	link $(LDFLAGS) ncsa-de+memdebug+ncsaio,ncsa-de,nul,search+util+liblber+libldap+graphics+tcp+sess+enet+common ;
	copy ncsa-de.exe ..\icde
	del ncsa-de.obj
	del util.lib
	del search.lib

lwp-de.exe:		de.obj util.lib search.lib $(LIBES)
	$(LDCC) $(LDFLAGS) de,lwp-de,nul,search+util+$(LDAPDIR)\libldap\libldap+$(LDAPDIR)\liblber\liblber+llibsock+graphics ;

###############################################################################
# Everything below here should be OK...
###############################################################################

search.lib:	$(SOBJS)
	del search.lib
	lib $(NOLOGO) search.lib +people.obj+ou.obj+org.obj+loc.obj+country.obj ;
	lib $(NOLOGO) search.lib +ufnp.obj+deufn.obj+asyndap.obj+power.obj ;

util.lib:	$(UOBJS)
	del util.lib
	lib $(NOLOGO) util.lib +cname.obj+video.obj+list.obj+atts.obj+pager.obj ;
	lib $(NOLOGO) util.lib +mapatt.obj+dehelp.obj+rawinput.obj+mapphone.obj ;
	lib $(NOLOGO) util.lib +fixedfil.obj+isode.obj+ldapcom.obj+bind.obj ;
	lib $(NOLOGO) util.lib +init.obj+util.obj+filt.obj ;

de.obj : de.c
	$(CC) $(CFLAGS) de.c

bind.obj : bind.c
	$(CC) $(CFLAGS) bind.c

init.obj : init.c
	$(CC) $(CFLAGS) init.c

util.obj : util.c
	$(CC) $(CFLAGS) util.c

filt.obj : filt.c
	$(CC) $(CFLAGS) filt.c

people.obj : people.c
	$(CC) $(CFLAGS) people.c

ou.obj : ou.c
	$(CC) $(CFLAGS) ou.c

org.obj : org.c
	$(CC) $(CFLAGS) org.c

loc.obj : loc.c
	$(CC) $(CFLAGS) loc.c

country.obj : country.c
	$(CC) $(CFLAGS) country.c

cname.obj : cname.c
	$(CC) $(CFLAGS) cname.c

video.obj : video.c
	$(CC) $(CFLAGS) video.c

list.obj : list.c
	$(CC) $(CFLAGS) list.c

atts.obj : atts.c
	$(CC) $(CFLAGS) atts.c

pager.obj : pager.c
	$(CC) $(CFLAGS) pager.c

mapatt.obj : mapatt.c
	$(CC) $(CFLAGS) mapatt.c

dehelp.obj : dehelp.c
	$(CC) $(CFLAGS) dehelp.c

rawinput.obj : rawinput.c
	$(CC) $(CFLAGS) rawinput.c

mapphone.obj : mapphone.c
	$(CC) $(CFLAGS) mapphone.c

fixedfil.obj : fixedfil.c
	$(CC) $(CFLAGS) fixedfil.c

ufnp.obj : ufnp.c
	$(CC) $(CFLAGS) ufnp.c

deufn.obj : deufn.c
	$(CC) $(CFLAGS) deufn.c

isode.obj : isode.c
	$(CC) $(CFLAGS) isode.c

ldapcom.obj : ldapcom.c
	$(CC) $(CFLAGS) ldapcom.c

asyndap.obj : asyndap.c
	$(CC) $(CFLAGS) asyndap.c

power.obj : power.c
	$(CC) $(CFLAGS) power.c

##############################################################
# clean
##############################################################

clean:
	del *.obj
	del *.lib
	del *.exe
