####
#makefile - makefile for dspcalc2.exe
#
#       Copyright (C) 1992, Microsoft Corporation
#
#Purpose:
#  Builds the OLE 2.0 sample IDispatch server, dspcalc2.exe.
#
#
#  Usage: NMAKE                 ; build with defaults
#     or: NMAKE option          ; build with the given option(s)
#     or: NMAKE clean           ; erase all compiled files
#
#         option:
#                DEBUG=[0|1]                    ; DEBUG=1 is the default
#                HOST=[DOS|NT]                  ; HOST=DOS (for win16)
#                                                               ; HOST=NT (for win32)
#
#Notes:
#  This makefile assumes that the PATH, INCLUDE and LIB environment
#  variables are setup properly.
#
##############################################################################


##########################################################################
#
# Default Settings
#

!ifndef HOST
!if "$(OS)" != "Windows_NT"
HOST  = DOS
!else
HOST = NT
!endif
!endif

!if "$(DEBUG)" == ""
DEBUG = 1
!endif

##########################################################################
#
# WIN16 Settings
#

CC   = cl
LINK = link
!if "$(HOST)" == "DOS"
WX   = wx /w
!else
WX   =
!endif

RCFLAGS = -DWIN16
CFLAGS = -W3 -AM -GA -GEs -DWIN16
LINKFLAGS = /NOD /NOI /BATCH /ONERROR:NOEXE

LIBS = libw.lib mlibcew.lib

!if "$(DEBUG)" == "1"
CFLAGS = $(CFLAGS) -Od -Zi -D_DEBUG
LINKFLAGS = $(LINKFLAGS) /COD
!else
CFLAGS = $(CFLAGS) -Ox
LINKFLAGS = $(LINKFLAGS) /FAR /PACKC
!endif

##########################################################################
#
# Build rules
#

.cpp.obj:
		$(CC) $(CFLAGS) -c $<

.c.obj:
		$(CC) $(CFLAGS) -c $<


##########################################################################
#
# Application Settings
#

APPS = dspcalc2


LIBS = ole2.lib compobj.lib ole2disp.lib typelib.lib $(LIBS)

OBJS = \
		main.obj        \
		dspcalc2.obj    \
		clsid.obj

##########################################################################
#
# Default Goal
#

goal : $(APPS).exe


##########################################################################
#
# Clean (erase) generated files
#
clean :
	if exist *.obj       del *.obj
	if exist $(APPS).exe del $(APPS).exe
	if exist $(APPS).tlb del $(APPS).tlb
	if exist $(APPS).map del $(APPS).map
	if exist $(APPS).res del $(APPS).res
	if exist $(APPS).rs  del $(APPS).rs
	if exist calctype.h  del calctype.h
	if exist *.log       del *.log
	if exist *.pdb       del *.pdb


##########################################################################
#
# Application Build (WIN16 Specific)
#

$(APPS).exe : $(OBJS) $(APPS).def $(APPS).res $(APPS).ico
		link $(LINKFLAGS) @<<
$(OBJS),
$@,,
$(LIBS),
$(APPS).def
<<
		rc -k -t $(APPS).res $@


##########################################################################
#
# Application Build (Common)
#

$(APPS).res : $(APPS).rc
		rc $(RCFLAGS) -r -fo$@ $?


##########################################################################
#
# Dependencies
#

calctype.h : calctype.odl
		if exist calctype.h     del calctype.h
		if exist dspcalc2.tlb del dspcalc2.tlb
		$(WX) mktyplib /nocpp /h calctype.h /o calctype.log /tlb dspcalc2.tlb calctype.odl

main.obj : main.cpp dspcalc2.h calctype.h

dspcalc2.obj : dspcalc2.cpp dspcalc2.h calctype.h

clsid.obj : clsid.c clsid.h
