1# ***************************************************************************
2#     MOD_RULES2.msvc      (!INCLUDE ed by "makefile-dllmod.msvc")
3# --------------------------------------------------------------------------
4# (c) Copyright Roger Bowler, 2005-2007
5# --------------------------------------------------------------------------
6# $Id$
7#
8#  Individual hercules modules build rules...
9#
10#
11#                           CHANGE HISTORY
12# $Log$
13# Revision 1.2  2008/03/25 11:41:32  fish
14# SCSI TAPE MODS part 1: groundwork: non-functional changes:
15# rename some functions, comments, general restructuring, etc.
16# New source modules awstape.c, omatape.c, hettape.c and
17# tapeccws.c added, but not yet used (all will be used in a future
18# commit though when tapedev.c code is eventually split)
19#
20#
21# DD/MM/YY Description
22# 26/12/06 Fish: created by extraction from existing makefile-dllmod.msvc
23#
24# ***************************************************************************
25
26# -------------------------------------------------------------
27# DLL export libraries are dependent on themselves existing
28
29$(O)decNumber.lib:  $(X)decNumber.dll
30
31$(O)softfloat.lib:  $(X)softfloat.dll
32
33$(O)hdasd.lib:      $(X)hdasd.dll
34
35$(O)htape.lib:      $(X)htape.dll
36
37$(O)hutil.lib:      $(X)hutil.dll
38
39$(O)hengine.lib:    $(X)hengine.dll
40
41$(O)hsys.lib:       $(X)hsys.dll
42
43# -------------------------------------------------------------
44# Individual DLLs are dependent their own code as well as the
45# export libraries from other DLLs that they're dependent on..
46
47$(X)hsys.dll:    $(hsys_OBJ)                                                   $(O)hercver.res
48    $(linkdll)
49
50$(X)hutil.dll:   $(hutil_OBJ)   $(O)hsys.lib                                   $(O)hercver.res
51    $(linkdll)
52
53$(X)htape.dll:   $(htape_OBJ)   $(O)hsys.lib           $(O)hutil.lib           $(O)hercver.res
54    $(linkdll)
55
56$(X)hdasd.dll:   $(hdasd_OBJ)   $(O)hsys.lib           $(O)hutil.lib           $(O)hercver.res
57    $(linkdll)
58
59$(X)hengine.dll: $(hengine_OBJ) $(O)hsys.lib $(O)hdasd.lib $(O)hutil.lib \
60                 $(O)htape.lib $(O)decNumber.lib $(O)softfloat.lib $(O)hercver.res
61    $(linkdll)
62
63# -------------------------------------------------------------
64# Device modules
65
66$(X)hdt2703.dll: $(O)commadpt.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
67    $(linkdll)
68
69$(X)hdt3705.dll: $(O)comm3705.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
70    $(linkdll)
71
72$(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
73    $(linkdll)
74
75$(X)hdt3420.dll: $(hdt3420_OBJ) $(O)hengine.lib $(O)htape.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
76    $(linkdll)
77
78$(X)hdt1403.dll: $(O)printer.obj $(O)sockdev.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
79    $(linkdll)
80
81$(X)hdt3505.dll: $(O)cardrdr.obj $(O)sockdev.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
82    $(linkdll)
83
84$(X)hdt3525.dll: $(O)cardpch.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
85    $(linkdll)
86
87$(X)hdt3270.dll: $(O)console.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
88    $(linkdll)
89
90$(X)hdt1052c.dll: $(O)con1052c.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
91    $(linkdll)
92
93$(X)hdtqeth.dll: $(O)qeth.obj $(O)hengine.lib $(O)hutil.lib $(O)hercver.res
94    $(linkdll)
95
96$(X)hdteq.dll: $(O)hdteq.obj $(O)hengine.lib $(O)hutil.lib $(O)hercver.res
97    $(linkdll)
98
99$(X)dyngui.dll: $(O)dyngui.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
100    $(linkdll)
101
102$(X)dyninst.dll: $(O)dyninst.obj $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
103    $(linkdll)
104
105!IFNDEF NOCRYPTO
106crypto: $(X)dyncrypt.dll
107
108$(X)dyncrypt.dll: $(dyncrypt_OBJ) $(O)hengine.lib $(O)hutil.lib $(O)hsys.lib $(O)hercver.res
109    $(linkdll)
110
111!ENDIF
112
113$(X)decNumber.dll: $(decNumber_OBJ) $(O)decNumber.res
114    $(link) -nologo $(ldebug) $(dlllflags) $** $(LIBS) /def:decNumber\decNumber.def -out:$@ -implib:$(O)$(@B).lib $(conlibsdll) $(MAPFILE) && $(MT_DLL_CMD)
115
116$(X)softfloat.dll: $(softfloat_OBJ) $(O)softfloat.res
117    $(link) -nologo $(ldebug) $(dlllflags) $** $(LIBS) /def:softfloat\softfloat.def -out:$@ -implib:$(O)$(@B).lib $(conlibsdll) $(MAPFILE) && $(MT_DLL_CMD)
118
119# -------------------------------------------------------------
120# Main product executables
121
122$(X)hercules.exe: $(O)bootstrap.obj $(O)hdlmain.obj $(O)hengine.lib $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
123    $(linkexe)
124
125$(X)herclin.exe:  $(O)herclin.obj   $(O)hdlmain.obj $(O)hengine.lib $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
126    $(linkexe)
127
128# -------------------------------------------------------------
129# System utilities
130
131$(X)conspawn.exe: $(O)$(@B).obj                                          $(O)hercver.res
132
133$(X)dmap2hrc.exe: $(O)$(@B).obj               $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
134
135# -------------------------------------------------------------
136# Dasd utilities
137
138$(X)cckdcdsk.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
139
140$(X)cckdcomp.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
141
142$(X)cckddiag.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
143
144$(X)cckdswap.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
145
146$(X)dasdinit.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
147
148$(X)dasdisup.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
149
150$(X)dasdload.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
151
152$(X)dasdconv.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
153
154$(X)dasdcopy.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
155
156$(X)dasdls.exe:   $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
157
158$(X)dasdcat.exe:  $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
159
160$(X)dasdpdsu.exe: $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
161
162$(X)dasdseq.exe:  $(O)$(@B).obj $(O)hdasd.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
163
164# -------------------------------------------------------------
165# Tape utilities
166
167$(X)hetget.exe:   $(O)$(@B).obj $(O)htape.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
168
169$(X)hetinit.exe:  $(O)$(@B).obj $(O)htape.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
170
171$(X)hetmap.exe:   $(O)$(@B).obj $(O)htape.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
172
173$(X)hetupd.exe:   $(O)$(@B).obj $(O)htape.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
174
175$(X)tapecopy.exe: $(O)$(@B).obj $(O)htape.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
176
177$(X)tapemap.exe:  $(O)$(@B).obj $(O)htape.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
178
179$(X)tapesplt.exe: $(O)$(@B).obj $(O)htape.lib $(O)hsys.lib $(O)hutil.lib $(O)hercver.res
180
181# NOTE: to be safe, since this member contains build rules, we need to
182# make sure there's always a blank line following the last build rule
183# in the member so that nmake doesn't complain or otherwise treat the
184# statements immediately following the original !INCLUDE statement as
185# part of the build rule actions. Thus the purpose of the comments you
186# are now reading as the very last few lines in every build rule member.
187