# ***************************************************************************
#     MOD_RULES2.msvc      (!INCLUDE ed by "makefile-dllmod.msvc")
# --------------------------------------------------------------------------
# (c) Copyright Roger Bowler, 2005-2007
# --------------------------------------------------------------------------
# $Id: MOD_RULES2.msvc 5370 2009-06-02 04:35:14Z fish $
#
#  Individual hercules modules build rules...
#
#
#                           CHANGE HISTORY
# $Log$
# Revision 1.2  2008/03/25 11:41:32  fish
# SCSI TAPE MODS part 1: groundwork: non-functional changes:
# rename some functions, comments, general restructuring, etc.
# New source modules awstape.c, omatape.c, hettape.c and
# tapeccws.c added, but not yet used (all will be used in a future
# commit though when tapedev.c code is eventually split)
#
#
# DD/MM/YY Description
# 26/12/06 Fish: created by extraction from existing makefile-dllmod.msvc
#
# ***************************************************************************

# -------------------------------------------------------------
# DLL export libraries are dependent on themselves existing

$(O)decNumber.lib:  $(X)decNumber.dll

$(O)hdasd.lib:      $(X)hdasd.dll

$(O)htape.lib:      $(X)htape.dll

$(O)hutil.lib:      $(X)hutil.dll

$(O)hengine.lib:    $(X)hengine.dll

$(O)hsys.lib:       $(X)hsys.dll

# -------------------------------------------------------------
# Individual DLLs are dependent their own code as well as the
# export libraries from other DLLs that they're dependent on..

$(X)hsys.dll:    $(hsys_OBJ)                                                   $(O)hercver.res
    $(linkdll)

$(X)hutil.dll:   $(hutil_OBJ)   $(O)hsys.lib                                   $(O)hercver.res
    $(linkdll)

$(X)htape.dll:   $(htape_OBJ)   $(O)hsys.lib           $(O)hutil.lib           $(O)hercver.res
    $(linkdll)

$(X)hdasd.dll:   $(hdasd_OBJ)   $(O)hsys.lib           $(O)hutil.lib           $(O)hercver.res
    $(linkdll)

$(X)hengine.dll: $(hengine_OBJ) $(O)hsys.lib $(O)hdasd.lib $(O)hutil.lib \
                 $(O)htape.lib $(O)decNumber.lib $(O)hercver.res
    $(linkdll)

# -------------------------------------------------------------
# Device modules

$(X)hdt2703.dll: $(O)commadpt.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
    $(linkdll)

$(X)hdt3705.dll: $(O)comm3705.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
    $(linkdll)

$(X)hdt3088.dll: $(O)ctc_lcs.obj $(O)ctc_ctci.obj $(O)ctcadpt.obj $(O)w32ctca.obj $(O)tuntap.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
    $(linkdll)

$(X)hdt3420.dll: $(hdt3420_OBJ) $(O)hengine.lib $(O)htape.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
    $(linkdll)

$(X)hdt1403.dll: $(O)printer.obj $(O)sockdev.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
    $(linkdll)

$(X)hdt3505.dll: $(O)cardrdr.obj $(O)sockdev.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
    $(linkdll)

$(X)hdt3525.dll: $(O)cardpch.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
    $(linkdll)

$(X)hdt3270.dll: $(O)console.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
    $(linkdll)

$(X)hdt1052c.dll: $(O)con1052c.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
    $(linkdll)

$(X)hdtqeth.dll: $(O)qeth.obj $(O)hengine.lib $(O)hutil.lib $(O)hercver.res
    $(linkdll)

$(X)hdteq.dll: $(O)hdteq.obj $(O)hengine.lib $(O)hutil.lib $(O)hercver.res
    $(linkdll)

$(X)dyngui.dll: $(O)dyngui.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
    $(linkdll)

$(X)dyninst.dll: $(O)dyninst.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
    $(linkdll)

!IFNDEF NOCRYPTO
crypto: $(X)dyncrypt.dll

$(X)dyncrypt.dll: $(dyncrypt_OBJ) $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
    $(linkdll)

!ENDIF

$(X)decNumber.dll: $(decNumber_OBJ) $(O)decNumber.res
    $(link) -nologo $(ldebug) $(dlllflags) $** $(LIBS) /def:decNumber\decNumber.def -out:$@ -implib:$(O)$(@B).lib $(conlibsdll) $(MAPFILE) && $(MT_DLL_CMD)

# -------------------------------------------------------------
# Main product executables

$(X)hercules.exe: $(O)bootstrap.obj $(O)hdlmain.obj $(O)hengine.lib $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
    $(linkexe)

$(X)herclin.exe:  $(O)herclin.obj   $(O)hdlmain.obj $(O)hengine.lib $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
    $(linkexe)

# -------------------------------------------------------------
# System utilities

$(X)conspawn.exe: $(O)$(@B).obj                                          $(O)hercver.res

$(X)dmap2hrc.exe: $(O)$(@B).obj               $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

# -------------------------------------------------------------
# Dasd utilities

$(X)cckdcdsk.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)cckdcomp.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)cckddiag.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)cckdswap.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)dasdinit.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)dasdisup.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)dasdload.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)dasdconv.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)dasdcopy.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)dasdls.exe:   $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)dasdcat.exe:  $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)dasdpdsu.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)dasdseq.exe:  $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

# -------------------------------------------------------------
# Tape utilities

$(X)hetget.exe:   $(O)$(@B).obj $(O)htape.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)hetinit.exe:  $(O)$(@B).obj $(O)htape.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)hetmap.exe:   $(O)$(@B).obj $(O)htape.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)hetupd.exe:   $(O)$(@B).obj $(O)htape.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)tapecopy.exe: $(O)$(@B).obj $(O)htape.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)tapemap.exe:  $(O)$(@B).obj $(O)htape.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

$(X)tapesplt.exe: $(O)$(@B).obj $(O)htape.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res

# NOTE: to be safe, since this member contains build rules, we need to
# make sure there's always a blank line following the last build rule
# in the member so that nmake doesn't complain or otherwise treat the
# statements immediately following the original !INCLUDE statement as
# part of the build rule actions. Thus the purpose of the comments you
# are now reading as the very last few lines in every build rule member.
