#
# 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
DWIN32=-DWIN32
PLATFORM=WIN32
DEF_FILT=-kWIN32 -s/RESIDENTNAME// -t -q
!else
PLATFORM=WIN16
DEF_FILT=-kWIN16 -t -q
!endif

PROJ=tex
BASE=

INCDEF=-I..\cwstart -I..\include 
LIBDIR=..\lib\$(PLATFORM)
DLLDIR=$(PLATFORM)
OBJDIR=$(PLATFORM)
CWSTART=..\cwstart\cwstart.h
EXPORTS=..\include\exports.h
!ifdef BSC 
BSCFILE=$(PLATFORM)\$(PROJ).bsc
BSC_FLAGS=-v -Es
!endif

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


!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 -Z7p1 $(CCOPT) -DNDEBUG -D_X86_ -DWIN32
!ifdef BSC 
CC_BSC  =cl -W3 -c $(INCDEF) -DSTRICT -G3 -Z7p1 -DNDEBUG -D_X86_ -DWIN32
!endif
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 $(BASE)
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) -Z7p1
!ifdef BSC 
CC_BSC  =cl -W3 -c $(INCDEF) -DSTRICT -DMT -Alfw -G3s -Z7p1
!endif
LINKLIBS=libw.lib ldllcew.lib oldnames $(LIBDIR)\cwright.lib $(LIBDIR)\cwstart.lib
LFLAGS  =/map/NOD/NOE $(LINKDBG)
LIBSEP  =+
INVOKE_RC=rc -t $(OBJDIR)\$(PROJ).res $(DLLDIR)\$(PROJ).dll
INVOKE_IMPLIB=

!endif


$(OBJDIR)\$(PROJ).res: $(PROJ).rc $(EXPORTS)
   rc $(INCDEF) $(DWIN32) -r -fo $@ $(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
   rsc $(DEF_FILT) $(PROJ).fd $@
!endif

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

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

!ifdef BSC
SBRS = $(OBJDIR)\$(PROJ).sbr

{}.c{$(OBJDIR)}.sbr:
   @echo Creating browser information file $@
   $(CC_BSC) /Zs /FR$@ $?

$(BSCFILE): $(SBRS)
   bscmake $(BSC_FLAGS) -o $@ @<<
$(?: = ^
)
<<
!endif
