#
# MAKEFILE
#
# OLE Schmoo Server
# Copyright(c) Microsoft Corp. 1992 All Rights Reserved
#

#Remove '#' from next line for "silent" operation
!CMDSWITCHES +s

#Compiler and assembler flags
#RETAIL
CFLAGS=-c -Gsw -W2 -AS -Oas -Zpe

#DEBUG
#CFLAGS=-c -Gsw -W3 -AS -Od -Zipe

#Standard definitions.
DEFS=-DDEBUG -DMAKEOLESERVER -DSERVERONLY
#DEFS=-DMAKEOLESERVER -DSERVERONLY

#Files on which every C file depends.  Add others as appropriate
INCLS=schmoo.h
OLEINCLS=$(INCLS) oleglobl.h

.SUFFIXES: .h .c .asm .obj .exe .cxx .res .rc .bas

goal:  schmoo.exe


OBJS1     = schmoo.obj init.obj polyline.obj misc.obj
OBJS2     = commdlg.obj file.obj fileio.obj clip.obj exit.obj

OLEOBJS1  = oleglobl.obj oleinst.obj oleinit.obj oleexit.obj
OLEOBJS2  = olevtbl.obj olesvr.obj oledoc.obj oleobj.obj
OLEOBJS3  = oleclip.obj olemisc.obj olefile.obj

OBJS      = $(OBJS1) $(OBJS2) $(OLEOBJS1) $(OLEOBJS2) $(OLEOBJS3)


RCFILES=schmoo.dlg schmoo.ico

#####

.c.obj:
    echo ++++++++++
    echo Compiling $*.c
    cl $(CFLAGS) $(DEFS) $*.c


.asm.obj:
    echo +++++++++
    echo ASSEMBLING $*.asm
    masm $(AFLAGS) $(DEFS) $*.asm


.rc.res:
    echo +++++++++
    echo Compiling Resources
    rc -r $*.rc


schmoo.exe : $(OBJS) schmoo.res
    link @schmoo.lnk
    rc schmoo.res




##### Dependencies #####

#Code unaffected by OLE
misc.obj      : misc.c      $(INCLS)
fileio.obj    : fileio.c    $(INCLS)
polyline.obj  : polyline.c  $(INCLS)
commdlg.obj   : commdlg.c   $(INCLS)
schmoo.res    : schmoo.rc   $(INCLS) $(RCFILES)

#Code calling OLE functions
schmoo.obj    : schmoo.c    $(INCLS)
exit.obj      : exit.c      $(OLEINCLS)
init.obj      : init.c      $(OLEINCLS) oleinst.h
file.obj      : file.c      $(OLEINCLS)
clip.obj      : clip.c      $(OLEINCLS)


#OLE-Specific code.
oleglobl.obj  : oleglobl.c  $(OLEINCLS)
oleinst.obj   : oleinst.c   $(OLEINCLS)
oleinit.obj   : oleinit.c   $(OLEINCLS)
oleexit.obj   : oleexit.c   $(OLEINCLS)
olefile.obj   : olefile.c   $(OLEINCLS)
olevtbl.obj   : olevtbl.c   $(OLEINCLS)
olesvr.obj    : olesvr.c    $(OLEINCLS)
oledoc.obj    : oledoc.c    $(OLEINCLS)
oleobj.obj    : oleobj.c    $(OLEINCLS)
oleclip.obj   : oleclip.c   $(OLEINCLS)
olewait.obj   : olewait.c   $(OLEINCLS)
