54905fc89e5f71787ee07b1cfd8a4212e7161bab
[openafs.git] / src / WINNT / netidmgr_plugin / NTMakefile
1 #
2 # Copyright (c) 2005,2006 Secure Endpoints Inc.
3 #
4 # Permission is hereby granted, free of charge, to any person
5 # obtaining a copy of this software and associated documentation files
6 # (the "Software"), to deal in the Software without restriction,
7 # including without limitation the rights to use, copy, modify, merge,
8 # publish, distribute, sublicense, and/or sell copies of the Software,
9 # and to permit persons to whom the Software is furnished to do so,
10 # subject to the following conditions:
11 #
12 # The above copyright notice and this permission notice shall be
13 # included in all copies or substantial portions of the Software.
14 #
15 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19 # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20 # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21 # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 # SOFTWARE.
23
24 AFSDEV_AUXRCFLAGS=/i ..\kfw\inc\netidmgr
25 RELDIR=WINNT\netidmgr_plugin
26 !INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
27 !INCLUDE ..\..\config\NTMakefile.version
28
29 AFSPLUGIN_VERSION_MAJOR=$(AFSPRODUCT_VER_MAJOR)
30 AFSPLUGIN_VERSION_MINOR=$(AFSPRODUCT_VER_MINOR)
31 AFSPLUGIN_VERSION_PATCH=$(AFSPRODUCT_VER_PATCH)
32 AFSPLUGIN_VERSION_AUX  =$(AFSPRODUCT_VER_BUILD)
33
34 AFSPLUGIN_VERSION=$(AFSPLUGIN_VERSION_MAJOR).$(AFSPLUGIN_VERSION_MINOR).$(AFSPLUGIN_VERSION_PATCH).$(AFSPLUGIN_VERSION_AUX)
35 AFSPLUGIN_VERLIST=$(AFSPLUGIN_VERSION_MAJOR),$(AFSPLUGIN_VERSION_MINOR),$(AFSPLUGIN_VERSION_PATCH),$(AFSPLUGIN_VERSION_AUX)
36
37 # short form version numbers
38 TAFSPLUGIN_VERSION=$(AFSPLUGIN_VERSION_MAJOR).$(AFSPLUGIN_VERSION_MINOR).$(AFSPLUGIN_VERSION_PATCH)
39
40 !INCLUDE afsp_version.h.in
41
42 # Directories
43
44 EXEDIR = $(DESTDIR)\root.client\usr\vice\etc
45
46 INCFILEDIR = $(DESTDIR)\include\WINNT
47
48 LIBFILEDIR = $(DESTDIR)\lib
49
50 # Build environment
51
52 kfwincflags=-I$(HEIMDALSDKDIR)\inc -I$(HEIMDALSDKDIR)\inc\krb5 -I..\kfw\inc\netidmgr
53 afsincflags=-I$(DESTDIR)\include -I$(DESTDIR)\include\afs -I$(DESTDIR)\include\rx
54
55 incflags=$(kfwincflags) $(afsincflags) -I.
56 pldefines=-DUNICODE -D_UNICODE
57 cdebug=$(cdebug) -Os -Zi
58 cwarn=$(cwarn) /Wp64
59
60 plcflags=$(cdebug) $(cflags) $(incflags) $(pldefines) $(cwarn) $(cvarsdll)
61
62 PC2OBJ=$(CC) $(plcflags) /Fo"$@" /c $**
63
64 {}.c{$(OBJ)}.obj:
65         $(PC2OBJ)
66
67 # Targets
68
69 CHMFILE=$(EXEDIR)\afsplhlp.chm
70
71 DLLFILE=$(EXEDIR)\afscred.dll
72
73 LIBFILE=$(LIBFILEDIR)\afscred.lib
74
75 INCFILES=                               \
76         AFS_component_version_number.h  \
77         afsp_version.h                  \
78         $(INCFILEDIR)\afspext.h         \
79         $(INCFILEDIR)\afsp_version.h
80
81 OBJFILES=                               \
82         $(OUT)\AFS_component_version_number.obj \
83         $(OUT)\afsfuncs.obj             \
84         $(OUT)\afsplugin.obj            \
85         $(OUT)\main.obj                 \
86         $(OUT)\afsconfig.obj            \
87         $(OUT)\afsconfigdlg.obj         \
88         $(OUT)\afsnewcreds.obj          \
89         $(OUT)\afsext.obj               \
90         $(OUT)\afshelp.obj              \
91         $(OUT)\afsicon.obj              \
92         $(OUT)\dynimport.obj            \
93         $(OUT)\krb5common.obj
94
95 !if "$(CPU)" == "AMD64"
96 LIBFILES=                               \
97         $(AFSROOT)\src\WINNT\kfw\lib\$(CPU)\nidmgr64.lib
98 !else
99 LIBFILES=                               \
100         $(AFSROOT)\src\WINNT\kfw\lib\$(CPU)\nidmgr32.lib
101 !endif
102
103 SDKLIBFILES=                            \
104         $(DESTDIR)\lib\afsauthent.lib   \
105         $(DESTDIR)\lib\libafsconf.lib   \
106         $(DESTDIR)\lib\afs\mtafsutil.lib\
107         htmlhelp.lib                    \
108         shell32.lib                     \
109         comctl32.lib                    \
110         version.lib                     \
111         shlwapi.lib                     \
112         psapi.lib
113
114 DELAYOPT=/DELAYLOAD:advapi32.dll /DELAYLOAD:secur32.dll /DELAYLOAD:psapi.dll
115
116 VERRESFILE=$(OUT)\version.res
117
118 $(OUT)\afsfuncs.obj: afsfuncs.c
119         $(PC2OBJ)
120
121 $(OUT)\afsplugin.obj: afsplugin.c
122         $(PC2OBJ)
123
124 $(OUT)\main.obj: main.c
125         $(PC2OBJ)
126
127 $(OUT)\afsconfig.obj: afsconfig.c
128         $(PC2OBJ)
129
130 $(OUT)\afsconfigdlg.obj: afsconfigdlg.c
131         $(PC2OBJ)
132
133 $(OUT)\afsnewcreds.obj: afsnewcreds.c
134         $(PC2OBJ)
135
136 $(OUT)\afsext.obj: afsext.c
137         $(PC2OBJ)
138
139 $(OUT)\afshelp.obj: afshelp.c
140         $(PC2OBJ)
141
142 $(OUT)\afsicon.obj: afsicon.c
143         $(PC2OBJ)
144
145 $(OUT)\dynimport.obj: dynimport.c
146         $(PC2OBJ)
147
148 $(OUT)\krb5common.obj: krb5common.c
149         $(PC2OBJ)
150
151 $(DLLFILE): $(OBJFILES) $(VERRESFILE) $(HEIMDEPS)
152         $(DLLGUILINK) $(LIBFILES) $(SDKLIBFILES) $(DELAYOPT) $(HEIMLINKOPTS)
153         $(_VC_MANIFEST_EMBED_DLL)
154         $(_VC_MANIFEST_CLEAN)
155         $(CODESIGN_USERLAND)
156         $(SYMSTORE_IMPORT)
157
158 dummy:
159
160 $(CHMFILE): dummy
161         $(CD) help
162         nmake /f NTMakefile install
163         $(CD) ..
164
165 install: $(INCFILES) $(CHMFILE) $(DLLFILE) lang
166
167 lang::
168
169 # Repeat this block as necessary redefining LANG for additional
170 # languages.
171
172 # Begin language block
173 LANG=en_US
174
175 LANGDLL=$(EXEDIR)\afscred_$(LANG).dll
176
177 lang:: $(LANGDLL)
178
179 $(LANGDLL): $(OUT)\langres_$(LANG).res $(OUT)\langres_ver_$(LANG).res
180         $(DLLRESLINK)
181         $(CODESIGN_USERLAND)
182
183 $(OUT)\langres_ver_$(LANG).res: version.rc
184         $(RC) /d LANGVER /d LANG_$(LANG) /fo $@ $**
185
186 $(OUT)\langres_$(LANG).res: lang\$(LANG)\langres.rc
187         $(RC) /fo $@ $**
188
189 LANG2=cs_CZ
190
191 LANGDLL2=$(EXEDIR)\afscred_$(LANG2).dll
192
193 lang:: $(LANGDLL2)
194
195 $(LANGDLL2): $(OUT)\langres_$(LANG2).res $(OUT)\langres_ver_$(LANG2).res
196         $(DLLRESLINK)
197         $(CODESIGN_USERLAND)
198
199 $(OUT)\langres_ver_$(LANG2).res: version.rc
200         $(RC) /d LANGVER /d LANG_$(LANG2) /fo $@ $**
201
202 $(OUT)\langres_$(LANG2).res: lang\$(LANG2)\langres.rc
203         $(RC) /fo $@ $**
204
205 # End language block
206
207 clean::
208         $(DEL) $(INCFILES)
209         $(DEL) *.pdb
210         $(CD) help
211         $(MAKECMD) /f NTMakefile clean
212         $(CD) ..