Home | History | Annotate | Line # | Download | only in kdc
      1 ########################################################################
      2 #
      3 # Copyright (c) 2009-2016, 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 
     32 RELDIR=kdc 
     33 
     34 !include ../windows/NTMakefile.w32 
     35 
     36 BINPROGRAMS=$(BINDIR)\string2key.exe
     37 
     38 SBINPROGRAMS=$(SBINDIR)\kstash.exe
     39 
     40 LIBEXECPROGRAMS= \
     41 	$(LIBEXECDIR)\hprop.exe \
     42 	$(LIBEXECDIR)\hpropd.exe \
     43 	$(LIBEXECDIR)\kdc.exe \
     44 #	$(LIBEXECDIR)\digest-service.exe
     45 
     46 NOINST_PROGRAMS=$(OBJ)\kdc-replay.exe
     47 
     48 INCFILES=\
     49 	$(INCDIR)\kdc.h		\
     50 	$(INCDIR)\kdc-protos.h	\
     51 	$(INCDIR)\kdc-private.h	\
     52 	$(INCDIR)\krb5\windc_plugin.h
     53 
     54 all:: $(INCFILES) $(LIBKDC) $(BINPROGRAMS) $(SBINPROGRAMS) $(LIBEXECPROGRAMS)
     55 
     56 clean::
     57 	-$(RM) $(LIBKDC)
     58 	-$(RM) $(BINPROGRAMS:.exe=.*) $(SBINPROGRAMS:.exe=.*) $(LIBEXECPROGRAMS:.exe=.*)
     59 
     60 BIN_LIBS=\
     61 	$(LIBHDB)	\
     62 	$(LIBHEIMDAL)	\
     63 	$(LIBROKEN)	\
     64 	$(LIBVERS)
     65 
     66 $(LIBEXECDIR)\hprop.exe: $(OBJ)\hprop.obj $(OBJ)\mit_dump.obj $(BIN_LIBS) $(OBJ)\hprop-version.res
     67 	$(EXECONLINK)
     68 	$(EXEPREP)
     69 
     70 $(LIBEXECDIR)\hpropd.exe: $(OBJ)\hpropd.obj $(BIN_LIBS) $(OBJ)\hpropd-version.res
     71 	$(EXECONLINK)
     72 	$(EXEPREP)
     73 
     74 $(SBINDIR)\kstash.exe: $(OBJ)\kstash.obj $(BIN_LIBS) $(OBJ)\kstash-version.res
     75 	$(EXECONLINK)
     76 	$(EXEPREP)
     77 
     78 $(BINDIR)\string2key.exe: $(OBJ)\string2key.obj $(BIN_LIBS) $(OBJ)\string2key-version.res
     79 	$(EXECONLINK)
     80 	$(EXEPREP)
     81 
     82 $(BINDIR)\digest-service.exe: $(OBJ)\digest-service.obj $(BIN_LIBS)
     83 	$(EXECONLINK)
     84 	$(EXEPREP)
     85 
     86 $(LIBEXECDIR)\kdc.exe: \
     87 		$(OBJ)\connect.obj $(OBJ)\config.obj $(OBJ)\announce.obj \
     88 		$(OBJ)\main.obj $(OBJ)\kdc-version.res \
     89 		$(LIBKDC) $(BIN_LIBS) $(LIB_openssl_crypto)
     90 	$(EXECONLINK)
     91 	$(EXEPREP)
     92 
     93 LIBKDC_OBJS=\
     94 	$(OBJ)\default_config.obj	\
     95 	$(OBJ)\set_dbinfo.obj 	\
     96 	$(OBJ)\digest.obj	\
     97 	$(OBJ)\fast.obj	\
     98 	$(OBJ)\kerberos5.obj	\
     99 	$(OBJ)\krb5tgs.obj	\
    100 	$(OBJ)\pkinit.obj	\
    101 	$(OBJ)\pkinit-ec.obj	\
    102 	$(OBJ)\log.obj		\
    103 	$(OBJ)\misc.obj		\
    104 	$(OBJ)\kx509.obj	\
    105 	$(OBJ)\process.obj	\
    106 	$(OBJ)\windc.obj
    107 
    108 LIBKDC_LIBS=\
    109 	$(LIBHDB)		\
    110 	$(LIBHEIMBASE)		\
    111 	$(LIBHEIMDAL)		\
    112 	$(LIBHEIMNTLM)		\
    113 	$(LIB_openssl_crypto)	\
    114 	$(LIBROKEN)
    115 
    116 LIBKDCRES=$(OBJ)\libkdc-version.res
    117 
    118 $(LIBEXECDIR)\libkdc.dll: $(LIBKDC_OBJS) $(LIBKDC_LIBS) $(LIBKDCRES)
    119 	$(DLLGUILINK) -implib:$(LIBKDC) -def:libkdc-exports.def
    120 	$(DLLPREP_NODIST)
    121 
    122 $(LIBKDC): $(LIBEXECDIR)\libkdc.dll
    123 
    124 clean::
    125 	-$(RM) $(LIBEXECDIR)\libkdc.*
    126 
    127 libkdc_la_SOURCES = 		\
    128 	default_config.c 	\
    129 	set_dbinfo.c	 	\
    130 	digest.c		\
    131 	fast.c		\
    132 	kdc_locl.h		\
    133 	kerberos5.c		\
    134 	krb5tgs.c		\
    135 	pkinit.c		\
    136 	pkinit-ec.c		\
    137 	log.c			\
    138 	misc.c			\
    139 	kx509.c			\
    140 	process.c		\
    141 	windc.c			\
    142 	rx.h
    143 
    144 $(OBJ)\kdc-protos.h: $(libkdc_la_SOURCES)
    145 	$(PERL) ..\cf\make-proto.pl -q -P remove -o $@ $(libkdc_la_SOURCES) \
    146 	|| $(RM) $@
    147 
    148 $(OBJ)\kdc-private.h: $(libkdc_la_SOURCES)
    149 	$(PERL) ..\cf\make-proto.pl -q -P remove -p $@ $(libkdc_la_SOURCES) \
    150 	|| $(RM) $@
    151