# GDI16 makefile
#
# Copyright (c) 1991, Microsoft Corporation
#
# History:
#   26-Jan-1991 Jeff Parsons (jeffpar)
#   Created.
#

!IFDEF USEBUILD

# If using BUILD.EXE, edit .\sources. if you want to add a new source
# file to this component.  This file merely indirects to the real make file
# that is shared by all the components of NT OS/2.

!INCLUDE $(NTMAKEENV)\makefile.def

!ELSE

.SUFFIXES:
.SUFFIXES: .c   .asm .h   .inc .obj .lst .sys .exe .com .map .sym .def .lib .rc .res


!ifdef INCLUDE
INCS	=
!else
INCS    = -I..\inc -I..\..\inc
RINCS   = -I..\inc
!endif

# work around stupid bug in RC 3.1 that doesn't allow rcpp.err to be
# in a directory that is greater than 128 chars down the path, even if
# rc 3.1 is running as an OS/2 app.

PATH    = ..\..\tools16;$(PATH)

# DEFINES = -DWOW -DDEBUG $(MVDMFLAGS)
DEFINES = -DWOW -DBUILDDLL $(MVDMFLAGS)

AOBJ	= -Mx -t $(DEFINES) $(INCS)

CW16    = -PLM -Asnw -G2sw $(DEFINES) $(INCS)
#CW16   = -AS -G2sw $(DEFINES) $(INCS)
CW16B	= $(CW16) -B1 c1l.exe -B2 c2l.exe -B3 c3l.exe

LPATH	= ..\..\tools.os2
LINK    = /map /align:16

!if "$(NTDEBUG)"!="" && "$(NTDEBUG)"!="retail"
!if "$(NTDEBUGTYPE)"=="windbg"
AOBJ    = $(AOBJ) -Zi
CW16    = $(CW16) /Odi /Zip
LINK    = $(LINK) /CO
!else
AOBJ    = $(AOBJ) -Zd
CW16    = $(CW16) /Odi /Zd
LINK    = $(LINK) /LI
!endif
!else
CW16    = $(CW16) /Os /Zp
!endif

!ifdef LIB
W16LIBS = snocrtd libw
!else
W16LIBS = ..\lib\snocrtd.lib ..\lib\libw.lib
!endif


.asm.obj:
    masm $(AOBJ) $*;

.asm.lst:
    masm $(AOBJ) -l $*,nul,$*.lst;


.c.obj:
    cl16 -c -nologo $(CW16) $*.c

.c.lst:
    cl16 -c -nologo $(CW16) -Fonul -Fc$*.lst $*.c


.def.lib:
    implib $*.lib $*.def

.map.sym:
    mapsym $*

.rc.res:
!IFDEF NTVDM_BASED_BUILD
    rc16 -r $(INCS) -fo $@ $*.rc
!ELSE
    $(LPATH)\rc -r $(INCS) -fo $* $*.rc
!ENDIF

all: gdi.exe gdi.sym
    binplace gdi.exe
    binplace gdi.sym
    binplace gdi.map

cleanup:
    if exist *.lrf del *.lrf
    if exist *.obj del *.obj
    if exist *.exe del *.exe
    if exist *.map del *.map
    if exist *.sym del *.sym
    if exist *.res del *.res

clean: cleanup

gdi.obj: gdi.asm ..\..\inc\wow.inc ..\..\inc\wowgdi.inc
    masm $(AOBJ) gdi;

layer.obj: layer.asm ..\inc\layer.inc gdi.api
    masm $(AOBJ) layer;

muldiv.obj: muldiv.asm
    masm $(AOBJ) muldiv;

fontres.obj: fontres.c ..\..\inc\wow.h ..\..\inc\wowgdi.h
    cl16 -c -nologo $(CW16) fontres.c

gdi.lrf: makefile
    echo gdi.obj+layer.obj+muldiv.obj+fontres.obj >gdi.lrf
    echo gdi.exe>>gdi.lrf
    echo gdi $(LINK)>>gdi.lrf
    echo $(W16LIBS) /nod>>gdi.lrf
    echo gdi;>>gdi.lrf

gdi.res: $*.rc $*.rcv ..\inc\common.ver

# gdi.exe: gdi.obj meta.obj metarec.obj metasup.obj muldiv.obj gdi.lrf gdi.def fontres.obj

gdi.exe gdi.map: gdi.obj gdi.lrf gdi.def layer.obj muldiv.obj fontres.obj gdi.res
!IFDEF NTVDM_BASED_BUILD
    link16 @gdi.lrf;
    rc16 -t gdi.res gdi.exe
!ELSE
    $(LPATH)\link @gdi.lrf;
    $(LPATH)\rc -t gdi.res gdi.exe
!ENDIF

!ENDIF
