1f59d82ffSelric######################################################################## 2f59d82ffSelric# 3f59d82ffSelric# Copyright (c) 2010, Secure Endpoints Inc. 4f59d82ffSelric# All rights reserved. 5f59d82ffSelric# 6f59d82ffSelric# Redistribution and use in source and binary forms, with or without 7f59d82ffSelric# modification, are permitted provided that the following conditions 8f59d82ffSelric# are met: 9f59d82ffSelric# 10f59d82ffSelric# - Redistributions of source code must retain the above copyright 11f59d82ffSelric# notice, this list of conditions and the following disclaimer. 12f59d82ffSelric# 13f59d82ffSelric# - Redistributions in binary form must reproduce the above copyright 14f59d82ffSelric# notice, this list of conditions and the following disclaimer in 15f59d82ffSelric# the documentation and/or other materials provided with the 16f59d82ffSelric# distribution. 17f59d82ffSelric# 18f59d82ffSelric# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19f59d82ffSelric# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20f59d82ffSelric# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21f59d82ffSelric# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22f59d82ffSelric# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23f59d82ffSelric# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24f59d82ffSelric# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25f59d82ffSelric# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26f59d82ffSelric# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27f59d82ffSelric# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28f59d82ffSelric# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29f59d82ffSelric# POSSIBILITY OF SUCH DAMAGE. 30f59d82ffSelric# 31f59d82ffSelric 32f59d82ffSelricRELDIR=packages\windows\assembly 33f59d82ffSelric 34f59d82ffSelric!include ../../../windows/NTMakefile.w32 35f59d82ffSelric 36f59d82ffSelric# CODESIGN_PKT should be set to the public key token of the code 37f59d82ffSelric# signing certificate in use. You can use : 38f59d82ffSelric# 39f59d82ffSelric# pktextract <path to certificate> 40f59d82ffSelric# 41f59d82ffSelric# ..to derive the public key token. 42f59d82ffSelric# 43f59d82ffSelric!ifndef CODESIGN_PKT 44*e0895134Schristos! error CODESIGN_PKT should be set to the public key token for codesigning certificate. (See Windows\README). 45f59d82ffSelric!endif 46f59d82ffSelric 47f59d82ffSelricprep:: mk-asm-dirs 48f59d82ffSelric 49f59d82ffSelric# ---------------------------------------------------------------------- 50f59d82ffSelric# Heimdal.Kerberos Assembly 51f59d82ffSelric 52*e0895134SchristosASMKRBDIR=$(ASMDIR)\$(ASMKRBNAME) 53f59d82ffSelricASMKRBVER=$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR).$(VER_PRODUCT_AUX).$(VER_PRODUCT_PATCH) 54603f2576SpettaiASMKRBVER_OLD_BEGIN=$(VER_OLD_BEGIN_MAJOR).$(VER_OLD_BEGIN_MINOR).$(VER_OLD_BEGIN_AUX).$(VER_OLD_BEGIN_PATCH) 55603f2576SpettaiASMKRBVER_OLD_END=$(VER_OLD_END_MAJOR).$(VER_OLD_END_MINOR).$(VER_OLD_END_AUX).$(VER_OLD_END_PATCH) 56f59d82ffSelricASMKRBMAN=$(ASMKRBNAME).manifest 57f59d82ffSelric 58f59d82ffSelricASMKRBBINS=\ 59f59d82ffSelric $(ASMKRBDIR)\heimdal.dll \ 60f59d82ffSelric $(ASMKRBDIR)\com_err.dll \ 61f59d82ffSelric $(ASMKRBDIR)\heimntlm.dll \ 62f59d82ffSelric $(ASMKRBDIR)\gssapi.dll \ 63*e0895134Schristos $(ASMKRBDIR)\libhdb.dll \ 64*e0895134Schristos $(ASMKRBDIR)\libkadm5srv.dll \ 65f59d82ffSelric $(ASMKRBDIR)\heimdal.pdb \ 66f59d82ffSelric $(ASMKRBDIR)\com_err.pdb \ 67f59d82ffSelric $(ASMKRBDIR)\heimntlm.pdb \ 68*e0895134Schristos $(ASMKRBDIR)\gssapi.pdb \ 69*e0895134Schristos $(ASMKRBDIR)\libhdb.pdb \ 70*e0895134Schristos $(ASMKRBDIR)\libkadm5srv.pdb 71*e0895134Schristos 72*e0895134Schristos!if ("$(CPU)" == "i386") 73*e0895134SchristosARCH=32 74*e0895134Schristos!elseif ("$(CPU)" == "x86") 75*e0895134SchristosARCH=32 76*e0895134Schristos!else 77*e0895134SchristosARCH=64 78*e0895134Schristos!endif 79f59d82ffSelric 80f59d82ffSelric$(ASMKRBDIR)\$(ASMKRBMAN).nohash: Heimdal.Kerberos.manifest.in 81f59d82ffSelric $(SED) -e "s,[@]name[@],$(ASMKRBNAME),g" \ 82*e0895134Schristos -e "s,[@]krbname[@],$(ASMKRBNAME),g" \ 83f59d82ffSelric -e "s,[@]cpu[@],$(MCPU),g" \ 84f59d82ffSelric -e "s,[@]version[@],$(ASMKRBVER),g" \ 85*e0895134Schristos -e "s,[@]pkt[@],$(CODESIGN_PKT),g" \ 86*e0895134Schristos -e "s,[@]arch[@],$(ARCH),g" \ 87*e0895134Schristos < $** > $@ 88f59d82ffSelric 89f59d82ffSelric$(ASMKRBDIR)\$(ASMKRBMAN) $(ASMKRBDIR)\$(ASMKRBMAN).cdf: \ 90f59d82ffSelric $(ASMKRBDIR)\$(ASMKRBMAN).nohash $(ASMKRBBINS) 91f59d82ffSelric -$(RM) $(ASMKRBDIR)\$(ASMKRBMAN) 92f59d82ffSelric -$(RM) $(ASMKRBDIR)\$(ASMKRBMAN).cdf 93f59d82ffSelric $(MT) -manifest $(ASMKRBDIR)\$(ASMKRBMAN).nohash -out:$(ASMKRBDIR)\$(ASMKRBMAN) -hashupdate -makecdfs 94f59d82ffSelric 95f59d82ffSelric$(ASMKRBDIR)\$(ASMKRBNAME).cat: $(ASMKRBDIR)\$(ASMKRBMAN).cdf 96f59d82ffSelric cd $(ASMKRBDIR) 97f59d82ffSelric $(MAKECAT) $** 98f59d82ffSelric $(_CODESIGN) 99*e0895134Schristos $(_CODESIGN_SHA256) 100f59d82ffSelric cd $(SRCDIR) 101f59d82ffSelric 102f59d82ffSelricasm-krb: \ 103f59d82ffSelric $(APPMANIFEST) \ 104f59d82ffSelric $(ASMKRBBINS) \ 105f59d82ffSelric $(ASMKRBDIR)\$(ASMKRBMAN) \ 106f59d82ffSelric $(ASMKRBDIR)\$(ASMKRBNAME).cat \ 107f59d82ffSelric 108f59d82ffSelricall:: asm-krb 109f59d82ffSelric 110f59d82ffSelricclean:: 111f59d82ffSelric -$(RM) $(ASMKRBDIR)\*.* 112f59d82ffSelric 113*e0895134Schristos!ifdef APPVEYOR 114*e0895134Schristostest:: 115*e0895134Schristos true 116*e0895134Schristos!else 117f59d82ffSelrictest:: 118f59d82ffSelric $(MT) -manifest $(ASMKRBDIR)\$(ASMKRBMAN) -validate_manifest 119*e0895134Schristos!endif 120f59d82ffSelric 121f59d82ffSelric{$(BINDIR)}.dll{$(ASMKRBDIR)}.dll: 122f59d82ffSelric $(CP) $< $@ 123f59d82ffSelric $(DLLPREP_MERGE) 124f59d82ffSelric 125f59d82ffSelric{$(BINDIR)}.pdb{$(ASMKRBDIR)}.pdb: 126f59d82ffSelric $(CP) $< $@ 127f59d82ffSelric 128f59d82ffSelric# ---------------------------------------------------------------------- 129f59d82ffSelric# Application manifests 130f59d82ffSelric 131f59d82ffSelricall:: $(APPMANIFEST) 132f59d82ffSelric 133f59d82ffSelricclean:: 134f59d82ffSelric -$(RM) $(APPMANIFEST) 135f59d82ffSelric 136f59d82ffSelric$(APPMANIFEST): Heimdal.Application.manifest.in 137f59d82ffSelric $(SED) -e "s,[@]krbname[@],$(ASMKRBNAME),g" \ 138f59d82ffSelric -e "s,[@]krbversion[@],$(ASMKRBVER),g" \ 139f59d82ffSelric -e "s,[@]cpu[@],$(MCPU),g" \ 140f59d82ffSelric -e "s,[@]pkt[@],$(CODESIGN_PKT),g" < $** > $@ 141f59d82ffSelric 142*e0895134Schristos!ifdef APPVEYOR 143*e0895134Schristostest:: 144*e0895134Schristos true 145*e0895134Schristos!else 146f59d82ffSelrictest:: 147f59d82ffSelric $(MT) -manifest $(APPMANIFEST) -validate_manifest 148*e0895134Schristos!endif 149f59d82ffSelric 150f59d82ffSelric# ---------------------------------------------------------------------- 151f59d82ffSelric# Publisher configuration files 152f59d82ffSelric 153*e0895134SchristosPOLKRB=policy.$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR).$(ASMKRBNAME) 154f59d82ffSelricPOLKRBDIR=$(ASMDIR)\$(POLKRB) 155f59d82ffSelricPOLKRBFILE=$(POLKRBDIR)\$(ASMKRBVER).pol 156f59d82ffSelricPOLKRBCAT=$(POLKRBDIR)\$(ASMKRBVER).cat 157f59d82ffSelric 158f59d82ffSelric$(POLKRBFILE): policy.Heimdal.Kerberos.in 159f59d82ffSelric $(SED) -e "s,[@]krbname[@],$(ASMKRBNAME),g" \ 160f59d82ffSelric -e "s,[@]krbversion[@],$(ASMKRBVER),g" \ 161603f2576Spettai -e "s,[@]krbverfrom_begin[@],$(ASMKRBVER_OLD_BEGIN),g" \ 162603f2576Spettai -e "s,[@]krbverfrom_end[@],$(ASMKRBVER_OLD_END),g" \ 163f59d82ffSelric -e "s,[@]krbpolname[@],$(POLKRB),g" \ 164f59d82ffSelric -e "s,[@]cpu[@],$(MCPU),g" \ 165f59d82ffSelric -e "s,[@]pkt[@],$(CODESIGN_PKT),g" < $** > $@ 166f59d82ffSelric 167f59d82ffSelric$(POLKRBFILE).cdf: $(POLKRBFILE) 168f59d82ffSelric $(MT) -manifest $(POLKRBFILE) -makecdfs 169f59d82ffSelric 170f59d82ffSelric$(POLKRBCAT): $(POLKRBFILE).cdf 171f59d82ffSelric cd $(POLKRBDIR) 172f59d82ffSelric $(MAKECAT) $** 173f59d82ffSelric $(_CODESIGN) 174*e0895134Schristos $(_CODESIGN_SHA256) 175f59d82ffSelric cd $(SRCDIR) 176f59d82ffSelric 177f59d82ffSelricall:: $(POLKRBFILE) $(POLKRBCAT) 178f59d82ffSelric 179f59d82ffSelricclean:: 180f59d82ffSelric -$(RM) $(POLKRBDIR)\*.* 181f59d82ffSelric 182f59d82ffSelric# ---------------------------------------------------------------------- 183f59d82ffSelric 184f59d82ffSelric.SUFFIXES: .dll .pdb 185f59d82ffSelric 186f59d82ffSelricmk-asm-dirs: 187f59d82ffSelric! if !exist($(ASMKRBDIR)) 188f59d82ffSelric $(MKDIR) $(ASMKRBDIR) 189f59d82ffSelric! endif 190f59d82ffSelric! if !exist($(POLKRBDIR)) 191f59d82ffSelric $(MKDIR) $(POLKRBDIR) 192f59d82ffSelric! endif 193