NTMakefile revision 1.1.1.1.26.1 1 ########################################################################
2 #
3 # Copyright (c) 2009, Secure Endpoints Inc.
4 # All rights reserved.
5 #
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
9 #
10 # - Redistributions of source code must retain the above copyright
11 # notice, this list of conditions and the following disclaimer.
12 #
13 # - Redistributions in binary form must reproduce the above copyright
14 # notice, this list of conditions and the following disclaimer in
15 # the documentation and/or other materials provided with the
16 # distribution.
17 #
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22 # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 # POSSIBILITY OF SUCH DAMAGE.
30 #
31
32 RELDIR=lib\kadm5
33
34 !include ../../windows/NTMakefile.w32
35
36 dist_libkadm5clnt_la_SOURCES = \
37 ad.c \
38 chpass_c.c \
39 client_glue.c \
40 common_glue.c \
41 create_c.c \
42 delete_c.c \
43 destroy_c.c \
44 flush_c.c \
45 free.c \
46 get_c.c \
47 get_princs_c.c \
48 init_c.c \
49 kadm5_locl.h \
50 marshall.c \
51 modify_c.c \
52 private.h \
53 privs_c.c \
54 randkey_c.c \
55 rename_c.c \
56 send_recv.c \
57 kadm5-pwcheck.h \
58 admin.h
59
60 dist_libkadm5srv_la_SOURCES = \
61 acl.c \
62 admin.h \
63 bump_pw_expire.c \
64 chpass_s.c \
65 common_glue.c \
66 context_s.c \
67 create_s.c \
68 delete_s.c \
69 destroy_s.c \
70 ent_setup.c \
71 error.c \
72 flush_s.c \
73 free.c \
74 get_princs_s.c \
75 get_s.c \
76 init_s.c \
77 kadm5_locl.h \
78 keys.c \
79 log.c \
80 marshall.c \
81 modify_s.c \
82 password_quality.c \
83 private.h \
84 privs_s.c \
85 randkey_s.c \
86 rename_s.c \
87 server_glue.c \
88 set_keys.c \
89 setkey3_s.c \
90 set_modifier.c \
91 kadm5-pwcheck.h \
92 admin.h
93
94 LIBKADM5CLNT_OBJS= \
95 $(OBJ)\ad.obj \
96 $(OBJ)\chpass_c.obj \
97 $(OBJ)\client_glue.obj \
98 $(OBJ)\common_glue.obj \
99 $(OBJ)\create_c.obj \
100 $(OBJ)\delete_c.obj \
101 $(OBJ)\destroy_c.obj \
102 $(OBJ)\flush_c.obj \
103 $(OBJ)\free.obj \
104 $(OBJ)\get_c.obj \
105 $(OBJ)\get_princs_c.obj \
106 $(OBJ)\init_c.obj \
107 $(OBJ)\marshall.obj \
108 $(OBJ)\modify_c.obj \
109 $(OBJ)\privs_c.obj \
110 $(OBJ)\randkey_c.obj \
111 $(OBJ)\rename_c.obj \
112 $(OBJ)\send_recv.obj \
113 $(OBJ)\kadm5_err.obj
114
115 LIBKADM5SRV_OBJS= \
116 $(OBJ)\acl.obj \
117 $(OBJ)\bump_pw_expire.obj \
118 $(OBJ)\chpass_s.obj \
119 $(OBJ)\common_glue.obj \
120 $(OBJ)\context_s.obj \
121 $(OBJ)\create_s.obj \
122 $(OBJ)\delete_s.obj \
123 $(OBJ)\destroy_s.obj \
124 $(OBJ)\ent_setup.obj \
125 $(OBJ)\error.obj \
126 $(OBJ)\flush_s.obj \
127 $(OBJ)\free.obj \
128 $(OBJ)\get_princs_s.obj \
129 $(OBJ)\get_s.obj \
130 $(OBJ)\init_s.obj \
131 $(OBJ)\keys.obj \
132 $(OBJ)\log.obj \
133 $(OBJ)\marshall.obj \
134 $(OBJ)\modify_s.obj \
135 $(OBJ)\password_quality.obj \
136 $(OBJ)\privs_s.obj \
137 $(OBJ)\randkey_s.obj \
138 $(OBJ)\rename_s.obj \
139 $(OBJ)\server_glue.obj \
140 $(OBJ)\set_keys.obj \
141 $(OBJ)\setkey3_s.obj \
142 $(OBJ)\set_modifier.obj \
143 $(OBJ)\kadm5_err.obj
144
145
146 proto_opts = -q -R "^(_|kadm5_c_|kadm5_s_|kadm5_log)" -P remove
147
148 $(OBJ)\kadm5-protos.h: $(dist_libkadm5srv_la_SOURCES) $(dist_libkadm5clnt_la_SOURCES)
149 $(PERL) ..\..\cf\make-proto.pl $(proto_opts) \
150 -o $@ \
151 $(dist_libkadm5srv_la_SOURCES) \
152 $(dist_libkadm5clnt_la_SOURCES) \
153 || $(RM) $@
154
155 $(OBJ)\kadm5-private.h: $(dist_libkadm5srv_la_SOURCES) $(dist_libkadm5clnt_la_SOURCES)
156 $(PERL) ..\..\cf\make-proto.pl $(proto_opts) \
157 -p $@ \
158 $(dist_libkadm5srv_la_SOURCES) \
159 $(dist_libkadm5clnt_la_SOURCES) \
160 || $(RM) $@
161
162 $(OBJ)\iprop-commands.c $(OBJ)\iprop-commands.h: iprop-commands.in
163 cd $(OBJ)
164 $(CP) $(SRCDIR)\iprop-commands.in $(OBJ)
165 $(BINDIR)\slc.exe iprop-commands.in
166 cd $(SRCDIR)
167
168 $(OBJ)\kadm5_err.h $(OBJ)kadm5_err.c: kadm5_err.et
169 cd $(OBJ)
170 $(BINDIR)\compile_et.exe $(SRCDIR)\kadm5_err.et
171 cd $(SRCDIR)
172
173 $(KADM5INCDIR)\kadm5_err.h: $(OBJ)\kadm5_err.h
174
175 KADM5INCDIR=$(INCDIR)\kadm5
176
177 INCFILES=\
178 $(KADM5INCDIR)\kadm5_err.h \
179 $(KADM5INCDIR)\admin.h \
180 $(KADM5INCDIR)\private.h \
181 $(KADM5INCDIR)\kadm5-protos.h \
182 $(KADM5INCDIR)\kadm5-private.h \
183 $(OBJ)\iprop-commands.h
184
185 SBINPROGRAMS=$(SBINDIR)\iprop-log.exe
186
187 LIBEXECPROGRAMS=$(LIBEXECDIR)\ipropd-master.exe $(LIBEXECDIR)\ipropd-slave.exe
188
189 EXELIBDEPS= \
190 $(LIBKADM5SRV) \
191 $(LIBROKEN) \
192 $(LIBHEIMDAL) \
193 $(LIBHDB) \
194 $(LIBSQLITE) \
195 $(LIBSL) \
196 $(LIBCOMERR) \
197 $(LIBVERS)
198
199 $(SBINDIR)\iprop-log.exe: $(OBJ)\iprop-log.obj $(OBJ)\iprop-commands.obj $(EXELIBDEPS) \
200 $(OBJ)\iprop-log-version.res
201 $(EXECONLINK)
202 $(EXEPREP)
203
204 $(LIBEXECDIR)\ipropd-master.exe: $(OBJ)\ipropd_master.obj $(OBJ)\ipropd_common.obj \
205 $(EXELIBDEPS) $(OBJ)\ipropd-master-version.res
206 $(EXECONLINK)
207 $(EXEPREP)
208
209 $(LIBEXECDIR)\ipropd-slave.exe: $(OBJ)\ipropd_slave.obj $(OBJ)\ipropd_common.obj \
210 $(EXELIBDEPS) $(OBJ)\ipropd-slave-version.res
211 $(EXECONLINK)
212 $(EXEPREP)
213
214 $(LIBKADM5CLNT): $(LIBKADM5CLNT_OBJS)
215 $(LIBCON)
216
217 LIBKADM5SRVRES=$(OBJ)\libkadm5srv-version.res
218
219 $(LIBKADM5SRV): $(BINDIR)\libkadm5srv.dll
220
221 $(BINDIR)\libkadm5srv.dll: $(LIBKADM5SRV_OBJS) $(LIBHEIMDAL) $(LIBROKEN) $(LIBHDB) $(LIBCOMERR) $(LIBSQLITE) $(LIBKADM5SRVRES) $(LIBHEIMBASE)
222 $(DLLGUILINK) -implib:$(LIBKADM5SRV) -def:libkadm5srv-exports.def
223 $(DLLPREP_NODIST)
224
225 all:: $(INCFILES) $(LIBKADM5SRV) $(LIBKADM5CLNT)
226
227 all-tools:: $(SBINPROGRAMS) $(LIBEXECPROGRAMS)
228
229 clean::
230 -$(RM) $(INCFILES)
231 -$(RM) $(LIBKADM5CLNT)
232 -$(RM) $(LIBKADM5SRV)
233 -$(RM) $(BINDIR)\libkadm5srv.*
234 -$(RM) $(SBINPROGRAMS:.exe=.*)
235 -$(RM) $(LIBEXECPROGRAMS:.exe=.*)
236
237 test:: test-binaries test-run
238
239 test-binaries: \
240 $(OBJ)\default_keys.exe \
241 $(OBJ)\test_pw_quality.exe \
242 $(OBJ)\sample_passwd_check.dll
243
244 $(OBJ)\default_keys.exe: $(OBJ)\default_keys.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBHDB)
245 $(EXECONLINK)
246 $(EXEPREP_NODIST)
247
248 $(OBJ)\test_pw_quality.exe: $(OBJ)\test_pw_quality.obj \
249 $(LIBROKEN) $(LIBKADM5SRV) $(LIBVERS) $(LIBHEIMDAL)
250 $(EXECONLINK)
251 $(EXEPREP_NODIST)
252
253 $(OBJ)\sample_passwd_check.dll: $(OBJ)\sample_passwd_check.obj $(LIBHEIMDAL)
254 $(DLLGUILINK) /DEF:<<
255 EXPORTS
256 version DATA
257 check_length
258 <<
259 $(DLLPREP_NODIST)
260
261 test-run:
262 cd $(OBJ)
263 -default_keys.exe
264 -test_pw_quality.exe
265 cd $(SRCDIR)
266
267 {$(OBJ)}.h{$(KADM5INCDIR)}.h:
268 $(CP) $< $@
269
270 {}.h{$(KADM5INCDIR)}.h:
271 $(CP) $< $@
272
273 {}.c{$(OBJ)}.obj::
274 $(C2OBJ_P) -I$(OBJ) -I$(KADM5INCDIR)
275
276 test-exports:
277 $(PERL) ..\..\cf\w32-check-exported-symbols.pl --vs version-script.map --def libkadm5srv-exports.def
278
279 test:: test-exports
280