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