xref: /netbsd-src/crypto/external/bsd/heimdal/dist/kdc/NTMakefile (revision b9d004c6cc8d38329417ae29768c81e5f2a296cf)
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
32RELDIR=kdc
33
34!include ../windows/NTMakefile.w32
35
36BINPROGRAMS=$(BINDIR)\string2key.exe
37
38SBINPROGRAMS=$(SBINDIR)\kstash.exe
39
40LIBEXECPROGRAMS= \
41	$(LIBEXECDIR)\hprop.exe \
42	$(LIBEXECDIR)\hpropd.exe \
43	$(LIBEXECDIR)\kdc.exe \
44#	$(LIBEXECDIR)\digest-service.exe
45
46NOINST_PROGRAMS=$(OBJ)\kdc-replay.exe
47
48INCFILES=\
49	$(INCDIR)\kdc.h		\
50	$(INCDIR)\kdc-protos.h	\
51	$(INCDIR)\kdc-private.h	\
52	$(INCDIR)\krb5\windc_plugin.h
53
54all:: $(INCFILES) $(LIBKDC) $(BINPROGRAMS) $(SBINPROGRAMS) $(LIBEXECPROGRAMS)
55
56clean::
57	-$(RM) $(LIBKDC)
58	-$(RM) $(BINPROGRAMS:.exe=.*) $(SBINPROGRAMS:.exe=.*) $(LIBEXECPROGRAMS:.exe=.*)
59
60BIN_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
93LIBKDC_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
108LIBKDC_LIBS=\
109	$(LIBHDB)		\
110	$(LIBHEIMBASE)		\
111	$(LIBHEIMDAL)		\
112	$(LIBHEIMNTLM)		\
113	$(LIB_openssl_crypto)	\
114	$(LIBROKEN)
115
116LIBKDCRES=$(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
124clean::
125	-$(RM) $(LIBEXECDIR)\libkdc.*
126
127libkdc_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