# test Makefile, clibc_16.lib
#ORIGIN = PWB
#ORIGIN_VER = 2.1.49
PROJ = CLIBC_16
#PROJFILE = CLIBC_16.MAK


DEBUG = 0
#DEBUG = 1
CLIBC_16_FC_EXT_PTRS=0
#CLIBC_16_FC_EXT_PTRS=1
CLC16_C=0
#CLC16_C=1

BUILD_RESULTS=br.txt
RUNFLAGS=
CVFLAGS=
LIBS=
LLIBS_G=c:\dev\shared~1\lib\ clibc_16.lib
LLIBS_D=
LLIBS_R=
RT_OBJS=
DEF_FILE=

# notes
# use
#CFLAGS_G  = /W2 /G2 /DCLC16_C=$(CLC16_C) /DCLIBC_16_FC_EXT_PTRS=$(CLIBC_16_FC_EXT_PTRS) /Ic:\dev\shared~1\include /BATCH /Fc
#CLC16_C=0
# to build near model

# use
#CFLAGS_G  = /AM /W2 /G2 /DCLC16_C=$(CLC16_C) /DCLIBC_16_FC_EXT_PTRS=$(CLIBC_16_FC_EXT_PTRS) /Ic:\dev\shared~1\include /BATCH /Fc
#CLC16_C=1
# to build far model

CC  = cl
CFLAGS_G  = /W2 /G2 /DCLC16_C=$(CLC16_C) /DCLIBC_16_FC_EXT_PTRS=$(CLIBC_16_FC_EXT_PTRS) /Ic:\dev\shared~1\include /BATCH /Fc
#CFLAGS_G  = /AM /W2 /G2 /DCLC16_C=$(CLC16_C) /DCLIBC_16_FC_EXT_PTRS=$(CLIBC_16_FC_EXT_PTRS) /Ic:\dev\shared~1\include /BATCH /Fc
CFLAGS_D  = /f- /Od /FPi87 /Zi /Gs /DDEBUG=1
CFLAGS_R  = /f- /Ot /Ol /Og /Oe /Oi /Gs /DDEBUG=0
CXX  = cl
CXXFLAGS_G  = /W2 /BATCH
CXXFLAGS_D  = /f /Zi /Od
CXXFLAGS_R  = /f- /Ot /Oi /Ol /Oe /Og /Gs
ASM  = ml
AFLAGS_G  = /W2 /WX /DCLC16_C=$(CLC16_C) /DCLIBC_16_FC_EXT_PTRS=$(CLIBC_16_FC_EXT_PTRS) /Ic:\c700\proj\clibc_16
AFLAGS_D  = /Sa /Sg /Zi /Fl /DDEBUG=1
AFLAGS_R  = /DDEBUG=0 /nologo
MAPFILE_D  = $(PROJ).map
MAPFILE_R  = $(PROJ).map
LFLAGS_G  = /NOI /NOE /STACK:30000 /BATCH /ONERROR:NOEXE
LFLAGS_D  = /CO /MAP:FULL /FAR /NOPACKC
LFLAGS_R  = /MAP:FULL /FAR /NOPACKC
LINKER	= link
ILINK  = ilink
LRF  = echo > NUL
ILFLAGS  = /a /e

FILES=	 main.c\
	 testmod.asm

OBJS =	 main.obj\
	 testmod.obj

all: $(PROJ).exe

.SUFFIXES:
.SUFFIXES:
.SUFFIXES: .obj .c .asm

clean :
    erase *.obj
    erase *.exe
    erase *.lst
    erase *.map
    erase *.rsp
    erase *.bak
    erase *.txt

$(PROJ).exe : $(OBJS)
!IF $(DEBUG)
	$(LRF) @<<$(PROJ).lrf
$(RT_OBJS: = +^
) $(OBJS: = +^
)
$@
$(MAPFILE_D)
$(LIBS: = +^
) +
$(LLIBS_G: = +^
) +
$(LLIBS_D: = +^
)
$(DEF_FILE) $(LFLAGS_G) $(LFLAGS_D);
<<
!ELSE
	$(LRF) @<<$(PROJ).lrf
$(RT_OBJS: = +^
) $(OBJS: = +^
)
$@
$(MAPFILE_R)
$(LIBS: = +^
) +
$(LLIBS_G: = +^
) +
$(LLIBS_R: = +^
)
$(DEF_FILE) $(LFLAGS_G) $(LFLAGS_R);
<<
!ENDIF
	$(LINKER) @$(PROJ).lrf

.c.obj :
!IF $(DEBUG)
	@$(CC) @<<$(PROJ).rsp
/c $(CFLAGS_G)
$(CFLAGS_D) /Fo$@ $<
<<
!ELSE
	@$(CC) @<<$(PROJ).rsp
/c $(CFLAGS_G)
$(CFLAGS_R) /Fo$@ $<
<<
!ENDIF

.asm.obj :
!IF $(DEBUG)
	@$(ASM) @<<$(PROJ).rsp
/c $(AFLAGS_G) $(AFLAGS_D) /Fo$@ $<
<<NOKEEP
!ELSE
	@$(ASM) @<<$(PROJ).rsp
/c $(AFLAGS_G) $(AFLAGS_R) /Fo$@ $<
<<NOKEEP
!ENDIF

run: $(PROJ).exe
	$(PROJ).exe $(RUNFLAGS)

debug: $(PROJ).exe
	CV $(CVFLAGS) $(PROJ).exe $(RUNFLAGS)
