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
32RELDIR=kadmin 
33cincdirs=-I$(OBJ) -I$(INCDIR)\gssapi
34
35!include ../windows/NTMakefile.w32 
36
37SBIN_PROGRAMS=$(SBINDIR)\kadmin.exe
38
39# Disable kadmind.exe since currently it doesn't build
40#LIBEXEC_PROGRAMS=$(LIBEXECDIR)\kadmind.exe
41#
42
43COMMON_LIBS=		\
44	$(LIBHDB)	\
45	$(LIBHEIMDAL)	\
46	$(LIBROKEN)
47
48KADMIN_OBJS=			    \
49	$(OBJ)\ank.obj		    \
50	$(OBJ)\add_enctype.obj	    \
51	$(OBJ)\check.obj	    \
52	$(OBJ)\cpw.obj		    \
53	$(OBJ)\del.obj		    \
54	$(OBJ)\del_enctype.obj	    \
55	$(OBJ)\dump.obj		    \
56	$(OBJ)\ext.obj		    \
57	$(OBJ)\get.obj		    \
58	$(OBJ)\init.obj		    \
59	$(OBJ)\kadmin.obj	    \
60	$(OBJ)\load.obj		    \
61	$(OBJ)\mod.obj		    \
62	$(OBJ)\rename.obj	    \
63	$(OBJ)\stash.obj	    \
64	$(OBJ)\util.obj		    \
65	$(OBJ)\pw_quality.obj	    \
66	$(OBJ)\random_password.obj  \
67	$(OBJ)\kadmin-commands.obj  \
68	$(OBJ)\kadmin-version.res
69
70KADMIN_LIBS=	\
71	$(LIBKADM5CLNT)	\
72	$(LIBKADM5SRV)	\
73	$(LIBSL)	\
74	$(COMMON_LIBS)	\
75	$(LIBVERS)	\
76	$(LIBCOMERR)
77
78INCFILES=$(OBJ)\kadmin-commands.h
79
80$(OBJ)\kadmin-commands.c $(OBJ)\kadmin-commands.h: kadmin-commands.in
81	cd $(OBJ)
82	$(CP) $(SRCDIR)\kadmin-commands.in $(OBJ)
83	$(BINDIR)\slc.exe kadmin-commands.in
84	cd $(SRCDIR)
85
86$(SBINDIR)\kadmin.exe: $(KADMIN_OBJS) $(KADMIN_LIBS)
87	$(EXECONLINK)
88	$(EXEPREP)
89
90KADMIND_OBJS=		    \
91	$(OBJ)\rpc.obj	    \
92	$(OBJ)\server.obj   \
93	$(OBJ)\kadmind.obj  \
94	$(OBJ)\kadm_conn.obj \
95	$(OBJ)\kadmind-version.res
96
97KADMIND_LIBS=\
98	$(LIBKADM5SRV)	\
99	$(LIBGSSAPI)	\
100	$(COMMON_LIBS)
101
102$(LIBEXECDIR)\kadmind.exe: $(KADMIND_OBJS) $(KADMIND_LIBS)
103	$(EXECONLINK)
104	$(EXEPREP)
105
106all:: $(INCFILES) $(SBIN_PROGRAMS) $(LIBEXEC_PROGRAMS)
107
108clean::
109	-$(RM) $(SBIN_PROGRAMS:.exe=.*)
110	-$(RM) $(LIBEXEC_PROGRAMS:.exe=.*)
111
112
113
114
115NOINST_PROGRAMS=$(OBJ)\add_random_users.exe
116
117$(OBJ)\add_random_users.exe: $(OBJ)\add_random_users.obj $(LIBKADM5SRV) $(LIBKADM5CLNT) $(COMMON_LIBS)
118	$(EXECONLINK)
119	$(EXEPREP_NODIST)
120
121TEST_BINARIES=$(OBJ)\test_util.exe
122
123$(OBJ)\test_util.exe: $(OBJ)\test_util.obj $(OBJ)\util.obj $(KADMIN_LIBS)
124	$(EXECONLINK)
125	$(EXEPREP_NODIST)
126
127test-binaries: $(TEST_BINARIES)
128
129test-run:
130	cd $(OBJ)
131	test_util.exe
132	cd $(SRCDIR)
133
134test:: test-binaries test-run
135