.autodepend

NAME = cv

!ifndef MODEL
!error MODEL must be defined!
!endif

!ifdef NDEBUG
DEBUG = n
!endif

MD = $(MODEL)$(DEBUG)

!include "dir.mak"
ROOTOBJ = $(TEMP)\$(NAME)
.path.obj = $(ROOTOBJ)\o$(MD)
.path.lib = $(LIBDIR)

!ifdef NDEBUG
CPPFLAGS = -m$(MODEL) -n$(.path.obj) -DNDEBUG;_cv_DEBUG=0
!else
CPPFLAGS = -m$(MODEL) -n$(.path.obj)
!endif
ASMFLAGS =

!include "lst.mak"
!include "startup.mak"
LIB = $(NAME)$(MD).lib

#--------------------------------------------------------------------
{src}.c.obj:
	@echo $<>>$(ROOTOBJ)\cc.lst

{src}.cpp.obj:
	@echo $<>>$(ROOTOBJ)\cc.lst

{src\classlib}.c.obj:
	@echo $<>>$(ROOTOBJ)\cc.lst

{src\classlib}.cpp.obj:
	@echo $<>>$(ROOTOBJ)\cc.lst

{src}.asm.obj:
	@$(AS) $(ASMFLAGS) $< , $@


#--------------------------------------------------------------------
all: $(.path.obj)\exist start $(.path.obj)\compile $(LIB) $(.path.obj)\startup
	@del $(ROOTOBJ)\cc.lst>nul

$(.path.obj)\exist: makefile dir.mak lst.mak opt.cfg
	@if not exist $(TEMP)\nul md $(TEMP)
	@if not exist $(ROOTOBJ)\nul md $(ROOTOBJ)
	@deltree/y $(.path.obj)
	@md $(.path.obj)
	@>$(.path.obj)\exist

start:
	@>$(ROOTOBJ)\cc.lst

$(.path.obj)\compile: $(OBJS) $(STARTUP)
	$(CPP) @opt.cfg $(CPPFLAGS) -c @$(ROOTOBJ)\cc.lst
	@>$(.path.obj)\compile

$(LIB): $(OBJS)
	@if exist $< del $<
	@makersp "+%s " &&!
$**
!>$(ROOTOBJ)\cl.lst
	@$(LB) $< @$(ROOTOBJ)\cl.lst
	@del $(ROOTOBJ)\cl.lst>nul
	@echo.

$(.path.obj)\startup: $(STARTUP)
	@if not exist $(.path.lib)\$(MD)\nul md $(.path.lib)\$(MD)
	&copy $** $(.path.lib)\$(MD)>nul
	@>$(.path.obj)\startup

#--------------------------------------------------------------------
clean:
	@deltree/y $(ROOTOBJ)
