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 32RELDIR=lib\kadm5 33 34!include ../../windows/NTMakefile.w32 35 36dist_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 60dist_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 94LIBKADM5CLNT_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 115LIBKADM5SRV_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 146proto_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 175KADM5INCDIR=$(INCDIR)\kadm5 176 177INCFILES=\ 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 185SBINPROGRAMS=$(SBINDIR)\iprop-log.exe 186 187LIBEXECPROGRAMS=$(LIBEXECDIR)\ipropd-master.exe $(LIBEXECDIR)\ipropd-slave.exe 188 189EXELIBDEPS= \ 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 217LIBKADM5SRVRES=$(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 225all:: $(INCFILES) $(LIBKADM5SRV) $(LIBKADM5CLNT) 226 227all-tools:: $(SBINPROGRAMS) $(LIBEXECPROGRAMS) 228 229clean:: 230 -$(RM) $(INCFILES) 231 -$(RM) $(LIBKADM5CLNT) 232 -$(RM) $(LIBKADM5SRV) 233 -$(RM) $(BINDIR)\libkadm5srv.* 234 -$(RM) $(SBINPROGRAMS:.exe=.*) 235 -$(RM) $(LIBEXECPROGRAMS:.exe=.*) 236 237test:: test-binaries test-run 238 239test-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:<< 255EXPORTS 256 version DATA 257 check_length 258<< 259 $(DLLPREP_NODIST) 260 261test-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 276test-exports: 277 $(PERL) ..\..\cf\w32-check-exported-symbols.pl --vs version-script.map --def libkadm5srv-exports.def 278 279test:: test-exports 280