##############################################################################
#                                                                            #
#                      Makefile for 8bpp code library.                       #
#                                                                            #
##############################################################################

OBJDIR     = OBJ
LSTDIR     = LST
RESDIR     = ..\RESOURCE
LIBDIR     = ..\..\LIB
INCDIR     = ..\..\INCLUDE
INCDIR8BPP = ..\INCLUDE 

#
# Masm command line
#

ASM = ml /c /Zi /Zd /Sn /W3 /Zp1 /I$(INCDIR) /I$(INCDIR8BPP)

#
# C compiler command line
#

CC = cl /c /Asnw /Ox /G3s /Zd /W3 /Zlp1 /I$(INCDIR) /I$(INCDIR8BPP)
#CC = cl /c /Asnw /Ox /G3s /Zd /W3 /Zlp1 /I$(INCDIR) /I$(INCDIR8BPP) /DDBG

#
# Linker command line
#

LINK = link /noe/al:16/map/li/warnfixup/NOD/DOSS

#
# Library manager command line
#

LIB = lib

#
# Main dependency
#

8BPP.LIB:   $(LIBDIR)\8bpp.lib $(OBJDIR)\8bpp.xrf   \
    $(OBJDIR)\ccbltpsd.obj  $(OBJDIR)\ccbltsd.obj   \
    $(OBJDIR)\ccbltpd.obj                           \
    $(OBJDIR)\mcbltpsd.obj  $(OBJDIR)\mcbltsd.obj   \
    $(OBJDIR)\cmconv.obj    $(OBJDIR)\scanlr.obj    \
    $(OBJDIR)\brush.obj     $(OBJDIR)\membrush.obj  \
    $(OBJDIR)\rle.obj       $(OBJDIR)\dib.obj 
#
# C source dependencies
#

$(OBJDIR)\brush.obj:    brush.c $(INCDIR)\common.h
	$(CC) /Fo$(OBJDIR)\$(@B).obj /Fc$(LSTDIR)\$(@B) $(@B).c
    $(LIB) $(LIBDIR)\8bpp -+$(OBJDIR)\$(@B).obj;

#
# Assembly source dependencies
#


$(OBJDIR)\ccbltpsd.obj:   ccbltpsd.asm $(INCDIR)\common.inc $(INCDIR)\bitblt.inc
	$(ASM) /Fo$(OBJDIR)\$(@B).obj /Fl$(LSTDIR)\$(@B) $(@B).asm
    $(LIB) $(LIBDIR)\8bpp -+$(OBJDIR)\$(@B).obj;

$(OBJDIR)\ccbltpd.obj:    ccbltpd.asm $(INCDIR)\common.inc $(INCDIR)\bitblt.inc
	$(ASM) /Fo$(OBJDIR)\$(@B).obj /Fl$(LSTDIR)\$(@B) $(@B).asm
    $(LIB) $(LIBDIR)\8bpp -+$(OBJDIR)\$(@B).obj;

$(OBJDIR)\ccbltsd.obj:    ccbltsd.asm $(INCDIR)\common.inc $(INCDIR)\bitblt.inc
	$(ASM) /Fo$(OBJDIR)\$(@B).obj /Fl$(LSTDIR)\$(@B) $(@B).asm
    $(LIB) $(LIBDIR)\8bpp -+$(OBJDIR)\$(@B).obj;

$(OBJDIR)\mcbltsd.obj:    mcbltsd.asm $(INCDIR)\common.inc $(INCDIR)\bitblt.inc
	$(ASM) /Fo$(OBJDIR)\$(@B).obj /Fl$(LSTDIR)\$(@B) $(@B).asm
    $(LIB) $(LIBDIR)\8bpp -+$(OBJDIR)\$(@B).obj;

$(OBJDIR)\mcbltpsd.obj:   mcbltpsd.asm $(INCDIR)\common.inc $(INCDIR)\bitblt.inc
	$(ASM) /Fo$(OBJDIR)\$(@B).obj /Fl$(LSTDIR)\$(@B) $(@B).asm
    $(LIB) $(LIBDIR)\8bpp -+$(OBJDIR)\$(@B).obj;

$(OBJDIR)\cmconv.obj:     cmconv.asm $(INCDIR)\common.inc $(INCDIR)\bitblt.inc
	$(ASM) /Fo$(OBJDIR)\$(@B).obj /Fl$(LSTDIR)\$(@B) $(@B).asm
    $(LIB) $(LIBDIR)\8bpp -+$(OBJDIR)\$(@B).obj;

$(OBJDIR)\scanlr.obj:     scanlr.asm $(INCDIR)\common.inc $(INCDIR)\bitblt.inc
	$(ASM) /Fo$(OBJDIR)\$(@B).obj /Fl$(LSTDIR)\$(@B) $(@B).asm
    $(LIB) $(LIBDIR)\8bpp -+$(OBJDIR)\$(@B).obj;

$(OBJDIR)\dib.obj:      dib.asm $(INCDIR)\common.inc $(INCDIR)\bitblt.inc
	$(ASM) /Fo$(OBJDIR)\$(@B).obj /Fl$(LSTDIR)\$(@B) $(@B).asm
    $(LIB) $(LIBDIR)\8bpp -+$(OBJDIR)\$(@B).obj;

$(OBJDIR)\rle.obj:      rle.asm $(INCDIR)\common.inc $(INCDIR)\bitblt.inc
	$(ASM) /Fo$(OBJDIR)\$(@B).obj /Fl$(LSTDIR)\$(@B) $(@B).asm
    $(LIB) $(LIBDIR)\8bpp -+$(OBJDIR)\$(@B).obj;

$(OBJDIR)\membrush.obj: membrush.asm $(INCDIR)\common.inc
	$(ASM) /Fo$(OBJDIR)\$(@B).obj /Fl$(LSTDIR)\$(@B) $(@B).asm
    $(LIB) $(LIBDIR)\8bpp -+$(OBJDIR)\$(@B).obj;

#
# Library dependencies
#

$(LIBDIR)\8bpp.lib:                                \
    $(OBJDIR)\ccbltpsd.obj  $(OBJDIR)\ccbltsd.obj  \
    $(OBJDIR)\ccbltpd.obj   $(OBJDIR)\mcbltpsd.obj \
    $(OBJDIR)\mcbltsd.obj                          \
    $(OBJDIR)\cmconv.obj    $(OBJDIR)\dib.obj      \
    $(OBJDIR)\brush.obj     $(OBJDIR)\membrush.obj \
    $(OBJDIR)\rle.obj       $(OBJDIR)\scanlr.obj
    $(LIB) $(LIBDIR)\8bpp.lib, $(OBJDIR)\8bpp.xrf;

$(OBJDIR)\8bpp.xrf: $(LIBDIR)\8bpp.lib
    $(LIB) $(LIBDIR)\8bpp.lib, $(OBJDIR)\8bpp.xrf;

