NTMakefile revision 1.1 1 1.1 elric ########################################################################
2 1.1 elric #
3 1.1 elric # Copyright (c) 2009, Secure Endpoints Inc.
4 1.1 elric # All rights reserved.
5 1.1 elric #
6 1.1 elric # Redistribution and use in source and binary forms, with or without
7 1.1 elric # modification, are permitted provided that the following conditions
8 1.1 elric # are met:
9 1.1 elric #
10 1.1 elric # - Redistributions of source code must retain the above copyright
11 1.1 elric # notice, this list of conditions and the following disclaimer.
12 1.1 elric #
13 1.1 elric # - Redistributions in binary form must reproduce the above copyright
14 1.1 elric # notice, this list of conditions and the following disclaimer in
15 1.1 elric # the documentation and/or other materials provided with the
16 1.1 elric # distribution.
17 1.1 elric #
18 1.1 elric # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 1.1 elric # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 1.1 elric # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21 1.1 elric # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22 1.1 elric # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23 1.1 elric # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24 1.1 elric # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 1.1 elric # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26 1.1 elric # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 1.1 elric # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28 1.1 elric # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 1.1 elric # POSSIBILITY OF SUCH DAMAGE.
30 1.1 elric #
31 1.1 elric
32 1.1 elric RELDIR=lib\kadm5
33 1.1 elric
34 1.1 elric !include ../../windows/NTMakefile.w32
35 1.1 elric
36 1.1 elric dist_libkadm5clnt_la_SOURCES = \
37 1.1 elric ad.c \
38 1.1 elric chpass_c.c \
39 1.1 elric client_glue.c \
40 1.1 elric common_glue.c \
41 1.1 elric create_c.c \
42 1.1 elric delete_c.c \
43 1.1 elric destroy_c.c \
44 1.1 elric flush_c.c \
45 1.1 elric free.c \
46 1.1 elric get_c.c \
47 1.1 elric get_princs_c.c \
48 1.1 elric init_c.c \
49 1.1 elric kadm5_locl.h \
50 1.1 elric marshall.c \
51 1.1 elric modify_c.c \
52 1.1 elric private.h \
53 1.1 elric privs_c.c \
54 1.1 elric randkey_c.c \
55 1.1 elric rename_c.c \
56 1.1 elric send_recv.c \
57 1.1 elric kadm5-pwcheck.h \
58 1.1 elric admin.h
59 1.1 elric
60 1.1 elric dist_libkadm5srv_la_SOURCES = \
61 1.1 elric acl.c \
62 1.1 elric admin.h \
63 1.1 elric bump_pw_expire.c \
64 1.1 elric chpass_s.c \
65 1.1 elric common_glue.c \
66 1.1 elric context_s.c \
67 1.1 elric create_s.c \
68 1.1 elric delete_s.c \
69 1.1 elric destroy_s.c \
70 1.1 elric ent_setup.c \
71 1.1 elric error.c \
72 1.1 elric flush_s.c \
73 1.1 elric free.c \
74 1.1 elric get_princs_s.c \
75 1.1 elric get_s.c \
76 1.1 elric init_s.c \
77 1.1 elric kadm5_locl.h \
78 1.1 elric keys.c \
79 1.1 elric log.c \
80 1.1 elric marshall.c \
81 1.1 elric modify_s.c \
82 1.1 elric password_quality.c \
83 1.1 elric private.h \
84 1.1 elric privs_s.c \
85 1.1 elric randkey_s.c \
86 1.1 elric rename_s.c \
87 1.1 elric server_glue.c \
88 1.1 elric set_keys.c \
89 1.1 elric set_modifier.c \
90 1.1 elric kadm5-pwcheck.h \
91 1.1 elric admin.h
92 1.1 elric
93 1.1 elric LIBKADM5CLNT_OBJS= \
94 1.1 elric $(OBJ)\ad.obj \
95 1.1 elric $(OBJ)\chpass_c.obj \
96 1.1 elric $(OBJ)\client_glue.obj \
97 1.1 elric $(OBJ)\common_glue.obj \
98 1.1 elric $(OBJ)\create_c.obj \
99 1.1 elric $(OBJ)\delete_c.obj \
100 1.1 elric $(OBJ)\destroy_c.obj \
101 1.1 elric $(OBJ)\flush_c.obj \
102 1.1 elric $(OBJ)\free.obj \
103 1.1 elric $(OBJ)\get_c.obj \
104 1.1 elric $(OBJ)\get_princs_c.obj \
105 1.1 elric $(OBJ)\init_c.obj \
106 1.1 elric $(OBJ)\marshall.obj \
107 1.1 elric $(OBJ)\modify_c.obj \
108 1.1 elric $(OBJ)\privs_c.obj \
109 1.1 elric $(OBJ)\randkey_c.obj \
110 1.1 elric $(OBJ)\rename_c.obj \
111 1.1 elric $(OBJ)\send_recv.obj \
112 1.1 elric $(OBJ)\kadm5_err.obj
113 1.1 elric
114 1.1 elric LIBKADM5SRV_OBJS= \
115 1.1 elric $(OBJ)\acl.obj \
116 1.1 elric $(OBJ)\bump_pw_expire.obj \
117 1.1 elric $(OBJ)\chpass_s.obj \
118 1.1 elric $(OBJ)\common_glue.obj \
119 1.1 elric $(OBJ)\context_s.obj \
120 1.1 elric $(OBJ)\create_s.obj \
121 1.1 elric $(OBJ)\delete_s.obj \
122 1.1 elric $(OBJ)\destroy_s.obj \
123 1.1 elric $(OBJ)\ent_setup.obj \
124 1.1 elric $(OBJ)\error.obj \
125 1.1 elric $(OBJ)\flush_s.obj \
126 1.1 elric $(OBJ)\free.obj \
127 1.1 elric $(OBJ)\get_princs_s.obj \
128 1.1 elric $(OBJ)\get_s.obj \
129 1.1 elric $(OBJ)\init_s.obj \
130 1.1 elric $(OBJ)\keys.obj \
131 1.1 elric $(OBJ)\log.obj \
132 1.1 elric $(OBJ)\marshall.obj \
133 1.1 elric $(OBJ)\modify_s.obj \
134 1.1 elric $(OBJ)\password_quality.obj \
135 1.1 elric $(OBJ)\privs_s.obj \
136 1.1 elric $(OBJ)\randkey_s.obj \
137 1.1 elric $(OBJ)\rename_s.obj \
138 1.1 elric $(OBJ)\server_glue.obj \
139 1.1 elric $(OBJ)\set_keys.obj \
140 1.1 elric $(OBJ)\set_modifier.obj \
141 1.1 elric $(OBJ)\kadm5_err.obj
142 1.1 elric
143 1.1 elric
144 1.1 elric proto_opts = -q -R "^(_|kadm5_c_|kadm5_s_|kadm5_log)" -P remove
145 1.1 elric
146 1.1 elric $(OBJ)\kadm5-protos.h: $(dist_libkadm5srv_la_SOURCES) $(dist_libkadm5clnt_la_SOURCES)
147 1.1 elric $(PERL) ..\..\cf\make-proto.pl $(proto_opts) \
148 1.1 elric -o $@ \
149 1.1 elric $(dist_libkadm5srv_la_SOURCES) \
150 1.1 elric $(dist_libkadm5clnt_la_SOURCES) \
151 1.1 elric || $(RM) $@
152 1.1 elric
153 1.1 elric $(OBJ)\kadm5-private.h: $(dist_libkadm5srv_la_SOURCES) $(dist_libkadm5clnt_la_SOURCES)
154 1.1 elric $(PERL) ..\..\cf\make-proto.pl $(proto_opts) \
155 1.1 elric -p $@ \
156 1.1 elric $(dist_libkadm5srv_la_SOURCES) \
157 1.1 elric $(dist_libkadm5clnt_la_SOURCES) \
158 1.1 elric || $(RM) $@
159 1.1 elric
160 1.1 elric $(OBJ)\iprop-commands.c $(OBJ)\iprop-commands.h: iprop-commands.in
161 1.1 elric cd $(OBJ)
162 1.1 elric $(CP) $(SRCDIR)\iprop-commands.in $(OBJ)
163 1.1 elric $(BINDIR)\slc.exe iprop-commands.in
164 1.1 elric cd $(SRCDIR)
165 1.1 elric
166 1.1 elric $(OBJ)\kadm5_err.h $(OBJ)kadm5_err.c: kadm5_err.et
167 1.1 elric cd $(OBJ)
168 1.1 elric $(BINDIR)\compile_et.exe $(SRCDIR)\kadm5_err.et
169 1.1 elric cd $(SRCDIR)
170 1.1 elric
171 1.1 elric $(KADM5INCDIR)\kadm5_err.h: $(OBJ)\kadm5_err.h
172 1.1 elric
173 1.1 elric KADM5INCDIR=$(INCDIR)\kadm5
174 1.1 elric
175 1.1 elric INCFILES=\
176 1.1 elric $(KADM5INCDIR)\kadm5_err.h \
177 1.1 elric $(KADM5INCDIR)\admin.h \
178 1.1 elric $(KADM5INCDIR)\private.h \
179 1.1 elric $(KADM5INCDIR)\kadm5-protos.h \
180 1.1 elric $(KADM5INCDIR)\kadm5-private.h \
181 1.1 elric $(OBJ)\iprop-commands.h
182 1.1 elric
183 1.1 elric SBINPROGRAMS=$(SBINDIR)\iprop-log.exe
184 1.1 elric
185 1.1 elric LIBEXECPROGRAMS=$(LIBEXECDIR)\ipropd-master.exe $(LIBEXECDIR)\ipropd-slave.exe
186 1.1 elric
187 1.1 elric EXELIBDEPS= \
188 1.1 elric $(LIBKADM5SRV) \
189 1.1 elric $(LIBROKEN) \
190 1.1 elric $(LIBHEIMDAL) \
191 1.1 elric $(LIBHDB) \
192 1.1 elric $(LIBSQLITE) \
193 1.1 elric $(LIBSL) \
194 1.1 elric $(LIBCOMERR) \
195 1.1 elric $(LIBVERS)
196 1.1 elric
197 1.1 elric $(SBINDIR)\iprop-log.exe: $(OBJ)\iprop-log.obj $(OBJ)\iprop-commands.obj $(EXELIBDEPS) \
198 1.1 elric $(OBJ)\iprop-log-version.res
199 1.1 elric $(EXECONLINK)
200 1.1 elric $(EXEPREP)
201 1.1 elric
202 1.1 elric $(LIBEXECDIR)\ipropd-master.exe: $(OBJ)\ipropd_master.obj $(OBJ)\ipropd_common.obj \
203 1.1 elric $(EXELIBDEPS) $(OBJ)\ipropd-master-version.res
204 1.1 elric $(EXECONLINK)
205 1.1 elric $(EXEPREP)
206 1.1 elric
207 1.1 elric $(LIBEXECDIR)\ipropd-slave.exe: $(OBJ)\ipropd_slave.obj $(OBJ)\ipropd_common.obj \
208 1.1 elric $(EXELIBDEPS) $(OBJ)\ipropd-slave-version.res
209 1.1 elric $(EXECONLINK)
210 1.1 elric $(EXEPREP)
211 1.1 elric
212 1.1 elric $(LIBKADM5CLNT): $(LIBKADM5CLNT_OBJS)
213 1.1 elric $(LIBCON)
214 1.1 elric
215 1.1 elric LIBKADM5SRVRES=$(OBJ)\libkadm5srv-version.res
216 1.1 elric
217 1.1 elric $(LIBKADM5SRV): $(BINDIR)\libkadm5srv.dll
218 1.1 elric
219 1.1 elric $(BINDIR)\libkadm5srv.dll: $(LIBKADM5SRV_OBJS) $(LIBHEIMDAL) $(LIBROKEN) $(LIBHDB) $(LIBCOMERR) $(LIBSQLITE) $(LIBKADM5SRVRES)
220 1.1 elric $(DLLGUILINK) -implib:$(LIBKADM5SRV) -def:libkadm5srv-exports.def
221 1.1 elric $(DLLPREP)
222 1.1 elric
223 1.1 elric all:: $(INCFILES) $(LIBKADM5SRV) $(LIBKADM5CLNT)
224 1.1 elric
225 1.1 elric all-tools:: $(SBINPROGRAMS) $(LIBEXECPROGRAMS)
226 1.1 elric
227 1.1 elric clean::
228 1.1 elric -$(RM) $(INCFILES)
229 1.1 elric -$(RM) $(LIBKADM5CLNT)
230 1.1 elric -$(RM) $(LIBKADM5SRV)
231 1.1 elric -$(RM) $(BINDIR)\libkadm5srv.*
232 1.1 elric -$(RM) $(SBINPROGRAMS:.exe=.*)
233 1.1 elric -$(RM) $(LIBEXECPROGRAMS:.exe=.*)
234 1.1 elric
235 1.1 elric test:: test-binaries test-run
236 1.1 elric
237 1.1 elric test-binaries: \
238 1.1 elric $(OBJ)\default_keys.exe \
239 1.1 elric $(OBJ)\test_pw_quality.exe \
240 1.1 elric $(OBJ)\sample_passwd_check.dll
241 1.1 elric
242 1.1 elric $(OBJ)\default_keys.exe: $(OBJ)\default_keys.obj $(LIBHEIMDAL) $(LIBROKEN) $(LIBHDB)
243 1.1 elric $(EXECONLINK)
244 1.1 elric $(EXEPREP_NODIST)
245 1.1 elric
246 1.1 elric $(OBJ)\test_pw_quality.exe: $(OBJ)\test_pw_quality.obj \
247 1.1 elric $(LIBROKEN) $(LIBKADM5SRV) $(LIBVERS) $(LIBHEIMDAL)
248 1.1 elric $(EXECONLINK)
249 1.1 elric $(EXEPREP_NODIST)
250 1.1 elric
251 1.1 elric $(OBJ)\sample_passwd_check.dll: $(OBJ)\sample_passwd_check.obj $(LIBHEIMDAL)
252 1.1 elric $(DLLGUILINK) /DEF:<<
253 1.1 elric EXPORTS
254 1.1 elric version DATA
255 1.1 elric check_length
256 1.1 elric <<
257 1.1 elric $(DLLPREP_NODIST)
258 1.1 elric
259 1.1 elric test-run:
260 1.1 elric
261 1.1 elric {$(OBJ)}.h{$(KADM5INCDIR)}.h:
262 1.1 elric $(CP) $< $@
263 1.1 elric
264 1.1 elric {}.h{$(KADM5INCDIR)}.h:
265 1.1 elric $(CP) $< $@
266 1.1 elric
267 1.1 elric {}.c{$(OBJ)}.obj::
268 1.1 elric $(C2OBJ_P) -I$(OBJ) -I$(KADM5INCDIR)
269 1.1 elric
270 1.1 elric test-exports:
271 1.1 elric $(PERL) ..\..\cf\w32-check-exported-symbols.pl --vs version-script.map --def libkadm5srv-exports.def
272 1.1 elric
273 1.1 elric test:: test-exports
274