# ----------------------------------------------------------------------------
# makefile: Build Windows sample program SUBCLASS
#           by using Microsoft Visual-C++ 1.0
# ----------------------------------------------------------------------------
#
# Enter
#   nmake [UC=1] [WIN32=1] [RELEASE=1] 
# to build file SUBCLASS.EXE
#
# Options:
#  UC=1 ..... to build Unicode compatible application
#  WIN32=1 .. to build Win32 specific application
#  RELEASE=1  to build release instead debugging variant
#
# Enter
#   nmake clean
# to delete all built files except target SUBCLASS.EXE
# ----------------------------------------------------------------------------

HD  = resource.h
OBJ = subclass.obj

!IFDEF CMDLINE
COUT = >$*.err
!ENDIF

!IFDEF WIN32
# build for Win32
DSYS = /DWIN32=1 /D_X86_=1
COPT = /G3 /Gf /Gy
LOPT = /Subsystem:Windows
LIBS = libc.lib kernel32.lib user32.lib gdi32.lib

!IFDEF RELEASE
COPT = $(COPT3) /O2w
!ELSE
LOPT = $(LOPT) /Debug:Full /DebugType:CV
!ENDIF

!IFDEF UC
DSYS = $(DSYS) /DUNICODE=1
!ENDIF

!ELSE
# build for Win16 (large memory model)
DSYS = /DWIN16=1
COPT = /AL /f /GA /G2fsy /Gx /nologo
LOPT = /Align:16/NoD
LIBS = lLibCeW+LibW

!IFNDEF RELEASE
COPT = $(COPT) /O2wz
LOPT = $(LOPT)/CodeView
!ENDIF

!ENDIF # 32/16 bit

!IFDEF RELEASE
COPT = $(COPT) /W4
DOPT = /DNDEBUG
!ELSE
COPT = $(COPT) /Od /W3 /WX /YX /Zi
DOPT = /D_DEBUG
!ENDIF

CC = cl $(COUT) $(DOPT) $(DSYS) /c $(COPT) $*.c

subclass.exe: $*.res $(OBJ)
!IFNDEF WIN32
subclass.exe: subclass.def
!ENDIF
!IFDEF WIN32
 link $(LOPT) /out:$@ $(OBJ) $*.res $(LIBS)
!ELSE
 link $(LOPT) $(OBJ), $*, $*, $(LIBS), $*;
 rc -31 -t $*.res
!ENDIF
!IFDEF RELEASE
 @touch /dsmabu $@
!ENDIF

subclass.res: $*.rc $(HD)
 rc $(DOPT) $(DSYS) -r $*

subclass.obj: $*.c $(HD)
 $(CC)

clean:
 -erase *.bak
 -erase *.pch
 -erase *.obj
 -erase *.err
 -erase *.res
 -erase *.map
