Windows: Use EXEPREP and DLLPREP macros for processing binaries

Once DLLs and EXEs are built, they need to have their manifests
processed and signed.  These steps are encapsulated in the EXEPREP and
DLLPREP Makefile macros.  Use them instead of invoking each processing
macro individually.
This commit is contained in:
Asanka Herath
2010-06-10 13:15:36 -04:00
parent 0d09c879f3
commit ea4d8dbfdb
15 changed files with 56 additions and 133 deletions

View File

@@ -67,9 +67,7 @@ BIN_LIBS=\
$(LIBEXECDIR)\hprop.exe: $(OBJ)\hprop.obj $(OBJ)\mit_dump.obj $(BIN_LIBS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
!ifdef KRB4
$(LIBEXECDIR)\hprop.exe: $(OBJ)\v4_dump.obj
@@ -78,34 +76,24 @@ $(LIBEXECDIR)\hprop.exe: $(OBJ)\v4_dump.obj
$(LIBEXECDIR)\hpropd.exe: $(OBJ)\hpropd.obj $(BIN_LIBS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
$(SBINDIR)\kstash.exe: $(OBJ)\kstash.obj $(BIN_LIBS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
$(BINDIR)\string2key.exe: $(OBJ)\string2key.obj $(BIN_LIBS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
$(BINDIR)\digest-service.exe: $(OBJ)\digest-service.obj $(BIN_LIBS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
$(LIBEXECDIR)\kdc.exe: \
$(OBJ)\connect.obj $(OBJ)\config.obj $(OBJ)\announce.obj $(OBJ)\main.obj $(LIBKDC) $(BIN_LIBS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
LIBKDC_OBJS=\
$(OBJ)\default_config.obj \
@@ -141,9 +129,7 @@ LIBKDC_LIBS=$(LIBKDC_LIBS) $(LIBHX509)
$(LIBEXECDIR)\libkdc.dll: $(LIBKDC_OBJS) $(LIBKDC_LIBS)
$(DLLGUILINK) -implib:$(LIBKDC) -def:libkdc-exports.def
$(_VC_MANIFEST_EMBED_DLL)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(DLLPREP)
$(LIBKDC): $(LIBEXECDIR)\libkdc.dll

View File

@@ -66,43 +66,31 @@ clean::
$(BINDIR)\kinit.exe: $(OBJ)\kinit.obj $(BINLIBS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
$(BINDIR)\klist.exe: $(OBJ)\klist.obj $(BINLIBS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
$(BINDIR)\kdestroy.exe: $(OBJ)\kdestroy.obj $(BINLIBS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
$(BINDIR)\kgetcred.exe: $(OBJ)\kgetcred.obj $(BINLIBS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
$(BINDIR)\kswitch.exe: $(OBJ)\kswitch.obj $(BINLIBS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
$(LIBEXECDIR)\kdigest.exe: $(OBJ)\kdigest-commands.obj $(OBJ)\kdigest.obj $(BINLIBS) $(LIBSL)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
$(OBJ)\kdigest.obj: kdigest.c
$(C2OBJ) -I$(OBJ)
@@ -116,7 +104,5 @@ $(OBJ)\kdigest-commands.c $(OBJ)\kdigest-commands.h: kdigest-commands.in
$(LIBEXECDIR)\kimpersonate.exe: $(OBJ)\kimpersonate.obj $(BINLIBS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)

View File

@@ -514,9 +514,7 @@ $(BINDIR)\asn1_compile.exe: \
$(OBJ)\main.obj \
$(OBJ)\symbol.obj
$(EXECONLINK) $(LIBROKEN) $(LIBVERS)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
$(OBJ)\lex.c: lex.l $(OBJ)\asn1parse.h
$(LEX) -o$@ lex.l
@@ -531,15 +529,11 @@ $(OBJ)\asn1_err.c $(OBJ)\asn1_err.h: asn1_err.et
$(BINDIR)\asn1_print.exe: $(OBJ)\asn1_print.obj $(LIBASN1)
$(EXECONLINK) $(LIBVERS) $(LIBROKEN) $(LIBCOMERR)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
$(BINDIR)\asn1_gen.exe: $(OBJ)\asn1_gen.obj $(LIBASN1)
$(EXECONLINK) $(LIBVERS) $(LIBROKEN)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
LIBASN1_OBJS= \
$(OBJ)\der.obj \

View File

@@ -52,17 +52,13 @@ $(COMERRDLL): $(libcomerr_OBJs) $(OBJ)\libcom_err-version.res
$(DLLGUILINK_C) -out:$(COMERRDLL) -implib:$(LIBCOMERR) $** \
$(LIBROKEN) \
-def:libcom_err-exports.def
$(_VC_MANIFEST_EMBED_DLL)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(DLLPREP)
!endif
$(BINDIR)\compile_et.exe: $(OBJ)\parse.obj $(OBJ)\lex.obj $(OBJ)\compile_et.obj
$(EXECONLINK) $(LIBROKEN) $(LIBVERS)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
$(OBJ)\parse.obj: $(OBJ)\parse.c
$(C2OBJ) -I$(SRC)\$(RELDIR)

View File

@@ -43,9 +43,7 @@ $(LIBDIR)\libeditline.lib: $(libeditline_la_OBJS)
$(OBJ)\testit.exe: $(OBJ)\testit.obj $(LIBEDITLINE) $(LIBROKEN) $(LIBVERS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP_NODIST)
all:: $(LIBEDITLINE)

View File

@@ -473,9 +473,7 @@ $(BINDIR)\libgssapi.dll: $(libgssapi_OBJs)
$(libgssapi_OBJs: =
)
<<
$(_VC_MANIFEST_EMBED_DLL)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(DLLPREP)
$(LIBGSSAPI): $(BINDIR)\libgssapi.dll

View File

@@ -177,74 +177,59 @@ test-binaries: \
$(OBJ)\destest.exe: $(OBJ)\destest.obj $(TESTLIB) $(LIBROKEN)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
$(OBJ)\mdtest.exe: $(OBJ)\mdtest.obj $(LIBHCRYPTO) $(LIBROKEN)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
$(OBJ)\rc2test.exe: $(OBJ)\rc2test.obj $(LIBHCRYPTO) $(LIBROKEN)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
$(OBJ)\rctest.exe: $(OBJ)\rctest.obj $(LIBHCRYPTO) $(LIBROKEN)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
$(OBJ)\test_bn.exe: $(OBJ)\test_bn.obj $(LIBHCRYPTO) $(LIBROKEN) $(LIBASN1)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
$(OBJ)\test_cipher.exe: $(OBJ)\test_cipher.obj $(LIBHCRYPTO) $(LIBROKEN) $(LIBVERS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
$(OBJ)\test_engine_dso.exe: $(OBJ)\test_engine_dso.obj $(LIBHCRYPTO) $(LIBROKEN) $(LIBASN1) $(LIBVERS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
$(OBJ)\test_hmac.exe: $(OBJ)\test_hmac.obj $(LIBHCRYPTO)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
$(OBJ)\test_imath.exe: $(OBJ)\test_imath.obj $(TESTLIB) $(LIBROKEN)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
$(OBJ)\test_pkcs5.exe: $(OBJ)\test_pkcs5.obj $(LIBHCRYPTO) $(LIBROKEN)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
$(OBJ)\test_pkcs12.exe: $(OBJ)\test_pkcs12.obj $(LIBHCRYPTO) $(LIBASN1) $(LIBROKEN)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
$(OBJ)\test_rsa.exe: $(OBJ)\test_rsa.obj $(LIBHCRYPTO) $(LIBROKEN) $(LIBASN1) $(LIBVERS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
$(OBJ)\test_dh.exe: $(OBJ)\test_dh.obj $(LIBHCRYPTO) $(LIBROKEN) $(LIBASN1) $(LIBVERS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
$(OBJ)\test_rand.exe: $(OBJ)\test_rand.obj $(LIBHCRYPTO) $(LIBROKEN) $(LIBASN1) $(LIBVERS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
$(OBJ)\test_crypto.sh: test_crypto.in NTMakefile
$(SED) -e "s,[@]srcdir[@],$(SRCDIR),g" -e "s,[@]exeext[@],.exe,g" < test_crypto.in > $@

View File

@@ -67,9 +67,7 @@ ldap_objs = $(OBJ)\hdb-ldap.obj
$(ldap_dll): $(ldap_objs)
$(DLLGUILINK) -implib:$(ldap_lib)
$(_VC_MANIFEST_EMBED_DLL)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(DLLPREP)
clean::
-$(RM) $(ldap_dll)
@@ -167,11 +165,11 @@ test-binaries: $(OBJ)\test_dbinfo.exe $(OBJ)\test_hdbkeys.exe
$(OBJ)\test_dbinfo.exe: $(OBJ)\test_dbinfo.obj $(LIBHDB) $(LIBKRB5) $(LIBROKEN) $(LIBVERS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(EXEPREP_NODIST)
$(OBJ)\test_hdbkeys.exe: $(OBJ)\test_hdbkeys.obj $(LIBHDB) $(LIBKRB5) $(LIBROKEN) $(LIBASN1) $(LIBVERS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(EXEPREP_NODIST)
test-run:
cd $(OBJ)

View File

@@ -206,11 +206,9 @@ $(OBJ)\hxtool-commands.c $(OBJ)\hxtool-commands.h: hxtool-commands.in $(SLC)
$(SLC) hxtool-commands.in
cd $(SRCDIR)
$(BINDIR)\hxtool.exe: $(OBJ)\hxtool.obj $(OBJ)\hxtool-commands.obj $(LIBHX509)
$(EXECONLINK) $(LIBASN1) $(LIBHCRYPTO) $(LIBROKEN) $(LIBSL) $(LIBVERS) $(LIBWIND) $(LIBCOMERR)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(BINDIR)\hxtool.exe: $(OBJ)\hxtool.obj $(OBJ)\hxtool-commands.obj $(LIBHEIMDAL)
$(EXECONLINK) $(LIBHEIMDAL) $(LIBROKEN) $(LIBSL) $(LIBVERS) $(LIBCOMERR)
$(EXEPREP)
$(OBJ)\hx509-protos.h:
cd $(OBJ)

View File

@@ -197,21 +197,15 @@ EXELIBDEPS= \
$(SBINDIR)\iprop-log.exe: $(OBJ)\iprop-log.obj $(OBJ)\iprop-commands.obj $(EXELIBDEPS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
$(LIBEXECDIR)\ipropd-master.exe: $(OBJ)\ipropd_master.obj $(OBJ)\ipropd_common.obj $(EXELIBDEPS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
$(LIBEXECDIR)\ipropd-slave.exe: $(OBJ)\ipropd_slave.obj $(OBJ)\ipropd_common.obj $(EXELIBDEPS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
$(LIBKADM5CLNT): $(LIBKADM5CLNT_OBJS)
$(LIBCON)
@@ -220,9 +214,7 @@ $(LIBKADM5SRV): $(BINDIR)\libkadm5srv.dll
$(BINDIR)\libkadm5srv.dll: $(LIBKADM5SRV_OBJS) $(LIBKRB5) $(LIBROKEN) $(LIBHDB) $(LIBCOMERR) $(LIBASN1) $(LIBSQLITE)
$(DLLGUILINK) -implib:$(LIBKADM5SRV) -def:libkadm5srv-exports.def
$(_VC_MANIFEST_EMBED_DLL)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(DLLPREP)
all:: $(INCFILES) $(LIBKADM5SRV) $(LIBKADM5CLNT) $(SBINPROGRAMS) $(LIBEXECPROGRAMS)
@@ -243,13 +235,11 @@ test-binaries: \
$(OBJ)\default_keys.exe: $(OBJ)\default_keys.obj
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
$(OBJ)\sample_passwd_check.dll: $(OBJ)\sample_passwd_check.obj
$(DLLGUILINK) #TODO: Define exports
$(_VC_MANIFEST_EMBED_DLL)
$(_VC_MANIFEST_CLEAN)
$(DLLPREP_NODIST)
test-run:

View File

@@ -352,9 +352,7 @@ clean::
$(BINDIR)\verify_krb5_conf.exe: $(OBJ)\verify_krb5_conf.obj $(LIBKRB5) $(LIBROKEN) $(LIBVERS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(_CODESIGN)
$(EXEPREP)
{}.c{$(OBJ)}.obj::
$(C2OBJ_P) -DBUILD_KRB5_LIB
@@ -433,8 +431,8 @@ test-run:
$(test_binaries): $$(@R).obj
$(EXECONLINK) $(LIBKRB5) $(LIBVERS) $(LIBROKEN) $(LIBHCRYPTO) $(LIBASN1)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXECONLINK) $(LIBHEIMDAL) $(LIBVERS) $(LIBROKEN)
$(EXEPREP_NODIST)
$(test_binaries:.exe=.obj): $$(@B).c
$(C2OBJ_C) -Fo$@ -Fd$(@D)\ $** -DBlah

View File

@@ -69,7 +69,6 @@ test-run:
$(OBJ)\test_ntlm.exe: $(OBJ)\test_ntlm.obj $(LIBHEIMNTLM) $(LIBKRB5) $(LIBVERS) $(LIBROKEN) $(LIBHCRYPTO) $(LIBASN1)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
test:: test-binaries test-run

View File

@@ -40,8 +40,7 @@ $(LIBSL): $(OBJ)\sl.obj
$(BINDIR)\slc.exe: $(OBJ)\slc-gram.obj $(OBJ)\slc-lex.obj
$(EXECONLINK) $(LIBROKEN) $(LIBVERS)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP)
$(OBJ)\slc-gram.c: slc-gram.y
$(YACC) -o $@ --defines=$(@R).h slc-gram.y
@@ -57,8 +56,7 @@ $(OBJ)\slc-lex.obj: $(OBJ)\slc-lex.c
$(OBJ)\test_sl.exe: $(OBJ)\test_sl.obj
$(EXECONLINK) $(LIBSL) $(LIBVERS) $(LIBROKEN)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
all:: $(INCFILES) $(LIBSL) $(BINDIR)\slc.exe

View File

@@ -43,8 +43,7 @@ $(OBJ)\print_version.obj: print_version.c
$(OBJ)\make-print-version.exe: $(OBJ)\make-print-version.obj
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXEPREP_NODIST)
$(OBJ)\print_version.h: $(OBJ)\make-print-version.exe
$(OBJ)\make-print-version.exe $@

View File

@@ -125,8 +125,8 @@ TEST_BINARIES=\
{$(OBJ)}.obj{$(OBJ)}.exe:
$(EXECONLINK) $(LIBWIND) $(LIBROKEN)
$(_VC_MANIFEST_EMBED_EXE)
$(_VC_MANIFEST_CLEAN)
$(EXECONLINK) $(LIBHEIMDAL) $(LIBROKEN)
$(EXEPREP_NODIST)
$(OBJ)\test-bidi.exe: $(OBJ)\test-bidi.obj