WIN32 = 1
MSC16 = 2
BORLAND = 3
# set CXXSYS to correspond to the target environment

# CXXSYS = $(WIN32)
# CXXSYS = $(MSC16)
# CXXSYS = $(BORLAND)

DEBUG = 1
CPUTYPE=1
CPU = i386

!IF $(CXXSYS)==$(MSC16)
# 16 bit MS
CXX  = cl
CXXFLAGS_G  = /c /AM /W2 /GA /DPTR16 /DWINVER=0x0300 -I..\include /GEf /Zl /Zp /BATCH /Fo$*.obj
CXXFLAGS_D  = /f /Od /Zi /Gs
CXXFLAGS_R  = /f- /Os /Og /Oe /Gs
LINKER  = link
!IF $(DEBUG)
LFLAGS  =  /BATCH /ONERROR:NOEXE /CO /NOF
!ELSE
LFLAGS  =  /BATCH /ONERROR:NOEXE /MAP:FULL /NOF /NOPACKC
!ENDIF
LLIBS  =  $(CPPLIBS) LIBW shell mlibcew oldnames
RC  = rc

..\lib\$(PROJ).lib:  $(LIB_dependencies)
  - del ..\lib\$(PROJ).lib
  lib ..\lib\$(PROJ).lib  @<<$(PROJ).lrf
+$(?: = &^
+)
$(PROJ).lst;
<<

$(PROJ).exe : $(DEF_FILE) $(OBJS) $(RESS)
        $(LINKER) @<<$(PROJ).lrf
$(OBJS: = +^
)
$@

$(LLIBS: = +^
)
$(DEF_FILE) $(LFLAGS);
<<
        $(RC) /30 $(RESS) $@

$(PROJ).res : $(PROJ).rc
	$(RC) /i..\include /r /fo $(PROJ).res $(PROJ).RC
!ENDIF

!IF $(CXXSYS)==$(WIN32)
# Win 32
DEBUG =0
CXX = cl386
CXXFLAGS_G   = -c -G3d -W3 -Di386=1 -DWIN32  -I..\include
CXXFLAGS_D   = -Zi -Od
GUILIBS= libc.lib ntdll.lib kernel32.lib user32.lib gdi32.lib \
             winspool.lib comdlg32.lib
!IF $(DEBUG)
LFLAGS  = -subsystem:windows -entry:WinMainCRTStartup -debug:full -debugtype:cv
!ELSE
LFLAGS  = -subsystem:windows -entry:WinMainCRTStartup
!ENDIF
LLIBS  =  libc.lib $(GUILIBS) $(CPPLIBS) shell32.lib

..\lib\$(PROJ).lib:  $(LIB_dependencies)
  - del ..\lib\$(PROJ).lib
  lib -debugtype:COFF -machine:$(CPU)  -out:..\lib\$(PROJ).lib  @<<$(PROJ).lrf
$(LIB_dependencies)
<<

$(PROJ).exe : $(DEF_FILE) $(OBJS) $(RESS)
        link @<<$(PROJ).lrf
$(LFLAGS)  -out:$(PROJ).exe  $(OBJS) $(PROJ).res
$(LLIBS)
<<

$(PROJ).res : $(PROJ).rc
               rc -r -dWIN32 -Id:\mstools\h -I..\include -fo res.tmp $(PROJ).rc
               cvtres -$(CPU) res.tmp -o $@
               del res.tmp
!ENDIF

!IF $(CXXSYS) == $(BORLAND)
#Borland command line
CXX = bcc 
CXXFLAGS_G = -c -mm -Z -WS -Fs -V -vi -DWINVER=0x0300 -DPTR16 -I\borlandc\include -I..\include -P
CXXFLAGS_R = -O1
CXXFLAGS_D = -v -y -Oe -Ob  
LINKER  = tlink /L\borlandc\lib
LIB = tlib 
!IF $(DEBUG)
LFLAGS  = /v/x/c/P-/Twe
!ELSE
LFLAGS  = /x/c/P-/Twe
!ENDIF
LLIBS  =  $(CPPLIBS) cwm import mathwm emu

..\lib\$(PROJ).lib:  $(LIB_dependencies)
  - del ..\lib\$(PROJ).lib
  $(LIB) @<<$(PROJ).lrf
/P32 ..\lib\$(PROJ).lib +$(?: = +),$(PROJ).lst
<<

RC  = \borlandc\bin\rc
$(PROJ).exe : $(DEF_FILE) $(OBJS) $(RESS)
        $(LINKER) @<<$(PROJ).lrf
$(LFLAGS) c0wm.obj $(OBJS), $(PROJ).exe, , $(LLIBS), $(DEF_FILE)
<<
	$(RC) /30 $(RESS) $@

$(PROJ).res : $(PROJ).rc
	$(RC) /i..\include /r /fo $(PROJ).res $(PROJ).RC
!ENDIF
