2b13bbb142bef0ea182a9e5410319be01b8c75f1
[openafs.git] / src / WINNT / afs_setup_utils / NTMakefile
1 # Copyright 2000, International Business Machines Corporation and others.
2 # All Rights Reserved.
3
4 # This software has been released under the terms of the IBM Public
5 # License.  For details, see the LICENSE file in the top-level source
6 # directory or online at http://www.openafs.org/dl/license10.html
7
8 # make compiler warnings fatal
9
10 AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -WX
11
12 # include the primary makefile
13 RELDIR=WINNT\afs_setup_utils
14 !INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
15 !INCLUDE ..\..\config\NTMakefile.version
16
17 ############################################################################
18
19 ILIBDIR = $(DESTDIR)\lib\afs
20
21
22 ############################################################################
23 # Build targets - one for each dll we need to make
24
25 INSTALL_UTILS_DLLFILE       = $(DESTDIR)\root.server\usr\afs\bin\InstallUtils.dll
26 SERVER_UNINST_DLLFILE       = $(DESTDIR)\root.server\usr\afs\bin\ServerUninst.dll
27 CLIENT_UNINST_DLLFILE       = $(DESTDIR)\root.server\usr\afs\bin\ClientUninst.dll
28 CC_UNINST_DLLFILE           = $(DESTDIR)\root.server\usr\afs\bin\CCUninst.dll
29 LIGHT_CLIENT_UNINST_DLLFILE = $(DESTDIR)\root.server\usr\afs\bin\LightClientUninst.dll
30 DOCS_UNINST_DLLFILE         = $(DESTDIR)\root.server\usr\afs\bin\DocsUninst.dll
31
32
33 ############################################################################
34 # Source files and libraries that are shared by all of the targets.
35
36 AFSAPPLIBOBJS = \
37     $(OUT)\subclass.obj
38
39 DLLOBJS = \
40     $(AFSAPPLIBOBJS)    \
41     $(OUT)\progress_dlg.obj    \
42     $(OUT)\animate_icon.obj    \
43     $(OUT)\sutil.obj           \
44     $(OUT)\forceremove.obj     \
45     $(OUT)\afs_setup_utils_stub.res
46
47 VCLIBS = \
48         comctl32.lib \
49         shell32.lib
50
51 DLLLIBS = \
52         $(DESTDIR)\lib\afs\TaLocale.lib \
53     $(DESTDIR)\lib\afs\afsreg.lib \
54     $(DESTDIR)\lib\afs\afsutil.lib
55
56
57 ############################################################################
58 # Definitions for building afsapplib objects
59
60 AFSAPPLIBDIR = ..\..\WINNT\afsapplib
61
62 $(OUT)\subclass.obj: $(AFSAPPLIBDIR)\subclass.cpp
63     $(C2OBJ) -I$(AFSAPPLIBDIR) $(AFSAPPLIBDIR)\subclass.cpp
64
65
66 ############################################################################
67 # Definitions for building afsrm.exe
68
69 AFSRM_EXEFILE = $(DESTDIR)\bin\afsrm.exe
70
71 AFSRM_EXEOBJS =\
72     $(OUT)\afsrm.obj \
73     $(OUT)\forceremove.obj \
74     $(OUT)\sutil.obj \
75     $(OUT)\AFS_component_version_number.obj
76
77 AFSRM_EXELIBS =\
78     $(DESTDIR)\lib\afs\afsreg.lib \
79     $(DESTDIR)\lib\afs\afscmd.lib \
80     $(DESTDIR)\lib\afs\afscom_err.lib \
81     $(DESTDIR)\lib\afs\afsutil.lib
82
83 $(AFSRM_EXEFILE): $(AFSRM_EXEOBJS) $(AFSRM_EXELIBS)
84         $(EXECONLINK)
85         $(_VC_MANIFEST_EMBED_EXE)
86         $(CODESIGN_USERLAND)
87         $(SYMSTORE_IMPORT)
88
89 ############################################################################
90
91 DIRLANG= ZH_TW ZH_CN PT_BR KO_KR JA_JP ES_ES EN_US DE_DE
92
93 install : $(INSTALL_UTILS_DLLFILE) $(SERVER_UNINST_DLLFILE) $(CLIENT_UNINST_DLLFILE) \
94           $(CC_UNINST_DLLFILE) $(LIGHT_CLIENT_UNINST_DLLFILE) $(DOCS_UNINST_DLLFILE) \
95           $(AFSRM_EXEFILE) $(DIRLANG)
96                   cd _isuser
97                   nmake -fntmakefile install
98           $(CD) ..
99                   cd getwebdll
100                   nmake -fntmakefile install
101           $(CD) ..
102                   echo 
103
104 $(DIRLANG) ::
105         $(CD) lang
106         @$(NTLANG) $@ $(MAKECMD) /nologo /f NTMakefile install
107         $(CD) ..
108    echo done lang
109
110 ############################################################################
111 # How to build the shared source file for each uninstall dll
112
113 C2OBJ = $(C2OBJ) -DSERVER_UNINST
114
115 $(OUT)\s_afs_setup_utils.obj: afs_setup_utils.cpp
116         $(C2OBJ) $**
117
118 $(OUT)\c_afs_setup_utils.obj: afs_setup_utils.cpp
119         $(C2OBJ) $**
120
121 $(OUT)\cc_afs_setup_utils.obj: afs_setup_utils.cpp
122         $(C2OBJ) $**
123
124 $(OUT)\lc_afs_setup_utils.obj: afs_setup_utils.cpp
125         $(C2OBJ) $**
126
127 $(OUT)\d_afs_setup_utils.obj: afs_setup_utils.cpp
128         $(C2OBJ) $**
129
130
131 ############################################################################
132
133 $(INSTALL_UTILS_DLLFILE) : $(OUT)\afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
134     $(DLLGUILINK) -entry:DllEntryPoint /DEF:install_utils.def $(VCLIBS)
135         $(_VC_MANIFEST_EMBED_DLL)
136     $(DLLPREP)
137         $(CODESIGN_USERLAND)
138         $(SYMSTORE_IMPORT)
139     $(COPY) $*.lib $(ILIBDIR)
140     $(DEL) $*.lib $*.exp
141
142 $(SERVER_UNINST_DLLFILE) : $(OUT)\s_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
143     $(DLLGUILINK) -entry:DllEntryPoint /DEF:server_uninst.def $(VCLIBS)
144         $(_VC_MANIFEST_EMBED_DLL)
145     $(DLLPREP)
146         $(CODESIGN_USERLAND)
147         $(SYMSTORE_IMPORT)
148     $(COPY) $*.lib $(ILIBDIR)
149     $(DEL) $*.lib $*.exp
150
151 $(CLIENT_UNINST_DLLFILE) : $(OUT)\c_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
152     $(DLLGUILINK) -entry:DllEntryPoint /DEF:client_uninst.def $(VCLIBS)
153         $(_VC_MANIFEST_EMBED_DLL)
154     $(DLLPREP)
155         $(CODESIGN_USERLAND)
156         $(SYMSTORE_IMPORT)
157     $(COPY) $*.lib $(ILIBDIR)
158     $(DEL) $*.lib $*.exp
159
160 $(CC_UNINST_DLLFILE) : $(OUT)\cc_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
161     $(DLLGUILINK) -entry:DllEntryPoint /DEF:cc_uninst.def $(VCLIBS)
162         $(_VC_MANIFEST_EMBED_DLL)
163     $(DLLPREP)
164         $(CODESIGN_USERLAND)
165         $(SYMSTORE_IMPORT)
166     $(COPY) $*.lib $(ILIBDIR)
167     $(DEL) $*.lib $*.exp
168
169 $(LIGHT_CLIENT_UNINST_DLLFILE) : $(OUT)\lc_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
170     $(DLLGUILINK) -entry:DllEntryPoint /DEF:light_client_uninst.def $(VCLIBS)
171         $(_VC_MANIFEST_EMBED_DLL)
172     $(DLLPREP)
173         $(CODESIGN_USERLAND)
174         $(SYMSTORE_IMPORT)
175     $(COPY) $*.lib $(ILIBDIR)
176     $(DEL) $*.lib $*.exp
177
178 $(DOCS_UNINST_DLLFILE) : $(OUT)\d_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
179     $(DLLGUILINK) -entry:DllEntryPoint /DEF:docs_uninst.def $(VCLIBS)
180         $(_VC_MANIFEST_EMBED_DLL)
181     $(DLLPREP)
182         $(CODESIGN_USERLAND)
183         $(SYMSTORE_IMPORT)
184     $(COPY) $*.lib $(ILIBDIR)
185     $(DEL) $*.lib $*.exp
186
187
188 ############################################################################
189
190 clean::
191    $(CD) _isuser
192    nmake -fntmakefile clean
193    $(CD) ..
194    $(CD) getwebdll
195    nmake -fntmakefile clean
196    $(CD) ..
197    echo done clean
198    cd _isuser
199    nmake -fntmakefile clean
200    $(CD) ..
201    cd getwebdll
202    nmake -fntmakefile clean
203    $(CD) ..
204    echo
205
206 ############################################################################
207 #
208 # Dependencies
209 #
210
211 $(OUT)\afs_setup_utils_stub.res : afs_setup_utils_stub.rc AFS_component_version_number.h
212
213 mkdir:
214         -mkdir $(OUT)\lang
215         cd lang
216         nmake /nologo /f ntmakefile SRC=$(SRC) OBJ=$(OBJ) mkdir
217         cd ..