1 ########################################################################
3 # Copyright (c) 2009, Secure Endpoints Inc.
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
10 # - Redistributions of source code must retain the above copyright
11 # notice, this list of conditions and the following disclaimer.
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
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.
34 !include ../../windows/NTMakefile.w32
36 dist_libkadm5clnt_la_SOURCES = \
62 dist_libkadm5srv_la_SOURCES = \
101 $(OBJ)\chpass_c.obj \
102 $(OBJ)\client_glue.obj \
103 $(OBJ)\common_glue.obj \
104 $(OBJ)\create_c.obj \
105 $(OBJ)\delete_c.obj \
106 $(OBJ)\destroy_c.obj \
110 $(OBJ)\get_princs_c.obj \
112 $(OBJ)\marshall.obj \
113 $(OBJ)\modify_c.obj \
116 $(OBJ)\randkey_c.obj \
117 $(OBJ)\rename_c.obj \
118 $(OBJ)\send_recv.obj \
123 $(OBJ)\bump_pw_expire.obj \
124 $(OBJ)\chpass_s.obj \
125 $(OBJ)\common_glue.obj \
126 $(OBJ)\context_s.obj \
127 $(OBJ)\create_s.obj \
128 $(OBJ)\delete_s.obj \
129 $(OBJ)\destroy_s.obj \
130 $(OBJ)\ent_setup.obj \
134 $(OBJ)\get_princs_s.obj \
139 $(OBJ)\marshall.obj \
140 $(OBJ)\modify_s.obj \
141 $(OBJ)\password_quality.obj \
144 $(OBJ)\randkey_s.obj \
145 $(OBJ)\rename_s.obj \
146 $(OBJ)\server_glue.obj \
147 $(OBJ)\server_hooks.obj \
148 $(OBJ)\set_keys.obj \
149 $(OBJ)\setkey3_s.obj \
150 $(OBJ)\set_modifier.obj \
154 proto_opts = -q -R "^(_|kadm5_c_|kadm5_s_|kadm5_log)" -P remove
156 $(OBJ)\kadm5-protos.h: $(dist_libkadm5srv_la_SOURCES) $(dist_libkadm5clnt_la_SOURCES)
157 $(PERL) ..\..\cf\make-proto.pl $(proto_opts) \
159 $(dist_libkadm5srv_la_SOURCES) \
160 $(dist_libkadm5clnt_la_SOURCES) \
163 $(OBJ)\kadm5-private.h: $(dist_libkadm5srv_la_SOURCES) $(dist_libkadm5clnt_la_SOURCES)
164 $(PERL) ..\..\cf\make-proto.pl $(proto_opts) \
166 $(dist_libkadm5srv_la_SOURCES) \
167 $(dist_libkadm5clnt_la_SOURCES) \
170 $(OBJ)\iprop-commands.c $(OBJ)\iprop-commands.h: iprop-commands.in
172 $(CP) $(SRCDIR)\iprop-commands.in $(OBJ)
173 $(BINDIR)\slc.exe iprop-commands.in
176 $(OBJ)\kadm5_err.h $(OBJ)kadm5_err.c: kadm5_err.et
178 $(BINDIR)\compile_et.exe $(SRCDIR)\kadm5_err.et
181 $(KADM5INCDIR)\kadm5_err.h: $(OBJ)\kadm5_err.h
183 KADM5INCDIR=$(INCDIR)\kadm5
186 $(KADM5INCDIR)\kadm5_err.h \
187 $(KADM5INCDIR)\admin.h \
188 $(KADM5INCDIR)\private.h \
189 $(KADM5INCDIR)\kadm5-hook.h \
190 $(KADM5INCDIR)\kadm5-protos.h \
191 $(KADM5INCDIR)\kadm5-private.h \
192 $(OBJ)\iprop-commands.h
194 SBINPROGRAMS=$(SBINDIR)\iprop-log.exe
196 LIBEXECPROGRAMS=$(LIBEXECDIR)\ipropd-master.exe $(LIBEXECDIR)\ipropd-slave.exe
208 $(SBINDIR)\iprop-log.exe: $(OBJ)\iprop-log.obj $(OBJ)\iprop-commands.obj $(EXELIBDEPS) \
209 $(OBJ)\iprop-log-version.res
213 $(LIBEXECDIR)\ipropd-master.exe: $(OBJ)\ipropd_master.obj $(OBJ)\ipropd_common.obj \
214 $(EXELIBDEPS) $(OBJ)\ipropd-master-version.res
218 $(LIBEXECDIR)\ipropd-slave.exe: $(OBJ)\ipropd_slave.obj $(OBJ)\ipropd_common.obj \
219 $(EXELIBDEPS) $(OBJ)\ipropd-slave-version.res
223 $(LIBKADM5CLNT): $(LIBKADM5CLNT_OBJS)
226 LIBKADM5SRVRES=$(OBJ)\libkadm5srv-version.res
228 $(LIBKADM5SRV): $(BINDIR)\libkadm5srv.dll
230 $(BINDIR)\libkadm5srv.dll: $(LIBKADM5SRV_OBJS) $(LIBHEIMDAL) $(LIBROKEN) $(LIBHDB) $(LIBCOMERR) $(LIBSQLITE) $(LIBKADM5SRVRES) $(LIBHEIMBASE)
231 $(DLLGUILINK) -implib:$(LIBKADM5SRV) -def:libkadm5srv-exports.def
234 all:: $(INCFILES) $(LIBKADM5SRV) $(LIBKADM5CLNT)
236 all-tools:: $(SBINPROGRAMS) $(LIBEXECPROGRAMS)
240 -$(RM) $(LIBKADM5CLNT)
241 -$(RM) $(LIBKADM5SRV)
242 -$(RM) $(BINDIR)\libkadm5srv.*
243 -$(RM) $(SBINPROGRAMS:.exe=.*)
244 -$(RM) $(LIBEXECPROGRAMS:.exe=.*)
246 test:: test-binaries test-run
249 $(OBJ)\default_keys.exe \
250 $(OBJ)\test_pw_quality.exe \
251 $(OBJ)\sample_passwd_check.dll \
252 $(OBJ)\sample_hook.dll
254 $(OBJ)\default_keys.exe: $(OBJ)\default_keys.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBHDB)
258 $(OBJ)\test_pw_quality.exe: $(OBJ)\test_pw_quality.obj \
259 $(LIBROKEN) $(LIBKADM5SRV) $(LIBVERS) $(LIBHEIMDAL)
263 $(OBJ)\sample_passwd_check.dll: $(OBJ)\sample_passwd_check.obj $(LIBHEIMDAL)
264 $(DLLGUILINK) /DEF:<<
271 $(OBJ)\sample_hook.dll: $(OBJ)\sample_hook.obj $(LIBKADM5SRV) $(LIBHEIMDAL)
272 $(DLLGUILINK) /DEF:<<
274 kadm5_hook_plugin_load
284 {$(OBJ)}.h{$(KADM5INCDIR)}.h:
287 {}.h{$(KADM5INCDIR)}.h:
291 $(C2OBJ_P) -I$(OBJ) -I$(KADM5INCDIR)
294 $(PERL) ..\..\cf\w32-check-exported-symbols.pl --vs version-script.map --def libkadm5srv-exports.def