
# this will create DGDI32.DLL
# adjust paths in file "..\dirs" first!
# to create a debug version use "nmake debug=1"
# output will be in subdir RELEASE or DEBUG, format
# of object modules is COFF format, true flat

!include <..\dirs>

!ifndef DEBUG
DEBUG=0
!endif

!if $(DEBUG)
AOPTD=-D_DEBUG
OUTDIR=DEBUG
!else
AOPTD=
OUTDIR=RELEASE
!endif

SRCMODS = \
!include modules.inc

OBJMODS = $(SRCMODS:.ASM=.OBJ)
!if $(DEBUG)
OBJMODS = $(OBJMODS:.\=DEBUG\)
!else
OBJMODS = $(OBJMODS:.\=RELEASE\)
!endif

ASMOPT= -c -nologo -Cp -Sg -D_GDI32_=1 $(AOPTD) -I$(INC32DIR)
ASM=ml.exe -coff $(ASMOPT) -D?FLAT=1 -Fl$* -Fo$* 

LOPTS= /NOLOGO /MAP /SUBSYSTEM:CONSOLE /DLL /LIBPATH:$(LIBCOFF)

NAME=DGDI32
LIBNAME=DGDI32S
LIBS=dkrnl32.lib

#LINK=link.exe
#LIBBIN=lib.exe /NOLOGO

.SUFFIXES: .asm .obj

.asm{$(OUTDIR)}.obj:
    $(ASM) $<

$(OUTDIR)\$(NAME).DLL: $(OUTDIR)\$(LIBNAME).LIB $(OUTDIR)\$(NAME).obj $(NAME).def Makefile
    $(LINKBIN) @<<
$(OUTDIR)\$(NAME).obj $(OUTDIR)\$(LIBNAME).LIB $(LIBS)
$(LOPTS) $(LOPTD)
/DEF:$(NAME).def /OUT:$*.DLL
<<
!if $(DEBUG)==0
    @copy $*.DLL ..\..\bin\*.* >NUL
!ifdef DLL32DIR
    @copy $*.DLL $(DLL32DIR)\*.*
!endif    
    copy $*.LIB $(LIBCOFF)\*.* >NUL
    @copy $(OUTDIR)\$(LIBNAME).LIB $(LIBCOFF)\*.* >NUL
!endif    

$(OUTDIR)\$(LIBNAME).LIB: $(OBJMODS)
	@cd $(OUTDIR)
    $(LIBBIN) @<<
$(SRCMODS:.ASM=.OBJ) /OUT:$(LIBNAME).LIB
<<
	@cd ..

$(OBJMODS): dgdi32.inc

clean:
    @del $(OUTDIR)\*.obj
    @del $(OUTDIR)\*.dll
    @del $(OUTDIR)\*.lib
    @del $(OUTDIR)\*.map
    @del $(OUTDIR)\*.lst
    @del $(OUTDIR)\*.exp

