0115b0b43a1440e7379a08bfe16ace0e8316c3aa
[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
14 !INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
15 !INCLUDE ..\..\config\NTMakefile.version
16
17
18 ############################################################################
19
20 ILIBDIR = $(DESTDIR)\lib\afs
21
22
23 ############################################################################
24 # Build targets - one for each dll we need to make
25
26 INSTALL_UTILS_DLLFILE       = $(DESTDIR)\root.server\usr\afs\bin\InstallUtils.dll
27 SERVER_UNINST_DLLFILE       = $(DESTDIR)\root.server\usr\afs\bin\ServerUninst.dll
28 CLIENT_UNINST_DLLFILE       = $(DESTDIR)\root.server\usr\afs\bin\ClientUninst.dll
29 CC_UNINST_DLLFILE           = $(DESTDIR)\root.server\usr\afs\bin\CCUninst.dll
30 LIGHT_CLIENT_UNINST_DLLFILE = $(DESTDIR)\root.server\usr\afs\bin\LightClientUninst.dll
31 DOCS_UNINST_DLLFILE         = $(DESTDIR)\root.server\usr\afs\bin\DocsUninst.dll
32
33
34 ############################################################################
35 # Source files and libraries that are shared by all of the targets.
36
37 AFSAPPLIBOBJS = \
38     subclass.obj
39
40 DLLOBJS = \
41     $(AFSAPPLIBOBJS)    \
42     progress_dlg.obj    \
43     animate_icon.obj    \
44     sutil.obj           \
45     forceremove.obj     \
46     afs_setup_utils_stub.res
47
48 VCLIBS = \
49         comctl32.lib \
50         shell32.lib
51
52 DLLLIBS = \
53         $(DESTDIR)\lib\afs\TaLocale.lib \
54     $(DESTDIR)\lib\afs\afsreg.lib \
55     $(DESTDIR)\lib\afs\afsutil.lib
56
57
58 ############################################################################
59 # Definitions for building afsapplib objects
60
61 AFSAPPLIBDIR = ..\..\WINNT\afsapplib
62
63 subclass.obj: $(AFSAPPLIBDIR)\subclass.cpp
64     $(C2OBJ) -I$(AFSAPPLIBDIR) $(AFSAPPLIBDIR)\subclass.cpp
65
66
67 ############################################################################
68 # Definitions for building afsrm.exe
69
70 AFSRM_EXEFILE = $(DESTDIR)\bin\afsrm.exe
71
72 AFSRM_EXEOBJS =\
73     afsrm.obj \
74     forceremove.obj \
75     sutil.obj \
76     AFS_component_version_number.obj
77
78 AFSRM_EXELIBS =\
79     $(DESTDIR)\lib\afs\afsreg.lib \
80     $(DESTDIR)\lib\afs\afscmd.lib \
81     $(DESTDIR)\lib\afs\afscom_err.lib \
82     $(DESTDIR)\lib\afs\afsutil.lib
83
84 $(AFSRM_EXEFILE): $(AFSRM_EXEOBJS) $(AFSRM_EXELIBS)
85     $(EXECONLINK)
86
87 ############################################################################
88
89 DIRLANG= ZH_TW ZH_CN PT_BR KO_KR JA_JP ES_ES EN_US DE_DE
90
91 install : $(INSTALL_UTILS_DLLFILE) $(SERVER_UNINST_DLLFILE) $(CLIENT_UNINST_DLLFILE) \
92           $(CC_UNINST_DLLFILE) $(LIGHT_CLIENT_UNINST_DLLFILE) $(DOCS_UNINST_DLLFILE) \
93
94 media : install
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 s_afs_setup_utils.obj: afs_setup_utils.cpp
114         $(C2OBJ) afs_setup_utils.cpp -DSERVER_UNINST /Fos_afs_setup_utils.obj
115
116 c_afs_setup_utils.obj: afs_setup_utils.cpp
117         $(C2OBJ) afs_setup_utils.cpp -DCLIENT_UNINST /Foc_afs_setup_utils.obj
118
119 cc_afs_setup_utils.obj: afs_setup_utils.cpp
120         $(C2OBJ) afs_setup_utils.cpp -DCC_UNINST /Focc_afs_setup_utils.obj
121
122 lc_afs_setup_utils.obj: afs_setup_utils.cpp
123         $(C2OBJ) afs_setup_utils.cpp -DLIGHT_CLIENT_UNINST /Folc_afs_setup_utils.obj
124
125 d_afs_setup_utils.obj: afs_setup_utils.cpp
126         $(C2OBJ) afs_setup_utils.cpp -DDOCS_UNINST /Fod_afs_setup_utils.obj
127
128
129 ############################################################################
130
131 $(INSTALL_UTILS_DLLFILE) : afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
132     $(DLLGUILINK) -entry:DllEntryPoint /DEF:install_utils.def $(VCLIBS)
133     $(DLLPREP)
134     $(COPY) $*.lib $(ILIBDIR)
135     $(DEL) $*.lib $*.exp
136
137 $(SERVER_UNINST_DLLFILE) : s_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
138     $(DLLGUILINK) -entry:DllEntryPoint /DEF:server_uninst.def $(VCLIBS)
139     $(DLLPREP)
140     $(COPY) $*.lib $(ILIBDIR)
141     $(DEL) $*.lib $*.exp
142
143 $(CLIENT_UNINST_DLLFILE) : c_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
144     $(DLLGUILINK) -entry:DllEntryPoint /DEF:client_uninst.def $(VCLIBS)
145     $(DLLPREP)
146     $(COPY) $*.lib $(ILIBDIR)
147     $(DEL) $*.lib $*.exp
148
149 $(CC_UNINST_DLLFILE) : cc_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
150     $(DLLGUILINK) -entry:DllEntryPoint /DEF:cc_uninst.def $(VCLIBS)
151     $(DLLPREP)
152     $(COPY) $*.lib $(ILIBDIR)
153     $(DEL) $*.lib $*.exp
154
155 $(LIGHT_CLIENT_UNINST_DLLFILE) : lc_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
156     $(DLLGUILINK) -entry:DllEntryPoint /DEF:light_client_uninst.def $(VCLIBS)
157     $(DLLPREP)
158     $(COPY) $*.lib $(ILIBDIR)
159     $(DEL) $*.lib $*.exp
160
161 $(DOCS_UNINST_DLLFILE) : d_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
162     $(DLLGUILINK) -entry:DllEntryPoint /DEF:docs_uninst.def $(VCLIBS)
163     $(DLLPREP)
164     $(COPY) $*.lib $(ILIBDIR)
165     $(DEL) $*.lib $*.exp
166
167
168 ############################################################################
169
170 clean::
171    $(CD) _isuser
172    nmake -fntmakefile clean
173    $(CD) ..
174    $(CD) getwebdll
175    nmake -fntmakefile clean
176    $(CD) ..
177    echo done clean
178    cd _isuser
179    nmake -fntmakefile clean
180    $(CD) ..
181    cd getwebdll
182    nmake -fntmakefile clean
183    $(CD) ..
184    echo
185
186 ############################################################################
187 #
188 # Dependencies
189 #
190
191 afs_setup_utils_stub.res : afs_setup_utils_stub.rc AFS_component_version_number.h
192