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 set_modifier.c \ 90 kadm5-pwcheck.h \ 91 admin.h 92 93LIBKADM5CLNT_OBJS= \ 94 $(OBJ)\ad.obj \ 95 $(OBJ)\chpass_c.obj \ 96 $(OBJ)\client_glue.obj \ 97 $(OBJ)\common_glue.obj \ 98 $(OBJ)\create_c.obj \ 99 $(OBJ)\delete_c.obj \ 100 $(OBJ)\destroy_c.obj \ 101 $(OBJ)\flush_c.obj \ 102 $(OBJ)\free.obj \ 103 $(OBJ)\get_c.obj \ 104 $(OBJ)\get_princs_c.obj \ 105 $(OBJ)\init_c.obj \ 106 $(OBJ)\marshall.obj \ 107 $(OBJ)\modify_c.obj \ 108 $(OBJ)\privs_c.obj \ 109 $(OBJ)\randkey_c.obj \ 110 $(OBJ)\rename_c.obj \ 111 $(OBJ)\send_recv.obj \ 112 $(OBJ)\kadm5_err.obj 113 114LIBKADM5SRV_OBJS= \ 115 $(OBJ)\acl.obj \ 116 $(OBJ)\bump_pw_expire.obj \ 117 $(OBJ)\chpass_s.obj \ 118 $(OBJ)\common_glue.obj \ 119 $(OBJ)\context_s.obj \ 120 $(OBJ)\create_s.obj \ 121 $(OBJ)\delete_s.obj \ 122 $(OBJ)\destroy_s.obj \ 123 $(OBJ)\ent_setup.obj \ 124 $(OBJ)\error.obj \ 125 $(OBJ)\flush_s.obj \ 126 $(OBJ)\free.obj \ 127 $(OBJ)\get_princs_s.obj \ 128 $(OBJ)\get_s.obj \ 129 $(OBJ)\init_s.obj \ 130 $(OBJ)\keys.obj \ 131 $(OBJ)\log.obj \ 132 $(OBJ)\marshall.obj \ 133 $(OBJ)\modify_s.obj \ 134 $(OBJ)\password_quality.obj \ 135 $(OBJ)\privs_s.obj \ 136 $(OBJ)\randkey_s.obj \ 137 $(OBJ)\rename_s.obj \ 138 $(OBJ)\server_glue.obj \ 139 $(OBJ)\set_keys.obj \ 140 $(OBJ)\set_modifier.obj \ 141 $(OBJ)\kadm5_err.obj 142 143 144proto_opts = -q -R "^(_|kadm5_c_|kadm5_s_|kadm5_log)" -P remove 145 146$(OBJ)\kadm5-protos.h: $(dist_libkadm5srv_la_SOURCES) $(dist_libkadm5clnt_la_SOURCES) 147 $(PERL) ..\..\cf\make-proto.pl $(proto_opts) \ 148 -o $@ \ 149 $(dist_libkadm5srv_la_SOURCES) \ 150 $(dist_libkadm5clnt_la_SOURCES) \ 151 || $(RM) $@ 152 153$(OBJ)\kadm5-private.h: $(dist_libkadm5srv_la_SOURCES) $(dist_libkadm5clnt_la_SOURCES) 154 $(PERL) ..\..\cf\make-proto.pl $(proto_opts) \ 155 -p $@ \ 156 $(dist_libkadm5srv_la_SOURCES) \ 157 $(dist_libkadm5clnt_la_SOURCES) \ 158 || $(RM) $@ 159 160$(OBJ)\iprop-commands.c $(OBJ)\iprop-commands.h: iprop-commands.in 161 cd $(OBJ) 162 $(CP) $(SRCDIR)\iprop-commands.in $(OBJ) 163 $(BINDIR)\slc.exe iprop-commands.in 164 cd $(SRCDIR) 165 166$(OBJ)\kadm5_err.h $(OBJ)kadm5_err.c: kadm5_err.et 167 cd $(OBJ) 168 $(BINDIR)\compile_et.exe $(SRCDIR)\kadm5_err.et 169 cd $(SRCDIR) 170 171$(KADM5INCDIR)\kadm5_err.h: $(OBJ)\kadm5_err.h 172 173KADM5INCDIR=$(INCDIR)\kadm5 174 175INCFILES=\ 176 $(KADM5INCDIR)\kadm5_err.h \ 177 $(KADM5INCDIR)\admin.h \ 178 $(KADM5INCDIR)\private.h \ 179 $(KADM5INCDIR)\kadm5-protos.h \ 180 $(KADM5INCDIR)\kadm5-private.h \ 181 $(OBJ)\iprop-commands.h 182 183SBINPROGRAMS=$(SBINDIR)\iprop-log.exe 184 185LIBEXECPROGRAMS=$(LIBEXECDIR)\ipropd-master.exe $(LIBEXECDIR)\ipropd-slave.exe 186 187EXELIBDEPS= \ 188 $(LIBKADM5SRV) \ 189 $(LIBROKEN) \ 190 $(LIBHEIMDAL) \ 191 $(LIBHDB) \ 192 $(LIBSQLITE) \ 193 $(LIBSL) \ 194 $(LIBCOMERR) \ 195 $(LIBVERS) 196 197$(SBINDIR)\iprop-log.exe: $(OBJ)\iprop-log.obj $(OBJ)\iprop-commands.obj $(EXELIBDEPS) \ 198 $(OBJ)\iprop-log-version.res 199 $(EXECONLINK) 200 $(EXEPREP) 201 202$(LIBEXECDIR)\ipropd-master.exe: $(OBJ)\ipropd_master.obj $(OBJ)\ipropd_common.obj \ 203 $(EXELIBDEPS) $(OBJ)\ipropd-master-version.res 204 $(EXECONLINK) 205 $(EXEPREP) 206 207$(LIBEXECDIR)\ipropd-slave.exe: $(OBJ)\ipropd_slave.obj $(OBJ)\ipropd_common.obj \ 208 $(EXELIBDEPS) $(OBJ)\ipropd-slave-version.res 209 $(EXECONLINK) 210 $(EXEPREP) 211 212$(LIBKADM5CLNT): $(LIBKADM5CLNT_OBJS) 213 $(LIBCON) 214 215LIBKADM5SRVRES=$(OBJ)\libkadm5srv-version.res 216 217$(LIBKADM5SRV): $(BINDIR)\libkadm5srv.dll 218 219$(BINDIR)\libkadm5srv.dll: $(LIBKADM5SRV_OBJS) $(LIBHEIMDAL) $(LIBROKEN) $(LIBHDB) $(LIBCOMERR) $(LIBSQLITE) $(LIBKADM5SRVRES) 220 $(DLLGUILINK) -implib:$(LIBKADM5SRV) -def:libkadm5srv-exports.def 221 $(DLLPREP) 222 223all:: $(INCFILES) $(LIBKADM5SRV) $(LIBKADM5CLNT) 224 225all-tools:: $(SBINPROGRAMS) $(LIBEXECPROGRAMS) 226 227clean:: 228 -$(RM) $(INCFILES) 229 -$(RM) $(LIBKADM5CLNT) 230 -$(RM) $(LIBKADM5SRV) 231 -$(RM) $(BINDIR)\libkadm5srv.* 232 -$(RM) $(SBINPROGRAMS:.exe=.*) 233 -$(RM) $(LIBEXECPROGRAMS:.exe=.*) 234 235test:: test-binaries test-run 236 237test-binaries: \ 238 $(OBJ)\default_keys.exe \ 239 $(OBJ)\test_pw_quality.exe \ 240 $(OBJ)\sample_passwd_check.dll 241 242$(OBJ)\default_keys.exe: $(OBJ)\default_keys.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBHDB) 243 $(EXECONLINK) 244 $(EXEPREP_NODIST) 245 246$(OBJ)\test_pw_quality.exe: $(OBJ)\test_pw_quality.obj \ 247 $(LIBROKEN) $(LIBKADM5SRV) $(LIBVERS) $(LIBHEIMDAL) 248 $(EXECONLINK) 249 $(EXEPREP_NODIST) 250 251$(OBJ)\sample_passwd_check.dll: $(OBJ)\sample_passwd_check.obj $(LIBHEIMDAL) 252 $(DLLGUILINK) /DEF:<< 253EXPORTS 254 version DATA 255 check_length 256<< 257 $(DLLPREP_NODIST) 258 259test-run: 260 261{$(OBJ)}.h{$(KADM5INCDIR)}.h: 262 $(CP) $< $@ 263 264{}.h{$(KADM5INCDIR)}.h: 265 $(CP) $< $@ 266 267{}.c{$(OBJ)}.obj:: 268 $(C2OBJ_P) -I$(OBJ) -I$(KADM5INCDIR) 269 270test-exports: 271 $(PERL) ..\..\cf\w32-check-exported-symbols.pl --vs version-script.map --def libkadm5srv-exports.def 272 273test:: test-exports 274