NTMakefile revision 1.1.1.1 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
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 !ifdef KRB4
71 $(LIBEXECDIR)\hprop.exe: $(OBJ)\v4_dump.obj
72 !endif
73
74
75 $(LIBEXECDIR)\hpropd.exe: $(OBJ)\hpropd.obj $(BIN_LIBS) $(OBJ)\hpropd-version.res
76 $(EXECONLINK)
77 $(EXEPREP)
78
79 $(SBINDIR)\kstash.exe: $(OBJ)\kstash.obj $(BIN_LIBS) $(OBJ)\kstash-version.res
80 $(EXECONLINK)
81 $(EXEPREP)
82
83 $(BINDIR)\string2key.exe: $(OBJ)\string2key.obj $(BIN_LIBS) $(OBJ)\string2key-version.res
84 $(EXECONLINK)
85 $(EXEPREP)
86
87 $(BINDIR)\digest-service.exe: $(OBJ)\digest-service.obj $(BIN_LIBS)
88 $(EXECONLINK)
89 $(EXEPREP)
90
91 $(LIBEXECDIR)\kdc.exe: \
92 $(OBJ)\connect.obj $(OBJ)\config.obj $(OBJ)\announce.obj \
93 $(OBJ)\main.obj $(OBJ)\kdc-version.res \
94 $(LIBKDC) $(BIN_LIBS)
95 $(EXECONLINK)
96 $(EXEPREP)
97
98 LIBKDC_OBJS=\
99 $(OBJ)\default_config.obj \
100 $(OBJ)\set_dbinfo.obj \
101 $(OBJ)\digest.obj \
102 $(OBJ)\kerberos5.obj \
103 $(OBJ)\krb5tgs.obj \
104 $(OBJ)\pkinit.obj \
105 $(OBJ)\log.obj \
106 $(OBJ)\misc.obj \
107 $(OBJ)\kx509.obj \
108 $(OBJ)\process.obj \
109 $(OBJ)\windc.obj
110
111 !ifdef KRB4
112 LIBKDC_OBJS=$(LIBKDC_OBJS) \
113 $(OBJ)\524.obj \
114 $(OBJ)\kerberos4.obj
115 !endif
116
117 LIBKDC_LIBS=\
118 $(LIBHDB) \
119 $(LIBHEIMDAL) \
120 $(LIBHEIMNTLM) \
121 $(LIBROKEN)
122
123 LIBKDCRES=$(OBJ)\libkdc-version.res
124
125 $(LIBEXECDIR)\libkdc.dll: $(LIBKDC_OBJS) $(LIBKDC_LIBS) $(LIBKDCRES)
126 $(DLLGUILINK) -implib:$(LIBKDC) -def:libkdc-exports.def
127 $(DLLPREP)
128
129 $(LIBKDC): $(LIBEXECDIR)\libkdc.dll
130
131 clean::
132 -$(RM) $(LIBEXECDIR)\libkdc.*
133
134 libkdc_la_SOURCES = \
135 default_config.c \
136 set_dbinfo.c \
137 digest.c \
138 kdc_locl.h \
139 kerberos5.c \
140 krb5tgs.c \
141 pkinit.c \
142 log.c \
143 misc.c \
144 kx509.c \
145 process.c \
146 windc.c \
147 rx.h
148
149 !ifdef KRB4
150 libkdc_la_SOURCES=$(libkdc_la_SOURCES) \
151 524.c \
152 kerberos4.c
153 !endif
154
155 $(OBJ)\kdc-protos.h: $(libkdc_la_SOURCES)
156 $(PERL) ..\cf\make-proto.pl -q -P remove -o $@ $(libkdc_la_SOURCES) \
157 || $(RM) $@
158
159 $(OBJ)\kdc-private.h: $(libkdc_la_SOURCES)
160 $(PERL) ..\cf\make-proto.pl -q -P remove -p $@ $(libkdc_la_SOURCES) \
161 || $(RM) $@
162