diff --git a/kdc/NTMakefile b/kdc/NTMakefile index b17e24cea..c1636d719 100644 --- a/kdc/NTMakefile +++ b/kdc/NTMakefile @@ -33,3 +33,135 @@ RELDIR=kdc !include ../windows/NTMakefile.w32 +BINPROGRAMS=$(BINDIR)\string2key.exe + +SBINPROGRAMS=$(SBINDIR)\kstash.exe + +LIBEXECPROGRAMS=$(LIBEXECDIR)\hprop.exe $(LIBEXECDIR)\hpropd.exe $(LIBEXECDIR)\kdc.exe + +NOINST_PROGRAMS=$(OBJ)\kdc-replay.exe + +INCFILES=\ + $(INCDIR)\kdc.h \ + $(INCDIR)\kdc-protos.h \ + $(INCDIR)\kdc-private.h \ + $(INCDIR)\krb5\windc_plugin.h + +all:: $(INCFILES) $(LIBKDC) $(BINPROGRAMS) $(SBINPROGRAMS) $(LIBEXECPROGRAMS) + +clean:: + -$(RM) $(LIBKDC) + -$(RM) $(BINPROGRAMS) $(SBINPROGRAMS) $(LIBEXECPROGRAMS) + +BIN_LIBS=\ + $(LIBHDB) \ + $(LIBKRB5) \ + $(LIBHCRYPTO) \ + $(LIBASN1) \ + $(LIBROKEN) \ + $(LIBVERS) + +$(LIBEXECDIR)\hprop.exe: $(OBJ)\hprop.obj $(OBJ)\mit_dump.obj $(BIN_LIBS) + $(EXECONLINK) + $(_VC_MANIFEST_EMBED_EXE) + $(_VC_MANIFEST_CLEAN) + $(_CODESIGN) + +!ifdef KRB4 +$(LIBEXECDIR)\hprop.exe: $(OBJ)\v4_dump.obj +!endif + + +$(LIBEXECDIR)\hpropd.exe: $(OBJ)\hpropd.obj $(BIN_LIBS) + $(EXECONLINK) + $(_VC_MANIFEST_EMBED_EXE) + $(_VC_MANIFEST_CLEAN) + $(_CODESIGN) + +$(SBINDIR)\kstash.exe: $(OBJ)\kstash.obj $(BIN_LIBS) + $(EXECONLINK) + $(_VC_MANIFEST_EMBED_EXE) + $(_VC_MANIFEST_CLEAN) + $(_CODESIGN) + +$(BINDIR)\string2key.exe: $(OBJ)\string2key.obj $(BIN_LIBS) + $(EXECONLINK) + $(_VC_MANIFEST_EMBED_EXE) + $(_VC_MANIFEST_CLEAN) + $(_CODESIGN) + +$(LIBEXECDIR)\kdc.exe: $(OBJ)\connect.obj $(OBJ)\config.obj $(OBJ)\main.obj $(LIBKDC) $(BIN_LIBS) + $(EXECONLINK) + $(_VC_MANIFEST_EMBED_EXE) + $(_VC_MANIFEST_CLEAN) + $(_CODESIGN) + +LIBKDC_OBJS=\ + $(OBJ)\default_config.obj \ + $(OBJ)\set_dbinfo.obj \ + $(OBJ)\digest.obj \ + $(OBJ)\kerberos5.obj \ + $(OBJ)\krb5tgs.obj \ + $(OBJ)\pkinit.obj \ + $(OBJ)\log.obj \ + $(OBJ)\misc.obj \ + $(OBJ)\kaserver.obj \ + $(OBJ)\kx509.obj \ + $(OBJ)\process.obj \ + $(OBJ)\windc.obj + +!ifdef KRB4 +LIBKDC_OBJS=$(LIBKDC_OBJS) \ + $(OBJ)\524.obj \ + $(OBJ)\kerberos4.obj +!endif + +LIBKDC_LIBS=\ + $(LIBHDB) \ + $(LIBKRB5) \ + $(LIBHEIMNTLM) \ + $(LIBHCRYPTO) \ + $(LIBASN1) \ + $(LIBROKEN) + +!ifdef PKINIT +LIBKDC_LIBS=$(LIBKDC_LIBS) $(LIBHX509) +!endif + +$(LIBEXECDIR)\libkdc.dll: $(LIBKDC_OBJS) $(LIBKDC_LIBS) + $(DLLGUILINK) -implib:$(LIBKDC) -def:libkdc-exports.def + $(_VC_MANIFEST_EMBED_DLL) + $(_VC_MANIFEST_CLEAN) + $(_CODESIGN) + +$(LIBKDC): $(LIBEXECDIR)\libkdc.dll + +libkdc_la_SOURCES = \ + default_config.c \ + set_dbinfo.c \ + digest.c \ + kdc_locl.h \ + kerberos5.c \ + krb5tgs.c \ + pkinit.c \ + log.c \ + misc.c \ + kaserver.c \ + kx509.c \ + process.c \ + windc.c \ + rx.h + +!ifdef KRB4 +libkdc_la_SOURCES=$(libkdc_la_SOURCES) \ + 524.c \ + kerberos4.c +!endif + +$(OBJ)\kdc-protos.h: $(libkdc_la_SOURCES) + $(PERL) ..\cf\make-proto.pl -q -P remove -o $@ $(libkdc_la_SOURCES) \ + || $(RM) $@ + +$(OBJ)\kdc-private.h: $(libkdc_la_SOURCES) + $(PERL) ..\cf\make-proto.pl -q -P remove -p $@ $(libkdc_la_SOURCES) \ + || $(RM) $@ diff --git a/kdc/libkdc-exports.def b/kdc/libkdc-exports.def new file mode 100644 index 000000000..b3ace1c1a --- /dev/null +++ b/kdc/libkdc-exports.def @@ -0,0 +1,12 @@ +EXPORTS + kdc_log + kdc_log_msg + kdc_log_msg_va + kdc_openlog + krb5_kdc_windc_init + krb5_kdc_get_config + krb5_kdc_set_dbinfo + krb5_kdc_process_krb5_request + krb5_kdc_process_request + krb5_kdc_save_request + krb5_kdc_update_time