Windows: Build a single heimdal.dll
[heimdal.git] / kdc / NTMakefile
blobdc74455beac6ae4c1edbb49aadfbe8a6ce9b0255
1 ########################################################################
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
32 RELDIR=kdc 
34 !include ../windows/NTMakefile.w32 
36 BINPROGRAMS=$(BINDIR)\string2key.exe
38 SBINPROGRAMS=$(SBINDIR)\kstash.exe
40 LIBEXECPROGRAMS= \
41         $(LIBEXECDIR)\hprop.exe \
42         $(LIBEXECDIR)\hpropd.exe \
43         $(LIBEXECDIR)\kdc.exe \
44 #       $(LIBEXECDIR)\digest-service.exe
46 NOINST_PROGRAMS=$(OBJ)\kdc-replay.exe
48 INCFILES=\
49         $(INCDIR)\kdc.h         \
50         $(INCDIR)\kdc-protos.h  \
51         $(INCDIR)\kdc-private.h \
52         $(INCDIR)\krb5\windc_plugin.h
54 all:: $(INCFILES) $(LIBKDC) $(BINPROGRAMS) $(SBINPROGRAMS) $(LIBEXECPROGRAMS)
56 clean::
57         -$(RM) $(LIBKDC)
58         -$(RM) $(BINPROGRAMS) $(SBINPROGRAMS) $(LIBEXECPROGRAMS)
60 BIN_LIBS=\
61         $(LIBHDB)       \
62         $(LIBHEIMDAL)   \
63         $(LIBROKEN)     \
64         $(LIBVERS)
66 $(LIBEXECDIR)\hprop.exe: $(OBJ)\hprop.obj $(OBJ)\mit_dump.obj $(BIN_LIBS)
67         $(EXECONLINK)
68         $(EXEPREP)
70 !ifdef KRB4
71 $(LIBEXECDIR)\hprop.exe: $(OBJ)\v4_dump.obj
72 !endif
75 $(LIBEXECDIR)\hpropd.exe: $(OBJ)\hpropd.obj $(BIN_LIBS)
76         $(EXECONLINK)
77         $(EXEPREP)
79 $(SBINDIR)\kstash.exe: $(OBJ)\kstash.obj $(BIN_LIBS)
80         $(EXECONLINK)
81         $(EXEPREP)
83 $(BINDIR)\string2key.exe: $(OBJ)\string2key.obj $(BIN_LIBS)
84         $(EXECONLINK)
85         $(EXEPREP)
87 $(BINDIR)\digest-service.exe: $(OBJ)\digest-service.obj $(BIN_LIBS)
88         $(EXECONLINK)
89         $(EXEPREP)
91 $(LIBEXECDIR)\kdc.exe: \
92 $(OBJ)\connect.obj $(OBJ)\config.obj $(OBJ)\announce.obj $(OBJ)\main.obj $(LIBKDC) $(BIN_LIBS)
93         $(EXECONLINK)
94         $(EXEPREP)
96 LIBKDC_OBJS=\
97         $(OBJ)\default_config.obj       \
98         $(OBJ)\set_dbinfo.obj   \
99         $(OBJ)\digest.obj       \
100         $(OBJ)\kerberos5.obj    \
101         $(OBJ)\krb5tgs.obj      \
102         $(OBJ)\pkinit.obj       \
103         $(OBJ)\log.obj          \
104         $(OBJ)\misc.obj         \
105         $(OBJ)\kaserver.obj     \
106         $(OBJ)\kx509.obj        \
107         $(OBJ)\process.obj      \
108         $(OBJ)\windc.obj
110 !ifdef KRB4
111 LIBKDC_OBJS=$(LIBKDC_OBJS) \
112         $(OBJ)\524.obj          \
113         $(OBJ)\kerberos4.obj
114 !endif
116 LIBKDC_LIBS=\
117         $(LIBHDB)       \
118         $(LIBHEIMDAL)   \
119         $(LIBHEIMNTLM)  \
120         $(LIBROKEN)
122 $(LIBEXECDIR)\libkdc.dll: $(LIBKDC_OBJS) $(LIBKDC_LIBS)
123         $(DLLGUILINK) -implib:$(LIBKDC) -def:libkdc-exports.def
124         $(DLLPREP)
126 $(LIBKDC): $(LIBEXECDIR)\libkdc.dll
128 libkdc_la_SOURCES =             \
129         default_config.c        \
130         set_dbinfo.c            \
131         digest.c                \
132         kdc_locl.h              \
133         kerberos5.c             \
134         krb5tgs.c               \
135         pkinit.c                \
136         log.c                   \
137         misc.c                  \
138         kaserver.c              \
139         kx509.c                 \
140         process.c               \
141         windc.c                 \
142         rx.h
144 !ifdef KRB4
145 libkdc_la_SOURCES=$(libkdc_la_SOURCES) \
146         524.c                   \
147         kerberos4.c
148 !endif
150 $(OBJ)\kdc-protos.h: $(libkdc_la_SOURCES)
151         $(PERL) ..\cf\make-proto.pl -q -P remove -o $@ $(libkdc_la_SOURCES) \
152         || $(RM) $@
154 $(OBJ)\kdc-private.h: $(libkdc_la_SOURCES)
155         $(PERL) ..\cf\make-proto.pl -q -P remove -p $@ $(libkdc_la_SOURCES) \
156         || $(RM) $@