Windows: Platform specific MIDL output
[openafs.git] / src / WINNT / client_osi / 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 RELDIR=WINNT\client_osi
9 !INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
10 !INCLUDE ..\..\config\NTMakefile.version
11
12 ############################################################################
13 # Definitions for installing header files
14
15 INCFILEDIR = $(DESTDIR)\include  # header file install directory
16
17 INCFILES =\
18         $(INCFILEDIR)\dbrpc.h \
19         $(INCFILEDIR)\basic.h   \
20         $(INCFILEDIR)\osidebug.h  \
21         $(INCFILEDIR)\osiltype.h \
22         $(INCFILEDIR)\osistatl.h \
23         $(INCFILEDIR)\trylock.h \
24         $(INCFILEDIR)\main.h \
25         $(INCFILEDIR)\osibasel.h \
26         $(INCFILEDIR)\osifd.h  \
27         $(INCFILEDIR)\osiqueue.h \
28         $(INCFILEDIR)\osiutils.h \
29         $(INCFILEDIR)\osi.h \
30         $(INCFILEDIR)\osidb.h \
31         $(INCFILEDIR)\osilog.h \
32         $(INCFILEDIR)\osisleep.h \
33         $(INCFILEDIR)\perf.h \
34 !IFDEF OSIEVENT
35         $(INCFILEDIR)\osievent.h \
36 !ENDIF
37     $(INCFILEDIR)\osithrdnt.h \
38     $(INCFILEDIR)\largeint.h
39
40 $(INCFILEDIR)\dbrpc.h: dbrpc.h
41
42 EXEFILE = $(DESTDIR)\bin\osidebug.exe
43
44 EXEOBJS = \
45         osidebug.obj
46
47 EXELIBS = \
48         rpcrt4.lib \
49 #       rpcns4.lib \
50         Ws2_32.lib shell32.lib \
51         $(DESTDIR)\lib\libosi.lib
52
53 ############################################################################
54 # Definitions for building a DLL.
55
56 DLLFILE = $(DESTDIR)\root.client\usr\vice\etc\libosi.dll
57
58 ILIBDIR = $(DESTDIR)\lib
59
60 DLLOBJS =\
61         $(OUT)\dbrpc_$(CPU)_s.obj \
62         $(OUT)\osistatl.obj \
63         $(OUT)\osibasel.obj \
64         $(OUT)\osisleep.obj \
65         $(OUT)\osiqueue.obj \
66         $(OUT)\osiltype.obj \
67         $(OUT)\osidb.obj \
68         $(OUT)\osifd.obj \
69         $(OUT)\osilog.obj \
70         $(OUT)\osiutils.obj \
71         $(OUT)\libosi.res
72
73 DLLLIBS =\
74         rpcrt4.lib \
75 #       rpcns4.lib
76
77 $(DLLFILE): $(DLLOBJS)
78         $(DLLGUILINK) $(DLLLIBS) -def:libosi.def
79         $(_VC_MANIFEST_EMBED_DLL)
80         $(DLLPREP)
81         $(CODESIGN_USERLAND)
82         $(SYMSTORE_IMPORT)
83         $(MAKECYGLIB) --input-def libosi.def
84         $(COPY) $*.lib $(ILIBDIR)
85         $(DEL) $*.lib $*.exp
86
87
88 ############################################################################
89 # build osievent.dll
90 OSIEVENTDLL = $(DESTDIR)\root.client\usr\vice\etc\osievent.dll
91
92 osievent.rc: osievent.mc
93         mc $*.mc
94
95 $(OUT)\osievent.res: osievent.rc
96
97 $(OUT)\osievent.dll: $(OUT)\osievent.res
98         link -dll -noentry -out:$*.dll $*.res
99
100 $(OSIEVENTDLL): $(OUT)\osievent.dll
101         $(COPY) osievent.dll $(DESTDIR)\root.client\usr\vice\etc\.
102
103 ############################################################################
104 # build osidebug too
105
106 $(OUT)\osidebug.res: osidebug.rc
107
108 $(EXEOBJS) : osidebug.c
109
110 $(EXEFILE) : $(EXEOBJS)
111         $(EXEGUILINK) $(EXELIBS)
112         $(_VC_MANIFEST_EMBED_EXE)
113         $(CODESIGN_USERLAND)
114         $(SYMSTORE_IMPORT)
115
116 ############################################################################
117 # midl on dbrpc.idl
118
119 dbrpc.h dbrpc_$(CPU)_c.c dbrpc_$(CPU)_s.c: dbrpc.idl
120         $(MIDL) $(AFSDEV_AUXMIDLFLAGS) -cstub dbrpc_$(CPU)_c.c -sstub dbrpc_$(CPU)_s.c -Zp4 -cpp_cmd $(cc) -cpp_opt "-E" $**
121 ############################################################################
122 # generate versioninfo resources
123
124 $(OUT)\libosi.res: libosi.rc AFS_component_version_number.h
125
126 ############################################################################
127 # Install target; primary makefile target
128
129 install_headers: $(INCFILES)
130
131 !IFDEF OSIEVENT
132 install: $(OSIEVENTDLL) install_headers $(DLLFILE)
133 !ELSE
134 install: install_headers $(DLLFILE)
135 !ENDIF
136
137 install_debug: $(OUT)\osidebug.res $(EXEFILE)
138
139 ############################################################################
140 # Local clean target; augments predefined clean target
141
142 clean::
143         $(DEL) dbrpc_$(CPU)_s.c dbrpc_$(CPU)_c.c dbrpc.h $(DLLFILE) $(INCFILES) $(OSIEVENTDLL)
144         $(DEL) $(EXEOBJS) $(EXEFILE) $(OUT)\*.res $(OUT)\*.DLL
145
146
147 mkdir: