winnt-dotnet-support-20030812
[openafs.git] / src / WINNT / afsadmsvr / 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 # since we're using rpcndr.h, we can't include <afs/stds.h>'s "hyper" type.
13
14 AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -DIGNORE_STDS_H
15
16 # include the primary makefile
17
18 !INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
19 !INCLUDE ..\..\config\NTMakefile.version
20
21 ############################################################################
22 #
23 # BUILD TARGETS
24 #
25
26 INCFILEDIR = $(DESTDIR)\include\WINNT
27
28 EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\TaAfsAdmSvr.exe
29
30 LIBFILE = $(DESTDIR)\lib\afs\TaAfsAdmSvrClient.lib
31
32 INCFILES = \
33         $(INCFILEDIR)\TaAfsAdmSvr.h \
34         $(INCFILEDIR)\TaAfsAdmSvrClient.h \
35         $(INCFILEDIR)\TaAfsAdmSvrCommon.h \
36         $(INCFILEDIR)\iTaAfsAdmSvr.h \
37         $(INCFILEDIR)\iTaAfsAdmSvrTypes.h
38
39 IDLFILES = \
40         iTaAfsAdmSvr.h \
41         iTaAfsAdmSvrTypes.h
42
43 LIBOBJS = \
44         $(OJT)\TaAfsAdmSvrClient.obj \
45         $(OJT)\TaAfsAdmSvrClientBind.obj \
46         $(OJT)\TaAfsAdmSvrClientCache.obj \
47         $(OJT)\TaAfsAdmSvrClientCell.obj \
48         $(OJT)\TaAfsAdmSvrClientGroup.obj \
49         $(OJT)\TaAfsAdmSvrClientInternal.obj \
50         $(OJT)\TaAfsAdmSvrClientNotify.obj \
51         $(OJT)\TaAfsAdmSvrClientPing.obj \
52         $(OJT)\TaAfsAdmSvrClientUser.obj \
53         $(OJT)\TaAfsAdmSvrCommon.obj \
54         $(OJT)\iTaAfsAdmSvr_c.obj
55
56 EXERES = $(OJT)\AfsAdmSvr.res
57
58
59 $(EXERES):$$(@B).rc
60         $(RC) $**
61
62 EXEOBJS = \
63         $(OJT)\TaAfsAdmSvr.obj \
64         $(OJT)\TaAfsAdmSvrCallback.obj \
65         $(OJT)\TaAfsAdmSvrCell.obj \
66         $(OJT)\TaAfsAdmSvrCommon.obj \
67         $(OJT)\TaAfsAdmSvrDebug.obj \
68         $(OJT)\TaAfsAdmSvrGeneral.obj \
69         $(OJT)\TaAfsAdmSvrGroup.obj \
70         $(OJT)\TaAfsAdmSvrMain.obj \
71         $(OJT)\TaAfsAdmSvrProperties.obj \
72         $(OJT)\TaAfsAdmSvrSearch.obj \
73         $(OJT)\TaAfsAdmSvrUser.obj \
74         $(OJT)\iTaAfsAdmSvr_s.obj
75
76 VCLIBS =\
77         gdi32.lib \
78         user32.lib \
79         rpcns4.lib \
80         rpcrt4.lib \
81         comctl32.lib \
82         gdi32.lib
83
84 EXELIBS = \
85         $(DESTDIR)\lib\afs\AfsClass.lib \
86         $(DESTDIR)\lib\afs\TaAfsAppLib.lib \
87         $(DESTDIR)\lib\afs\AfsKasAdmin.lib \
88         $(DESTDIR)\lib\afs\AfsPtsAdmin.lib \
89         $(DESTDIR)\lib\afs\AfsVosAdmin.lib \
90         $(DESTDIR)\lib\afs\AfsBosAdmin.lib \
91         $(DESTDIR)\lib\afs\AfsAdminUtil.lib \
92         $(DESTDIR)\lib\afs\AfsClientAdmin.lib \
93
94 ############################################################################
95 #
96 # IDL COMPILATION
97 #
98
99 MIDL_FLAGS=/ms_ext \
100            /app_config \
101            /I $(INCFILEDIR) \
102            /I . \
103            /env win32 \
104            /win32 \
105            /align 8 \
106            /pack 8 \
107            /W3 \
108            /WX \
109            /no_robust \
110            /nologo
111
112 .SUFFIXES: .h .idl
113
114 .idl.h:
115         echo [$<]
116         midl $(MIDL_FLAGS) $(AFSDEV_AUXMIDLFLAGS) $<
117
118 ############################################################################
119
120 afsapplib_headers :
121         $(CD) ..\afsapplib
122         nmake /nologo /f ntmakefile headers
123         $(CD) ..\afsadmsvr
124
125 $(LIBFILE) : $(LIBOBJS)
126         $(LIBARCH)
127
128 afsapplib_primary :
129         $(CD) ..\afsapplib
130         nmake /nologo /f ntmakefile primary
131         $(CD) ..\afsadmsvr
132
133 afsapplib_clean :
134         $(CD) ..\afsapplib
135         nmake /nologo /f ntmakefile clean
136         $(CD) ..\afsadmsvr
137
138 afsclass_primary :
139         $(CD) ..\afsclass
140         nmake /nologo /f ntmakefile primary
141         $(CD) ..\afsadmsvr
142
143 afsclass_clean :
144         $(CD) ..\afsclass
145         nmake /nologo /f ntmakefile clean
146         $(CD) ..\afsadmsvr
147
148 $(EXEFILE) : $(EXEOBJS) $(EXELIBS)
149         $(EXECONLINK)  $(VCLIBS)
150         $(EXEPREP) 
151
152 install : \
153         $(IDLFILES) \
154         $(INCFILES) \
155         afsapplib_headers \
156         $(LIBFILE) \
157         afsapplib_primary \
158         afsclass_primary \
159         $(EXEFILE)
160
161 clean:: afsclass_clean afsapplib_clean
162         if exist ITaAfsAdmSvr*.cpp del ITaAfsAdmSvr*.cpp
163         if exist ITaAfsAdmSvr*.c del ITaAfsAdmSvr*.c
164         if exist ITaAfsAdmSvr*.h del ITaAfsAdmSvr*.h
165
166 ############################################################################
167 #
168 # Dependencies
169 #
170
171 $(OJT)\AfsAdmSvr.res : AFS_component_version_number.h
172
173 mkdir:
174         -mkdir $(OJT)\..\afsapplib
175         cd ..\afsapplib
176         nmake /nologo /f ntmakefile mkdir
177         cd ..\afsadmsvr
178         -mkdir $(OJT)\..\afsclass
179         cd ..\afsclass
180         nmake /nologo /f ntmakefile mkdir
181         cd ..\afsadmsvr