.SILENT:

# clib_16.lib Makefile
# Byron Young
# 2002

# NMAKE 1.20
# ML 6.14

!INCLUDE Makefile.g


# rest of makefile
VERSION = 03
ZIPRELEASENAME=ilib_$(VERSION).zip

!IF $(DEBUG)
INTDIR=debug
!ELSE
INTDIR=release
!ENDIF

# a list of all the directories to recurse into
DIRS =	    string\
	    misc

# a list of the names of the library to create in that directory
LIBNAMESA = string\string.lib\
	    misc\misc.lib

!IF $(DEBUG)
LIBNAMES=debug\$(LIBNAMESA: = debug\)
!ELSE
LIBNAMES=release\$(LIBNAMESA: = release\)
!ENDIF


LIBNAME=$(INTDIR)\clib_16.lib

# MAIN LIBRARY
$(LIBNAME) : $(LIBNAMES) Makefile Makefile.g clib_16.inc
	echo Creating $(@)
	del $(@)
	LIB /NOL @<<lib.lrf
$(LIBNAME) +$(LIBNAMES: = &^
+)
$(LIBNAME:.lib=.lst);
<<
	rename $(LIBNAME) clib_16.lib
	echo Copying $(LIBNAME) to $(DIRLIB)
	copy $(LIBNAME) $(DIRLIB)
	echo Done

$(LIBNAMES) :
	cd $(@B)
	$(MAKE) /C "DIR_PROJ=$(MAKEDIR)" ..\$(@)
	cd ..

zip :
    echo Making distribution file $(ZIPRELEASENAME)
    mkdir clib_16
    copy Makefile clib_16
    copy clib_16.txt clib_16
    copy clib_16.inc clib_16
    copy Makefile.g clib_16
    for %%v in ($(DIRS)) do mkdir clib_16\%%v
    for %%v in ($(DIRS)) do copy %%v\*.asm clib_16\%%v
    for %%v in ($(DIRS)) do copy %%v\*.inc clib_16\%%v
    for %%v in ($(DIRS)) do copy %%v\*.h clib_16\%%v
    for %%v in ($(DIRS)) do copy %%v\Makefile clib_16\%%v
    pkzip -rP clib_16.zip clib_16\*.*
    deltree /Y clib_16
    move clib_16.zip dist\$(ZIPRELEASENAME)
    echo Done.

clean :
    echo Cleaning source directories
    for %%v in ($(DIRS)) do erase %%v\*.obj
    for %%v in ($(DIRS)) do erase %%v\*.bak
    for %%v in ($(DIRS)) do erase %%v\*.lst
    echo Cleaning project directory
    erase *.lst
    erase *.exe
    erase *.dbg
    erase *.cod
    erase *.obj
    erase *.bak
    echo Cleaning test directory
    erase test\*.lst
    erase test\*.exe
    erase test\*.dbg
    erase test\*.cod
    erase test\*.obj
    erase test\*.bak
    echo Cleaning up build directory
    echo Deleting debug directory
    deltree /Y debug
    echo Creating debug directory
    mkdir debug
    for %%v in ($(DIRS)) do mkdir debug\%%v
    echo Deleting release directory
    deltree /Y release
    echo Creating release directory
    mkdir release
    for %%v in ($(DIRS)) do mkdir release\%%v
    echo Deleting dist directory
    deltree /Y dist
    echo Making dist directory
    mkdir dist
    echo Deleting .h include directory $(DIR_C_INCLUDE)
    deltree /Y $(DIR_C_INCLUDE)
    echo Creating .h include directory $(DIR_C_INCLUDE)
    mkdir $(DIR_C_INCLUDE)
    echo Deleting .inc include directory $(DIR_ASM_INCLUDE)
    deltree /Y $(DIR_ASM_INCLUDE)
    echo Creating .inc include directory $(DIR_ASM_INCLUDE)
    mkdir $(DIR_ASM_INCLUDE)
    echo Done.

# misc notes
# to add a source file:
#    add the .asm name to SRCFILES
#    add the corresponding entry from *.MAK
