/**/# Kerberos version 5 Build Parameters /**/# /**/# $Source$ /**/# $Author$ /**/# $Id$ #define ProjectKRB 5 #ifndef TouchCmd #define TouchCmd touch #endif #ifndef UnifdefCmd #define UnifdefCmd unifdef #endif #ifndef CompileEtCmd #define CompileEtCmd compile_et #endif #ifndef MkCmdsCmd #define MkCmdsCmd mk_cmds #endif #ifndef DependCmd #define DependCmd makedepend /* assume BINDIR in path */ #endif #ifndef ImakeCmd #define ImakeCmd imake /* assume BINDIR in path */ #endif #ifndef SSLib #define SSLib -lss #endif #ifndef ComErrLib #define ComErrLib -lcom_err #endif #ifndef PepsyFlags #define PepsyFlags -f -h0 -a -s /* -h2 breaks pepsy, ARRGH! */ #endif #ifndef PepsyCmd #define PepsyCmd pepsy #endif #ifndef ArAddCmd #define ArAddCmd ar cruv #endif #ifndef Krb4LibList #define Krb4LibList -lkrb $(KLIBLOC) -l$(DES425LIB) #endif #ifndef Krb4DepList #define Krb4DepList $(DES425DEPLIB) #endif #ifndef Krb4Includes #define Krb4Includes -I$(TOP)/include/kerberosIV #endif #ifndef ExtraIncludes #define ExtraIncludes /**/ #endif #ifndef HesiodDefines #define HesiodDefines /**/ #endif #ifndef HesiodLibs #define HesiodLibs /**/ #endif #if 0 #ifndef ZephyrDefines #define ZephyrDefines /**/ #endif #ifndef ZephyrLibs #define ZephyrLibs /**/ #endif #endif #ifndef DesDefines #define DesDefines YouMustFigureOutYourDesDefines #endif #ifndef PepsyTarget #define PepsyTarget(basename) @@\ .SUFFIXES: .py @@\ basename/**/_tables.c: basename-asn.py @@\ @echo '***Ignore the warning message "Warning: Can'\''t find UNIV.ph failed"' @@\ $(PEPSY) $(PSYFLAGS) basename-asn.py @@\ basename-types.h: basename/**/_tables.c #endif /* PepsyTarget */ #ifndef ErrorTableObjectRule #define ErrorTableObjectRule() @@\ .SUFFIXES: .et .h .c @@\ @@\ .et.h: @@\ $(COMPILE_ET) $*.et @@\ @@\ .et.c: @@\ $(COMPILE_ET) $*.et #endif #ifndef CmdTableObjectRule #define CmdTableObjectRule() @@\ .SUFFIXES: .ct @@\ @@\ .ct.c: @@\ $(MK_CMDS) $*.ct #endif /* * AdditiveLibraryTarget - generate rules to create a library from * several directories */ #ifndef AdditiveLibraryTarget #define AdditiveLibraryTarget(libname,objlist) @@\ AllTarget(lib/**/libname.a) @@\ AllTarget(foo/**/libname) @@\ DependTarget() @@\ @@\ foo/**/libname: objlist @@\ $(ARADD) lib/**/libname.a objlist @@\ $(TOUCH) foo/**/libname @@\ $(RANLIB) lib/**/libname.a @@\ lib/**/libname.a: objlist @@\ $(ARADD) $@ objlist @@\ $(RANLIB) $@ #endif /* AdditiveLibraryTarget */ /* * OtherdirLibraryTarget - generate rules to create a library in another * directory from object files here */ #ifndef OtherdirLibraryTarget #define OtherdirLibraryTarget(libdir,libname,objlist) @@\ AllTarget(objlist) @@\ AllTarget(libdir/lib/**/libname.a) @@\ AllTarget(foo/**/libname) @@\ DependTarget() @@\ @@\ foo/**/libname: objlist @@\ $(ARADD) libdir/lib/**/libname.a objlist @@\ $(TOUCH) foo/**/libname @@\ libdir/lib/**/libname.a: @@\ $(ARADD) $@ objlist @@\ $(TOUCH) foo/**/libname /* The $(RANLIB) is done at the end by the directory itself */ #endif /* OtherdirLibraryTarget */ /* * CopyHeader - generate rule to copy a generated header file to an include * tree. */ #ifndef CopyHeaderNewName #define CopyHeaderNewName(hfile,hdir,newname) @@\ includes:: hfile @@\ -if cmp hfile hdir/newname >/dev/null 2>&1; then \ @@\ echo ; \ @@\ else \ @@\ $(RM) hdir/newname ; \ @@\ $(CP) hfile hdir/newname; \ @@\ fi #endif /* CopyHeaderNewName */ #ifndef CopyHeader #define CopyHeader(hfile,hdir) CopyHeaderNewName(hfile,hdir,hfile) #endif /* CopyHeader */ /* Run a header through a preprocessor to generate an architecture/environment specific header file. note that unifdef's exit status will normally be 1, indicating some adjustment of the file took place. */ #ifndef ProcessStockHeader #define ProcessStockHeader(stockname,newname) @@\ newname: stockname Makefile @@\ -$(RM) newname.new @@\ -$(UNIFDEF) $(PROCESS_DEFINES) stockname >newname.new @@\ CopyHeaderNewName(newname.new,.,newname) #endif /* ProcessStockHeader */ /* * Krb5LibraryTarget - generate rules to create a library, and link to it * in the library dir */ #ifndef Krb5LibraryTarget #define Krb5LibraryTarget(libname,objlist) @@\ AllTarget(lib/**/libname.a) @@\ DependTarget() @@\ @@\ lib/**/libname.a: objlist @@\ $(RM) $@ @@\ $(AR) $@ objlist @@\ $(RANLIB) $@ @@\ $(RM) $(TOPLIBD)/lib/**/libname.a @@\ $(LN) ../$(CURRENT_DIR)/lib/**/libname.a $(TOP)/lib/lib/**/libname.a #endif /* Krb5LibraryTarget */ #if HasPosixTermios P_TERMIOS=-DHasPosixTermiosTrue #else P_TERMIOS=-UHasPosixTermiosTrue #endif #if HasPosixFileLocks P_FLOCKS=-DHasPosixFileLocksTrue #else P_FLOCKS=-UHasPosixFileLocksTrue #endif #if HasPosixTypes P_TYPES=-DHasPosixTypesTrue #else P_TYPES=-UHasPosixTypesTrue #endif #if HasVoidSignalReturn P_SIGTYPE=-DHasVoidSignalReturnTrue #else P_SIGTYPE=-UHasVoidSignalReturnTrue #endif #if HasStringH P_STRINGH=-DHasStringHTrue #else P_STRINGH=-UHasStringHTrue #endif #ifdef Bitsize16 P_BITSIZE=-DBitsize16 -UBitsize32 -UBitsize64 #endif #ifdef Bitsize32 P_BITSIZE=-DBitsize32 -UBitsize16 -UBitsize64 #endif #ifdef Bitsize64 P_BITSIZE=-DBitsize64 -UBitsize16 -UBitsize32 #endif #if HasNdbm P_DBM=-DHasNdbmTrue #else P_DBM=-UHasNdbmTrue #endif #if HasInet P_INET=-DHasInetTrue #else P_INET=-UHasInetTrue #endif #if HasStdlibH P_STDLIBH=-DHasStdlibHTrue #else P_STDLIBH=-UHasStdlibHTrue #endif /* Override system defaults for vs */ #if !defined(UseTimeH) && !defined(UseSysTimeH) #ifdef OS_BSD #define UseSysTimeH #else #define UseTimeH #endif #endif #ifdef UseTimeH #ifdef UseSysTimeH P_TIME_DEFS=-DUseTimeH -DUseSysTimeH #else P_TIME_DEFS=-DUseTimeH -UUseSysTimeH #endif #else P_TIME_DEFS=-DUseSysTimeH -UUseTimeH #endif #if NeedNarrowPrototypes P_PROTOS=-DUseNarrowPrototypes #else P_PROTOS=-UUseNarrowPrototypes #endif /* * Default Definitions. */ ARADD = ArAddCmd TOP_INCLUDES = -I$(TOP)/include $(STDC_TOP_INCLUDES) CONFIGSRC = $(TOP)/config ISODE = IsodeDir PSYFLAGS = PepsyFlags PEPSY = PepsyCmd TOUCH = TouchCmd IMAKE = ImakeCmd DEPEND = DependCmd UNIFDEF = UnifdefCmd HESDEFS = HesiodDefines HESLIBS = HesiodLibs #if 0 ZEPHDEFS = ZephyrDefines ZEPHLIBS = ZephyrLibs #endif PROCESS_DEFINES = $(P_TERMIOS) $(P_FLOCKS) $(P_TYPES) $(P_SIGTYPE) $(P_STRINGH) $(P_BITSIZE) $(P_DBM) $(P_INET) $(P_STDLIBH) $(P_TIME_DEFS) $(P_PROTOS) -DUnifdefRan DESDEFINES = DesDefines TOPLIBD = $(TOP)/lib OSLIB = os OSDEPLIB = $(TOPLIBD)/libos.a DESLIB = des5 DESDEPLIB = $(TOPLIBD)/libdes5.a RSAMD4LIB = md4 RSAMD4DEPLIB = $(TOPLIBD)/libmd4.a KRB5LIB = krb5 KRB5DEPLIB = $(TOPLIBD)/libkrb5.a CRCLIB = crc32 CRCDEPLIB = $(TOPLIBD)/libcrc32.a ISODELIB = IsodeLib DBMLIB = DbmLib DEPKLIB = $(KRB5DEPLIB) $(RSAMD4DEPLIB) $(DESDEPLIB) $(OSDEPLIB) $(CRCDEPLIB) KLIBLOC = -L$(TOPLIBD) KLIB = $(KLIBLOC) -l$(KRB5LIB) -l$(RSAMD4LIB) -l$(DESLIB) -l$(OSLIB) -l$(CRCLIB) $(ISODELIB) $(COMERRLIB) $(DBMLIB) KDBDEPLIB = $(TOPLIBD)/libkdb.a KDBLIB = $(KLIBLOC) -lkdb KRB425DEPLIB = $(TOPLIBD)/libkrb425.a KRB425LIB = krb425 DES425DEPLIB = $(TOPLIBD)/libdes425.a DES425LIB = des425 KRB4LIB = Krb4LibList KRB4INCLUDES = Krb4Includes KRB4DEPLIB = Krb4DepList SSLIB = SSLib MK_CMDS = MkCmdsCmd COMERRLIB = ComErrLib COMPILE_ET = CompileEtCmd