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=include 33 34SUBDIRS=kadm5 hcrypto gssapi 35 36!include ../windows/NTMakefile.w32 37!include ../windows/NTMakefile.version 38!include ../windows/NTMakefile.config 39 40INCFILES= \ 41 $(INCDIR)\config.h \ 42 $(INCDIR)\crypto-headers.h \ 43 $(INCDIR)\heim_threads.h \ 44 $(INCDIR)\krb5-types.h \ 45 $(INCDIR)\version.h 46 47$(INCDIR)\krb5-types.h: $(OBJ)\bits.exe 48 $(OBJ)\bits.exe $(INCDIR)\krb5-types.h 49 50$(OBJ)\bits.exe: $(OBJ)\bits.obj 51 $(EXECONLINK) 52 $(EXEPREP_NODIST) 53 54$(INCDIR)\config.h: config.h.w32 ..\windows\NTMakefile.config ..\windows\NTMakefile.version NTMakefile 55 $(PERL) << < config.h.w32 > $@ 56 57while(<>) { 58 59 if (m/\@FEATURE_DEFS\@/) { 60 61 if ("$(KRB5)") { print "#define KRB5 1\n"; } 62 if ("$(KRB4)") { print "#define KRB4 1\n"; } 63 if ("$(WEAK_CRYPTO)") { print "#define HEIM_WEAK_CRYPTO 1\n"; } 64 if ("$(PKINIT)") { print "#define PKINIT 1\n"; } 65 if ("$(NO_AFS)") { print "#define NO_AFS 1\n"; } 66 if ("$(OPENLDAP)") { print "#define OPENLDAP 1\n"; } 67 if ("$(OPENLDAP_MODULE)") { print "#define OPENLDAP_MODULE 1\n"; } 68 if ("$(OTP)") { print "#define OTP 1 \n"; } 69 if ("$(AUTHENTICATION)") { print "#define AUTHENTICATION 1\n"; } 70 if ("$(DIAGNOSTICS)") { print "#define DIAGNOSTICS 1\n"; } 71 if ("$(ENCRYPTION)") { print "#define ENCRYPTION 1\n"; } 72 if ("$(ENABLE_AFS_STRING_TO_KEY)") { print "#define ENABLE_AFS_STRING_TO_KEY 1\n"; } 73 if ("$(ENABLE_PTHREAD_SUPPORT)") { print "#define ENABLE_PTHREAD_SUPPORT 1\n"; } 74 if ("$(HAVE_PTHREAD_H)") { print "#define HAVE_PTHREAD_H 1\n"; } 75 if ("$(ENV_HACK)") { print "#define ENV_HACK 1\n"; } 76 if ("$(HAVE_KCM)") { print "#define HAVE_KCM 1\n"; } 77 if ("$(HAVE_SCC)") { print "#define HAVE_SCC 1\n"; } 78 if ("$(DIR_hdbdir)") { print "#define HDB_DB_DIR \"".'$(DIR_hdbdir)'."\"\n"; } 79 if ("$(HAVE_MSLSA_CACHE)") { print "#define HAVE_MSLSA_CACHE 1\n"; } 80 if ("$(NO_LOCALNAME)") { print "#define NO_LOCALNAME 1\n"; } 81 82 } elsif (m/\@VERSION_OPTDEFS\@/) { 83 84 if ("$(VER_PRERELEASE)") { print "#define VER_PRERELEASE 1\n"; } 85 if ("$(VER_PRIVATE)") { print "#define VER_PRIVATE \"$(VER_PRIVATE)\"\n"; } 86 if ("$(VER_SPECIAL)") { print "#define VER_SPECIAL \"$(VER_SPECIAL)\"\n"; } 87 if ("$(BUILD)" =~ "dbg") { print "#define VER_DEBUG 1\n"; } 88 print "#define HOST \"$(COMPUTERNAME)\"\n"; 89 90 } else { 91 92 s/\@PACKAGE\@/$(VER_PACKAGE)/; 93 s/\@PACKAGE_NAME\@/$(VER_PACKAGE_NAME)/; 94 s/\@PACKAGE_BUGREPORT\@/$(VER_PACKAGE_BUGREPORT:@=\@)/; 95 s/\@PACKAGE_VERSION\@/$(VER_PACKAGE_VERSION)/; 96 s/\@PACKAGE_COPYRIGHT\@/$(VER_PACKAGE_COPYRIGHT)/; 97 s/\@PACKAGE_COMPANY\@/$(VER_PACKAGE_COMPANY)/; 98 s/\@MAJOR\@/$(VER_PRODUCT_MAJOR)/; 99 s/\@MINOR\@/$(VER_PRODUCT_MINOR)/; 100 s/\@AUX\@/$(VER_PRODUCT_AUX)/; 101 s/\@PATCH\@/$(VER_PRODUCT_PATCH)/; 102 103 print $_; 104 } 105} 106 107<< 108 109$(INCDIR)\version.h: ..\windows\NTMakefile.version NTMakefile 110 $(CP) << $@ 111const char *heimdal_long_version = "@(#)$$Version: $(VER_PACKAGE_NAME) $(VER_PACKAGE_VERSION) by $(USERNAME) on $(COMPUTERNAME) ($(CPU)-pc-windows) $$"; 112const char *heimdal_version = "$(VER_PACKAGE_NAME) $(VER_PACKAGE_VERSION)"; 113<< 114 115all:: $(INCFILES) 116 117clean:: 118 -$(RM) $(INCFILES) 119 120