Initial IBM OpenAFS 1.0 tree
[openafs.git] / src / WINNT / afs_setup_utils / NTMakefile
1 # Copyright (C)  1998  Transarc Corporation.  All rights reserved.
2
3 ############################################################################
4
5 # make compiler warnings fatal
6
7 AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -WX
8
9 # include the primary makefile
10
11 !INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
12 !INCLUDE ..\..\config\NTMakefile.version
13
14
15 ############################################################################
16
17 ILIBDIR = $(DESTDIR)\lib\afs
18
19
20 ############################################################################
21 # Build targets - one for each dll we need to make
22
23 INSTALL_UTILS_DLLFILE       = $(DESTDIR)\root.server\usr\afs\bin\InstallUtils.dll
24 SERVER_UNINST_DLLFILE       = $(DESTDIR)\root.server\usr\afs\bin\ServerUninst.dll
25 CLIENT_UNINST_DLLFILE       = $(DESTDIR)\root.server\usr\afs\bin\ClientUninst.dll
26 CC_UNINST_DLLFILE           = $(DESTDIR)\root.server\usr\afs\bin\CCUninst.dll
27 LIGHT_CLIENT_UNINST_DLLFILE = $(DESTDIR)\root.server\usr\afs\bin\LightClientUninst.dll
28 DOCS_UNINST_DLLFILE         = $(DESTDIR)\root.server\usr\afs\bin\DocsUninst.dll
29
30
31 ############################################################################
32 # Source files and libraries that are shared by all of the targets.
33
34 AFSAPPLIBOBJS = \
35     subclass.obj
36
37 DLLOBJS = \
38     $(AFSAPPLIBOBJS)    \
39     progress_dlg.obj    \
40     animate_icon.obj    \
41     sutil.obj           \
42     forceremove.obj     \
43     afs_setup_utils_stub.res
44
45 VCLIBS = \
46         comctl32.lib \
47         shell32.lib
48
49 DLLLIBS = \
50         $(DESTDIR)\lib\afs\TaLocale.lib \
51     $(DESTDIR)\lib\afs\afsreg.lib \
52     $(DESTDIR)\lib\afs\afsutil.lib
53
54
55 ############################################################################
56 # Definitions for building afsapplib objects
57
58 AFSAPPLIBDIR = ..\..\WINNT\afsapplib
59
60 subclass.obj: $(AFSAPPLIBDIR)\subclass.cpp
61     $(C2OBJ) -I$(AFSAPPLIBDIR) $(AFSAPPLIBDIR)\subclass.cpp
62
63
64 ############################################################################
65 # Definitions for building afsrm.exe
66
67 AFSRM_EXEFILE = $(DESTDIR)\bin\afsrm.exe
68
69 AFSRM_EXEOBJS =\
70     afsrm.obj \
71     forceremove.obj \
72     sutil.obj \
73     AFS_component_version_number.obj
74
75 AFSRM_EXELIBS =\
76     $(DESTDIR)\lib\afs\afsreg.lib \
77     $(DESTDIR)\lib\afs\afscmd.lib \
78     $(DESTDIR)\lib\afs\afscom_err.lib \
79     $(DESTDIR)\lib\afs\afsutil.lib
80
81 $(AFSRM_EXEFILE): $(AFSRM_EXEOBJS) $(AFSRM_EXELIBS)
82     $(EXECONLINK)
83
84 ############################################################################
85
86 install : $(INSTALL_UTILS_DLLFILE) $(SERVER_UNINST_DLLFILE) $(CLIENT_UNINST_DLLFILE) \
87           $(CC_UNINST_DLLFILE) $(LIGHT_CLIENT_UNINST_DLLFILE) $(DOCS_UNINST_DLLFILE) \
88           $(AFSRM_EXEFILE) lang
89
90 lang ::
91         $(CD) lang
92         for /f %l in ('dir /B ??_??') do @$(NTLANG) %l $(MAKECMD) /nologo /f NTMakefile install
93         $(CD) ..
94
95 ############################################################################
96 # How to build the shared source file for each uninstall dll
97
98 s_afs_setup_utils.obj: afs_setup_utils.cpp
99         $(C2OBJ) afs_setup_utils.cpp -DSERVER_UNINST /Fos_afs_setup_utils.obj
100
101 c_afs_setup_utils.obj: afs_setup_utils.cpp
102         $(C2OBJ) afs_setup_utils.cpp -DCLIENT_UNINST /Foc_afs_setup_utils.obj
103
104 cc_afs_setup_utils.obj: afs_setup_utils.cpp
105         $(C2OBJ) afs_setup_utils.cpp -DCC_UNINST /Focc_afs_setup_utils.obj
106
107 lc_afs_setup_utils.obj: afs_setup_utils.cpp
108         $(C2OBJ) afs_setup_utils.cpp -DLIGHT_CLIENT_UNINST /Folc_afs_setup_utils.obj
109
110 d_afs_setup_utils.obj: afs_setup_utils.cpp
111         $(C2OBJ) afs_setup_utils.cpp -DDOCS_UNINST /Fod_afs_setup_utils.obj
112
113
114 ############################################################################
115
116 $(INSTALL_UTILS_DLLFILE) : afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
117     $(DLLGUILINK) -entry:DllEntryPoint /DEF:install_utils.def $(VCLIBS)
118     $(DLLPREP)
119     $(COPY) $*.lib $(ILIBDIR)
120     $(DEL) $*.lib $*.exp
121
122 $(SERVER_UNINST_DLLFILE) : s_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
123     $(DLLGUILINK) -entry:DllEntryPoint /DEF:server_uninst.def $(VCLIBS)
124     $(DLLPREP)
125     $(COPY) $*.lib $(ILIBDIR)
126     $(DEL) $*.lib $*.exp
127
128 $(CLIENT_UNINST_DLLFILE) : c_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
129     $(DLLGUILINK) -entry:DllEntryPoint /DEF:client_uninst.def $(VCLIBS)
130     $(DLLPREP)
131     $(COPY) $*.lib $(ILIBDIR)
132     $(DEL) $*.lib $*.exp
133
134 $(CC_UNINST_DLLFILE) : cc_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
135     $(DLLGUILINK) -entry:DllEntryPoint /DEF:cc_uninst.def $(VCLIBS)
136     $(DLLPREP)
137     $(COPY) $*.lib $(ILIBDIR)
138     $(DEL) $*.lib $*.exp
139
140 $(LIGHT_CLIENT_UNINST_DLLFILE) : lc_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
141     $(DLLGUILINK) -entry:DllEntryPoint /DEF:light_client_uninst.def $(VCLIBS)
142     $(DLLPREP)
143     $(COPY) $*.lib $(ILIBDIR)
144     $(DEL) $*.lib $*.exp
145
146 $(DOCS_UNINST_DLLFILE) : d_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
147     $(DLLGUILINK) -entry:DllEntryPoint /DEF:docs_uninst.def $(VCLIBS)
148     $(DLLPREP)
149     $(COPY) $*.lib $(ILIBDIR)
150     $(DEL) $*.lib $*.exp
151
152
153 ############################################################################
154
155 clean::
156
157
158 ############################################################################
159 #
160 # Dependencies
161 #
162
163 afs_setup_utils_stub.res : afs_setup_utils_stub.rc AFS_component_version_number.h
164