#
# Configuration items.
#
# If WIN32, either define the environment variable CPU or WIN32 within this makefile
#

#LIGHT=-DLIGHT
#DEBUG=1
WIN32=1
!if Defined(CPU) || Defined(WIN32)
WIN32=1
PLATFORM=WIN32
DEF_FILT=-kWIN32
!else
PLATFORM=WIN16
DEF_FILT=-kWIN16
!endif

PROJ=vrml

INCDEF=-I..\cwstart -I..\include 
LIBDIR=..\lib\$(PLATFORM)
DLLDIR=$(PLATFORM)
OBJDIR=$(PLATFORM)
CWSTART=..\cwstart\cwstart.h
EXPORTS=..\include\exports.h

all: $(DLLDIR)\$(PROJ).dll


!ifdef WIN32

!ifdef DEBUG
CCOPT   =-Od -YX /Fp$(OBJDIR)\$(PROJ).pch
LINKDBG =/DEBUG /DEBUGTYPE:BOTH
!else
CCOPT   =-Ow
LINKDBG =
!endif
CC      =cl -W3 -c $(INCDEF) -DSTRICT -G3 -Zp1i $(CCOPT) -DNDEBUG -D_X86_ -DWIN32 /Fd$(OBJDIR)\$(PROJ).pdb
LINKLIBS=libc.lib oldnames.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib $(LIBDIR)\cwdll32.lib $(LIBDIR)\cwstart.lib
LFLAGS  =$(LINKDBG) /MAP:$(OBJDIR)\$(PROJ).map /DLL /DEF:$(PLATFORM)\$(PROJ).def /ENTRY:DLLEntry@12 /SUBSYSTEM:windows /implib:$(LIBDIR)\$(PROJ).lib /OUT:$(DLLDIR)\$(PROJ).dll
LIBSEP  =

!else

!ifdef DEBUG
CCOPT   =-Od -YX /Fp$(OBJDIR)\$(PROJ).pch
LINKDBG =/co/li
!else
CCOPT   =-Ow
LINKDBG =
!endif
CC      =cl -W3 -c $(INCDEF) -DSTRICT -DMT -Alfw -G3s $(CCOPT) -Zpi /Fd$(OBJDIR)\$(PROJ).pdb
LINKLIBS=libw.lib ldllcew.lib oldnames ddeml shell $(LIBDIR)\cwright.lib $(LIBDIR)\cwstart.lib
LFLAGS  =/map/NOD/NOE $(LINKDBG)
LIBSEP  =+
INVOKE_RC=rc -t $(INCDEF) $(OBJDIR)\$(PROJ).res $(DLLDIR)\$(PROJ).dll
INVOKE_IMPLIB=

!endif

$(OBJDIR)\$(PROJ).res: $(PROJ).rc $(EXPORTS) 
   rc $(INCDEF) -r -fo $@ $(LIGHT) $(PROJ).rc

!if exist($(PROJ).rs)
$(PROJ).rc: $(PROJ).rs $(PLATFORM)\$(PROJ).def
    copy $(PLATFORM)\$(PROJ).def $(PROJ).def
    rsc $(INCDEF) $(PROJ).rs > $@
!endif

!if exist($(PROJ).fd)
$(PLATFORM)\$(PROJ).def: $(PROJ).fd
    filt $(DEF_FILT) $(PROJ).fd $@
!endif

$(OBJDIR)\$(PROJ).obj: $(PROJ).c $(EXPORTS) $(CWSTART) 
   $(CC) /Fo$@ $(PROJ).c

$(DLLDIR)\$(PROJ).dll:       \
      $(OBJDIR)\$(PROJ).obj  \
      $(OBJDIR)\$(PROJ).res  \
      $(PLATFORM)\$(PROJ).def
   echo >NUL @<<$(PROJ).crf
      $(LIBSEP)
      $(OBJDIR)\$(PROJ).obj
<<

!ifdef WIN32
   link $(LFLAGS) @$(PROJ).crf $(LINKLIBS) $(OBJDIR)\$(PROJ).res
!else
   link $(LFLAGS)  @$(PROJ).crf,$(DLLDIR)\$(PROJ).dll,$(OBJDIR)\$(PROJ).map,$(LINKLIBS),$(PLATFORM)\$(PROJ).def
   $(INVOKE_RC)
   $(INVOKE_IMPLIB)
!endif


