stop touching the wrong stamp filename after configuring
[debian/sudo] / Makefile.in
1 #
2 # Copyright (c) 1996, 1998-2005, 2007-2010
3 #       Todd C. Miller <Todd.Miller@courtesan.com>
4 #
5 # Permission to use, copy, modify, and distribute this software for any
6 # purpose with or without fee is hereby granted, provided that the above
7 # copyright notice and this permission notice appear in all copies.
8 #
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
17 #
18 # Sponsored in part by the Defense Advanced Research Projects
19 # Agency (DARPA) and Air Force Research Laboratory, Air Force
20 # Materiel Command, USAF, under agreement number F39502-99-1-0512.
21 #
22 # @configure_input@
23 #
24
25 #### Start of system configuration section. ####
26
27 srcdir = @srcdir@
28 devdir = @devdir@
29 authdir = $(srcdir)/auth
30 top_builddir = .
31
32 # Compiler & tools to use
33 CC = @CC@
34 FLEX = @FLEX@
35 YACC = @YACC@
36 NROFF = @NROFFPROG@ -Tascii
37 LIBTOOL = @LIBTOOL@
38 AR=@AR@
39 RANLIB=@RANLIB@
40
41 # Our install program supports extra flags...
42 INSTALL = $(SHELL) $(srcdir)/install-sh -c
43
44 # Libraries
45 LIBS = @LIBS@
46 NET_LIBS = @NET_LIBS@
47 SUDO_LIBS = @SUDO_LIBS@ @AFS_LIBS@ @GETGROUPS_LIB@ $(LIBS) $(NET_LIBS)
48
49 # C preprocessor flags
50 CPPFLAGS = -I. -I$(srcdir) @CPPFLAGS@
51
52 # Usually -O and/or -g
53 CFLAGS = @CFLAGS@
54
55 # Flags to pass to the link stage
56 LDFLAGS = -L. @LDFLAGS@
57 SUDO_LDFLAGS = @SUDO_LDFLAGS@ $(LDFLAGS)
58
59 # Where to install things...
60 prefix = @prefix@
61 exec_prefix = @exec_prefix@
62 bindir = @bindir@
63 sbindir = @sbindir@
64 sysconfdir = @sysconfdir@
65 libexecdir = @libexecdir@
66 datarootdir = @datarootdir@
67 docdir = @docdir@
68 mandir = @mandir@
69 timedir = @timedir@
70 noexecfile = @NOEXECFILE@
71 noexecdir = @NOEXECDIR@
72
73 # Directory in which to install sudo.
74 sudodir = $(bindir)
75
76 # Directory in which to install visudo
77 visudodir = $(sbindir)
78
79 # Directory in which to install the sudoers file
80 sudoersdir = $(sysconfdir)
81
82 # Directory in which to install the man page
83 mantype = @MANTYPE@
84 mansectsu = @mansectsu@
85 mansectform = @mansectform@
86 mandirsu = $(mandir)/$(mantype)$(mansectsu)
87 mandirform = $(mandir)/$(mantype)$(mansectform)
88
89 # User and group ids the installed files should be "owned" by
90 install_uid = 0
91 install_gid = 0
92
93 # User, group, and mode the sudoers file should be "owned" by (configure)
94 sudoers_uid = @SUDOERS_UID@
95 sudoers_gid = @SUDOERS_GID@
96 sudoers_mode = @SUDOERS_MODE@
97
98 # Pass in paths and uid/gid + OS dependent defined
99 DEFS = @OSDEFS@ -D_PATH_SUDOERS=\"$(sudoersdir)/sudoers\" -DSUDOERS_UID=$(sudoers_uid) -DSUDOERS_GID=$(sudoers_gid) -DSUDOERS_MODE=$(sudoers_mode)
100
101 #### End of system configuration section. ####
102
103 SHELL = @SHELL@
104
105 PROGS = @PROGS@
106
107 SRCS = aix.c alias.c alloc.c audit.c boottime.c bsm_audit.c check.c \
108        closefrom.c def_data.c defaults.c env.c error.c exec.c exec_pty.c \
109        fileops.c find_path.c fnmatch.c get_pty.c getcwd.c getprogname.c \
110        getspwuid.c gettime.c glob.c goodpath.c gram.c gram.y interfaces.c \
111        iolog.c isblank.c lbuf.c ldap.c linux_audit.c list.c logging.c match.c \
112        mksiglist.c mkstemps.c memrchr.c nanosleep.c parse.c parse_args.c \
113        pwutil.c set_perms.c setsid.c sigaction.c snprintf.c strcasecmp.c \
114        strerror.c strlcat.c strlcpy.c strsignal.c sudo.c sudo_noexec.c \
115        sudo_edit.c sudo_nss.c term.c testsudoers.c tgetpass.c toke.c toke.l \
116        tsgetgrpw.c utimes.c vasgroups.c visudo.c zero_bytes.c redblack.c \
117        selinux.c sesh.c sudoreplay.c getdate.c getdate.y getline.c \
118        timestr.c $(AUTH_SRCS)
119
120 AUTH_SRCS = auth/afs.c auth/aix_auth.c auth/bsdauth.c auth/dce.c auth/fwtk.c \
121             auth/kerb4.c auth/kerb5.c auth/pam.c auth/passwd.c auth/rfc1938.c \
122             auth/secureware.c auth/securid.c auth/securid5.c auth/sia.c \
123             auth/sudo_auth.c
124
125 HDRS = alloc.h bsm_audit.h compat.h def_data.h defaults.h error.h ins_2001.h \
126        ins_classic.h ins_csops.h ins_goons.h insults.h interfaces.h lbuf.h \
127        linux_audit.h list.h logging.h missing.h mksiglist.h nonunix.h \
128        redblack.h parse.h sudo.h sudo_exec.h sudo_nss.h gram.h \
129        auth/sudo_auth.h emul/charclass.h emul/fnmatch.h emul/glob.h \
130        emul/timespec.h emul/utime.h
131
132 AUTH_OBJS = sudo_auth.o @AUTH_OBJS@
133
134 COMMON_OBJS = alias.o alloc.o defaults.o error.o gram.o \
135               list.o match.o pwutil.o timestr.o toke.o redblack.o \
136               term.o zero_bytes.o @COMMON_OBJS@
137
138 SUDO_OBJS = $(AUTH_OBJS) @SUDO_OBJS@ audit.o boottime.o check.o env.o \
139             exec.o getspwuid.o gettime.o goodpath.o fileops.o find_path.o \
140             interfaces.o lbuf.o logging.o parse.o parse_args.o set_perms.o \
141             sudo.o sudo_edit.o sudo_nss.o tgetpass.o
142
143 VISUDO_OBJS = visudo.o fileops.o gettime.o goodpath.o find_path.o
144
145 REPLAY_OBJS = getdate.o sudoreplay.o
146
147 TEST_OBJS = interfaces.o testsudoers.o tsgetgrpw.o
148
149 LIB_OBJS = @LIBOBJS@
150
151 VERSION = @PACKAGE_VERSION@
152 PACKAGE_TARNAME = @PACKAGE_TARNAME@
153
154 DISTFILES = $(SRCS) $(HDRS) ChangeLog HISTORY INSTALL INSTALL.configure \
155             LICENSE Makefile.in NEWS PORTING README README.LDAP \
156             TROUBLESHOOTING UPGRADE aclocal.m4 aixcrypt.exp config.guess \
157             config.h.in config.sub configure configure.in def_data.in \
158             indent.pro install-sh ltmain.sh m4 mkdefaults mkinstalldirs \
159             mkpkg pathnames.h.in pp sample.pam sample.syslog.conf \
160             sample.sudoers schema.ActiveDirectory schema.OpenLDAP \
161             schema.iPlanet siglist.in sudo.cat sudo.man.in sudo.pod sudo.pp \
162             sudo_usage.h.in sudoers.in sudoers.cat sudoers.man.in sudoers.pod \
163             sudoers.ldap.cat sudoers.ldap.man.in sudoers.ldap.pod \
164             sudoers2ldif sudoreplay.cat sudoreplay.man.in sudoreplay.pod \
165             visudo.cat visudo.man.in visudo.pod auth/API sudo.man.pl \
166             sudoers.man.pl
167
168 SUDODEP = $(srcdir)/sudo.h $(srcdir)/alloc.h $(srcdir)/compat.h \
169           $(srcdir)/defaults.h $(srcdir)/error.h $(srcdir)/list.h \
170           $(srcdir)/logging.h $(srcdir)/missing.h $(srcdir)/sudo_nss.h \
171           $(devdir)/def_data.h pathnames.h config.h
172
173 AUTHDEP = $(SUDODEP) $(authdir)/sudo_auth.h
174
175 INSDEP = $(srcdir)/ins_2001.h $(srcdir)/ins_classic.h $(srcdir)/ins_csops.h \
176          $(srcdir)/ins_goons.h $(srcdir)/insults.h
177
178 all: $(PROGS)
179
180 .SUFFIXES: .o .c .h .l .y .lo
181
182 .c.o:
183         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $<
184
185 .c.lo:
186         $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $<
187
188 libsudo.a: $(LIB_OBJS) $(COMMON_OBJS)
189         $(AR) rv $@ $(LIB_OBJS) $(COMMON_OBJS)
190         $(RANLIB) $@
191
192 sudo: libsudo.a $(SUDO_OBJS)
193         $(CC) -o $@ $(SUDO_OBJS) $(SUDO_LDFLAGS) -lsudo $(SUDO_LIBS) @ZLIB@
194
195 visudo: libsudo.a $(VISUDO_OBJS)
196         $(CC) -o $@ $(VISUDO_OBJS) $(LDFLAGS) -lsudo $(LIBS) $(NET_LIBS)
197
198 sudoreplay: libsudo.a $(REPLAY_OBJS)
199         $(CC) -o $@ $(REPLAY_OBJS) $(LDFLAGS) -lsudo $(LIBS) @ZLIB@
200
201 testsudoers: $(TEST_OBJS)
202         $(CC) -o $@ $(TEST_OBJS) $(LDFLAGS) -lsudo $(LIBS) $(NET_LIBS)
203
204 sudo_noexec.lo: $(srcdir)/sudo_noexec.c
205         $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/sudo_noexec.c
206
207 libsudo_noexec.la: sudo_noexec.lo
208         $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ sudo_noexec.lo -avoid-version -rpath $(noexecdir)
209
210 # Uncomment the following if you want "make distclean" to clean the parser
211 @DEV@GENERATED = gram.h gram.c toke.c def_data.c def_data.h getdate
212
213 # Uncomment the lines before -@true if you intend to modify gram.y
214 $(devdir)/gram.c $(devdir)/gram.h: $(srcdir)/gram.y
215 @DEV@   $(YACC) -d $(srcdir)/gram.y
216 @DEV@   mv -f y.tab.c gram.c
217 @DEV@   if cmp -s y.tab.h gram.h; then rm -f y.tab.h; else mv -f y.tab.h gram.h; fi
218         -@true
219
220 # Uncomment the lines before -@true if you intend to modify toke.l
221 $(devdir)/toke.c: $(srcdir)/toke.l
222 @DEV@   $(FLEX) $(srcdir)/toke.l
223 @DEV@   mv -f lex.yy.c toke.c
224         -@true
225
226 # Uncomment the lines before -@true if you intend to modify getdate.y
227 $(devdir)/getdate.c: $(srcdir)/getdate.y
228 @DEV@   echo "expect 10 shift/reduce conflicts"
229 @DEV@   $(YACC) $(srcdir)/getdate.y
230 @DEV@   mv -f y.tab.c getdate.c
231         -@true
232
233 # Uncomment the following if you intend to modify def_data.in
234 @DEV@$(devdir)/def_data.h $(devdir)/def_data.c: $(srcdir)/def_data.in
235 @DEV@   perl $(srcdir)/mkdefaults -o def_data $(srcdir)/def_data.in
236
237 siglist.c: mksiglist
238         ./mksiglist > $@
239
240 mksiglist: $(srcdir)/mksiglist.c $(srcdir)/mksiglist.h $(srcdir)/compat.h $(top_builddir)/config.h
241         $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/mksiglist.c -o $@
242
243 @DEV@$(srcdir)/mksiglist.h: $(srcdir)/siglist.in
244 @DEV@   awk 'BEGIN {print "/* public domain */\n"} /^    [A-Z]/ {printf("#ifdef SIG%s\n    if (my_sys_siglist[SIG%s] == NULL)\n\tmy_sys_siglist[SIG%s] = \"%s\";\n#endif\n", $$1, $$1, $$1, substr($$0, 13))}' < $(srcdir)/siglist.in > $@
245
246 # Dependencies (not counting auth functions)
247 aix.o: $(srcdir)/aix.c
248         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/aix.c
249 alias.o: $(srcdir)/alias.c $(SUDODEP) $(srcdir)/parse.h $(srcdir)/list.h $(srcdir)/redblack.h
250         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/alias.c
251 alloc.o: $(srcdir)/alloc.c $(SUDODEP)
252         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/alloc.c
253 audit.o: $(srcdir)/audit.c $(SUDODEP) $(srcdir)/bsm_audit.h $(srcdir)/linux_audit.h
254         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/audit.c
255 boottime.o: $(srcdir)/boottime.c config.h
256         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/boottime.c
257 bsm_audit.o: $(srcdir)/bsm_audit.c $(SUDODEP) $(srcdir)/bsm_audit.h
258         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/bsm_audit.c
259 check.o: $(srcdir)/check.c $(SUDODEP)
260         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/check.c
261 closefrom.o: $(srcdir)/closefrom.c config.h
262         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/closefrom.c
263 defaults.o: $(srcdir)/defaults.c $(SUDODEP) $(srcdir)/def_data.c $(authdir)/sudo_auth.h $(devdir)/gram.h
264         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/defaults.c
265 env.o: $(srcdir)/env.c $(SUDODEP)
266         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/env.c
267 error.o: $(srcdir)/error.c $(srcdir)/compat.h $(srcdir)/error.h config.h
268         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/error.c
269 exec.o: $(srcdir)/exec.c $(SUDODEP) $(srcdir)/sudo_exec.h
270         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/exec.c
271 exec_pty.o: $(srcdir)/exec.c $(SUDODEP) $(srcdir)/sudo_exec.h
272         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/exec_pty.c
273 fileops.o: $(srcdir)/fileops.c $(SUDODEP)
274         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/fileops.c
275 find_path.o: $(srcdir)/find_path.c $(SUDODEP)
276         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/find_path.c
277 fnmatch.o: $(srcdir)/fnmatch.c $(srcdir)/emul/fnmatch.h $(srcdir)/compat.h config.h
278         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/fnmatch.c
279 get_pty.o: $(srcdir)/get_pty.c $(SUDODEP)
280         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/get_pty.c
281 getcwd.o: $(srcdir)/getcwd.c $(srcdir)/compat.h config.h
282         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/getcwd.c
283 getdate.o: $(srcdir)/getdate.c $(srcdir)/compat.h config.h
284         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/getdate.c
285 getline.o: $(srcdir)/getline.c config.h
286         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/getline.c
287 getprogname.o: $(srcdir)/getprogname.c config.h
288         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/getprogname.c
289 getspwuid.o: $(srcdir)/getspwuid.c $(SUDODEP)
290         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/getspwuid.c
291 gettime.o: $(srcdir)/gettime.c $(SUDODEP)
292         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/gettime.c
293 glob.o: $(srcdir)/glob.c $(srcdir)/emul/glob.h $(srcdir)/compat.h config.h
294         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/glob.c
295 goodpath.o: $(srcdir)/goodpath.c $(SUDODEP)
296         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/goodpath.c
297 gram.o: $(devdir)/gram.c $(SUDODEP) $(srcdir)/parse.h $(srcdir)/list.h $(devdir)/gram.h
298         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(devdir)/gram.c
299 interfaces.o: $(srcdir)/interfaces.c $(SUDODEP) $(srcdir)/interfaces.h
300         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/interfaces.c
301 iolog.o: $(srcdir)/iolog.c $(SUDODEP)
302         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/iolog.c
303 isblank.o: $(srcdir)/isblank.c $(srcdir)/compat.h config.h
304         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/isblank.c
305 lbuf.o: $(srcdir)/lbuf.c $(SUDODEP)
306         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/lbuf.c
307 ldap.o: $(srcdir)/ldap.c $(SUDODEP) $(srcdir)/parse.h $(srcdir)/list.h
308         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/ldap.c
309 linux_audit.o: $(srcdir)/linux_audit.c $(SUDODEP) $(srcdir)/linux_audit.h
310         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/linux_audit.c
311 list.o: $(srcdir)/list.c $(SUDODEP)
312         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/list.c
313 logging.o: $(srcdir)/logging.c $(SUDODEP)
314         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/logging.c
315 match.o: $(srcdir)/match.c $(SUDODEP) $(srcdir)/parse.h $(srcdir)/list.h $(srcdir)/interfaces.h $(devdir)/gram.h
316         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/match.c
317 memrchr.o: $(srcdir)/memrchr.c $(SUDODEP)
318         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/memrchr.c
319 mkstemps.o: $(srcdir)/mkstemps.c $(SUDODEP)
320         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/mkstemps.c
321 nanosleep.o: $(srcdir)/nanosleep.c $(srcdir)/compat.h config.h
322         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/nanosleep.c
323 parse.o: $(srcdir)/parse.c $(SUDODEP) $(srcdir)/parse.h $(srcdir)/list.h $(devdir)/gram.h
324         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/parse.c
325 parse_args.o: $(srcdir)/parse_args.c $(SUDODEP)
326         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/parse_args.c
327 pwutil.o: $(srcdir)/pwutil.c $(SUDODEP)
328         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/pwutil.c
329 redblack.o: $(srcdir)/redblack.c $(SUDODEP) $(srcdir)/redblack.h
330         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/redblack.c
331 set_perms.o: $(srcdir)/set_perms.c $(SUDODEP)
332         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/set_perms.c
333 setsid.o: $(srcdir)/setsid.c $(srcdir)/compat.h config.h
334         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/setsid.c
335 sigaction.o: $(srcdir)/sigaction.c $(srcdir)/compat.h
336         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/sigaction.c
337 siglist.o: siglist.c $(srcdir)/compat.h config.h
338         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/siglist.c
339 snprintf.o: $(srcdir)/snprintf.c $(srcdir)/compat.h config.h
340         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/snprintf.c
341 strcasecmp.o: $(srcdir)/strcasecmp.c $(srcdir)/compat.h  config.h
342         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/strcasecmp.c
343 strerror.o: $(srcdir)/strerror.c $(srcdir)/compat.h config.h
344         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/strerror.c
345 strlcat.o: $(srcdir)/strlcat.c $(srcdir)/compat.h config.h
346         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/strlcat.c
347 strlcpy.o: $(srcdir)/strlcpy.c $(srcdir)/compat.h config.h
348         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/strlcpy.c
349 strsignal.o: $(srcdir)/strsignal.c $(srcdir)/compat.h config.h
350         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/strsignal.c
351 selinux.o: $(srcdir)/selinux.c $(SUDODEP)
352         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/selinux.c
353 sudo.o: $(srcdir)/sudo.c $(SUDODEP) sudo_usage.h $(srcdir)/interfaces.h
354         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/sudo.c
355 sudoreplay.o: $(srcdir)/sudoreplay.c $(srcdir)/alloc.h $(srcdir)/compat.h $(srcdir)/error.h $(srcdir)/missing.h config.h
356         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/sudoreplay.c
357 sudo_edit.o: $(srcdir)/sudo_edit.c $(SUDODEP)
358         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/sudo_edit.c
359 sudo_noexec.o: $(srcdir)/sudo_noexec.c $(srcdir)/compat.h config.h
360         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/sudo_noexec.c
361 sudo_nss.o: $(srcdir)/sudo_nss.c $(SUDODEP)
362         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/sudo_nss.c
363 term.o: $(srcdir)/term.c $(SUDODEP)
364         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/term.c
365 testsudoers.o: $(srcdir)/testsudoers.c $(SUDODEP) $(srcdir)/parse.h $(srcdir)/list.h $(srcdir)/interfaces.h $(devdir)/gram.h
366         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/testsudoers.c
367 tgetpass.o: $(srcdir)/tgetpass.c $(SUDODEP)
368         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/tgetpass.c
369 timestr.o: $(srcdir)/timestr.c $(srcdir)/compat.h config.h
370         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/timestr.c
371 toke.o: $(devdir)/toke.c $(SUDODEP) $(srcdir)/parse.h $(srcdir)/list.h $(devdir)/gram.h
372         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(devdir)/toke.c
373 tsgetgrpw.o: $(srcdir)/tsgetgrpw.c $(SUDODEP)
374         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/tsgetgrpw.c
375 utimes.o: $(srcdir)/utimes.c $(srcdir)/compat.h $(srcdir)/emul/utime.h config.h
376         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/utimes.c
377 vasgroups.o: $(srcdir)/vasgroups.c $(srcdir)/nonunix.h $(SUDODEP)
378         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/vasgroups.c
379 visudo.o: $(srcdir)/visudo.c $(SUDODEP) $(devdir)/gram.h
380         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/visudo.c
381 zero_bytes.o: $(srcdir)/zero_bytes.c $(srcdir)/compat.h config.h
382         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/zero_bytes.c
383 sudo_auth.o: $(authdir)/sudo_auth.c $(AUTHDEP) $(INSDEP)
384         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/sudo_auth.c
385 afs.o: $(authdir)/afs.c $(AUTHDEP)
386         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/afs.c
387 aix_auth.o: $(authdir)/aix_auth.c $(AUTHDEP)
388         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/aix_auth.c
389 bsdauth.o: $(authdir)/bsdauth.c $(AUTHDEP)
390         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/bsdauth.c
391 dce.o: $(authdir)/dce.c $(AUTHDEP)
392         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/dce.c
393 fwtk.o: $(authdir)/fwtk.c $(AUTHDEP)
394         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/fwtk.c
395 kerb4.o: $(authdir)/kerb4.c $(AUTHDEP)
396         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/kerb4.c
397 kerb5.o: $(authdir)/kerb5.c $(AUTHDEP)
398         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/kerb5.c
399 pam.o: $(authdir)/pam.c $(AUTHDEP)
400         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/pam.c
401 passwd.o: $(authdir)/passwd.c $(AUTHDEP)
402         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/passwd.c
403 rfc1938.o: $(authdir)/rfc1938.c $(AUTHDEP)
404         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/rfc1938.c
405 secureware.o: $(authdir)/secureware.c $(AUTHDEP)
406         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/secureware.c
407 securid.o: $(authdir)/securid.c $(AUTHDEP)
408         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/securid.c
409 securid5.o: $(authdir)/securid5.c $(AUTHDEP)
410         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/securid5.c
411 sia.o: $(authdir)/sia.c $(AUTHDEP)
412         $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/sia.c
413
414 @DEV@varsub: $(srcdir)/configure.in
415 @DEV@   printf 's#@%s@#1#\ns#@%s@#1#\ns#@%s@#1#\ns#@%s@#/etc#g\ns#@%s@#/usr/local#g\ns#@%s@#4#g\ns#@%s@#1m#g\n' SEMAN BAMAN LCMAN sysconfdir prefix mansectform mansectsu > $@; sed -n '/Begin initial values for man page substitution/,/End initial values for man page substitution/{;p;}' $(srcdir)/configure.in | sed -e '/^#/d' -e 's/^/s#@/' -e 's/=[\\"]*/@#/' -e 's/[\\"]*$$/#g/' >> $@
416
417 @DEV@$(srcdir)/sudo.man.in: $(srcdir)/sudo.pod
418 @DEV@   mansectsu=`echo @MANSECTSU@|tr A-Z a-z`; mansectform=`echo @MANSECTFORM@|tr A-Z a-z`; sed -n -e '/^=pod/q' -e 's/^/.\\" /p' $(srcdir)/sudo.pod > $@; pod2man --quotes=none --date="`date '+%B %e, %Y'`" --section=$$mansectsu --release=$(VERSION) --center="MAINTENANCE COMMANDS" $(srcdir)/sudo.pod | sed -e "s/(5)/($$mansectform)/" -e "s/(8)/($$mansectsu)/" | perl -p $(srcdir)/sudo.man.pl >> $@
419
420 sudo.man: $(srcdir)/sudo.man.in
421         $(SHELL) config.status --file=$@
422
423 @DEV@$(srcdir)/sudo.cat: varsub $(srcdir)/sudo.man.in
424 @DEV@   sed -f varsub $(srcdir)/sudo.man.in | $(NROFF) -man > $@
425
426 @DEV@$(srcdir)/visudo.man.in: $(srcdir)/visudo.pod
427 @DEV@   mansectsu=`echo @MANSECTSU@|tr A-Z a-z`; mansectform=`echo @MANSECTFORM@|tr A-Z a-z`; sed -n -e '/^=pod/q' -e 's/^/.\\" /p' $(srcdir)/visudo.pod > $@; pod2man --quotes=none --date="`date '+%B %e, %Y'`" --section=$$mansectsu --release=$(VERSION) --center="MAINTENANCE COMMANDS" $(srcdir)/visudo.pod | sed -e "s/(5)/($$mansectform)/" -e "s/(8)/($$mansectsu)/" -e 's|\\fI\\f\((CW*\)*I@\([^@]*\)\\fI@|\\fI@\2@|g' >> $@
428
429 visudo.man: $(srcdir)/visudo.man.in
430         $(SHELL) config.status --file=$@
431
432 @DEV@$(srcdir)/visudo.cat: varsub $(srcdir)/visudo.man.in
433 @DEV@   sed -f varsub $(srcdir)/visudo.man.in | $(NROFF) -man > $@
434
435 @DEV@$(srcdir)/sudoers.man.in: $(srcdir)/sudoers.pod
436 @DEV@   mansectsu=`echo @MANSECTSU@|tr A-Z a-z`; mansectform=`echo @MANSECTFORM@|tr A-Z a-z`; sed -n -e '/^=pod/q' -e 's/^/.\\" /p' $(srcdir)/sudoers.pod > $@; pod2man --quotes=none --date="`date '+%B %e, %Y'`" --section=$$mansectform --release=$(VERSION) --center="MAINTENANCE COMMANDS" $(srcdir)/sudoers.pod | sed -e "s/(5)/($$mansectform)/" -e "s/(8)/($$mansectsu)/" | perl -p $(srcdir)/sudoers.man.pl >> $@
437
438 sudoers.man: $(srcdir)/sudoers.man.in
439         $(SHELL) config.status --file=$@
440
441 @DEV@$(srcdir)/sudoers.cat: varsub $(srcdir)/sudoers.man.in
442 @DEV@   sed -f varsub $(srcdir)/sudoers.man.in | $(NROFF) -man > $@
443
444 @DEV@$(srcdir)/sudoers.ldap.man.in: $(srcdir)/sudoers.ldap.pod
445 @DEV@   mansectsu=`echo @MANSECTSU@|tr A-Z a-z`; mansectform=`echo @MANSECTFORM@|tr A-Z a-z`; sed -n -e '/^=pod/q' -e 's/^/.\\" /p' $(srcdir)/sudoers.ldap.pod > $@; pod2man --quotes=none --date="`date '+%B %e, %Y'`" --section=$$mansectform --release=$(VERSION) --center="MAINTENANCE COMMANDS" $(srcdir)/sudoers.ldap.pod | sed -e "s/(5)/($$mansectform)/" -e "s/(8)/($$mansectsu)/" -e 's|\\fI\\f\((CW*\)*I@\([^@]*\)\\fI@|\\fI@\2@|g' >> $@
446
447 sudoers.ldap.man: $(srcdir)/sudoers.ldap.man.in
448         $(SHELL) config.status --file=$@
449
450 @DEV@$(srcdir)/sudoers.ldap.cat: varsub $(srcdir)/sudoers.ldap.man.in
451 @DEV@   sed -f varsub $(srcdir)/sudoers.ldap.man.in | $(NROFF) -man > $@
452
453 @DEV@$(srcdir)/sudoreplay.man.in: $(srcdir)/sudoreplay.pod
454 @DEV@   mansectsu=`echo @MANSECTSU@|tr A-Z a-z`; mansectform=`echo @MANSECTFORM@|tr A-Z a-z`; sed -n -e '/^=pod/q' -e 's/^/.\\" /p' $(srcdir)/sudoreplay.pod > $@; pod2man --quotes=none --date="`date '+%B %e, %Y'`" --section=$$mansectsu --release=$(VERSION) --center="MAINTENANCE COMMANDS" $(srcdir)/sudoreplay.pod | sed -e "s/(5)/($$mansectform)/" -e "s/(8)/($$mansectsu)/" -e 's|\\fI\\f\((CW*\)*I@\([^@]*\)\\fI@|\\fI@\2@|g' >> $@
455
456 sudoreplay.man: $(srcdir)/sudoreplay.man.in
457         $(SHELL) config.status --file=$@
458
459 @DEV@$(srcdir)/sudoreplay.cat: varsub $(srcdir)/sudoreplay.man.in
460 @DEV@   sed -f varsub $(srcdir)/sudoreplay.man.in | $(NROFF) -man > $@
461
462 @DEV@HISTORY: $(srcdir)/history.pod
463 @DEV@   pod2text -l -i0 $(srcdir)/history.pod > $@
464 @DEV@
465 @DEV@LICENSE: $(srcdir)/license.pod
466 @DEV@   pod2text -l -i0 $(srcdir)/license.pod | sed '1,2d' > $@
467
468 sudoers: $(srcdir)/sudoers.in
469         (cd $(top_builddir) && $(SHELL) config.status --file=plugins/sudoers/$@)
470
471 # The 1.7 branch started Jan 18, 2010
472 ChangeLog:
473         if test -d $(srcdir)/.hg; then \
474             hg log --style=changelog -b 1.7 > $@; \
475             hg log --style=changelog -b default --date '<2010-01-18 00:00:00' >> $@; \
476         fi
477
478 install: install-dirs install-binaries @INSTALL_NOEXEC@ install-sudoers install-doc
479
480 install-dirs:
481         $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(sudodir) \
482             $(DESTDIR)$(visudodir) $(DESTDIR)$(noexecdir) \
483             $(DESTDIR)$(sudoersdir) $(DESTDIR)$(docdir) \
484             $(DESTDIR)$(mandirsu) $(DESTDIR)$(mandirform)
485         $(SHELL) $(srcdir)/mkinstalldirs -m 0700 $(DESTDIR)$(timedir)
486
487 install-binaries: install-dirs $(PROGS)
488         $(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -M 04111 sudo $(DESTDIR)$(sudodir)/sudo
489         rm -f $(DESTDIR)$(sudodir)/sudoedit
490         ln $(DESTDIR)$(sudodir)/sudo $(DESTDIR)$(sudodir)/sudoedit
491         if [ -f sudoreplay ]; then $(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -M 0111 sudoreplay $(DESTDIR)$(sudodir)/sudoreplay; fi
492         $(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -M 0111 visudo $(DESTDIR)$(visudodir)/visudo
493         if [ -f sesh ]; then $(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -M 0111 sesh $(DESTDIR)$(libexecdir)/sesh; fi
494
495 install-noexec: install-dirs libsudo_noexec.la
496         if [ -f .libs/lib$(noexecfile) ]; then $(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -M 0755 .libs/lib$(noexecfile) $(DESTDIR)$(noexecdir)/$(noexecfile); fi
497
498 install-sudoers: install-dirs
499         $(INSTALL) -d -O $(sudoers_uid) -G $(sudoers_gid) -M 0750 \
500             $(DESTDIR)$(sudoersdir)/sudoers.d
501         test -f $(DESTDIR)$(sudoersdir)/sudoers || \
502             $(INSTALL) -O $(sudoers_uid) -G $(sudoers_gid) -M $(sudoers_mode) \
503                 sudoers $(DESTDIR)$(sudoersdir)/sudoers
504
505 install-doc: install-dirs ChangeLog
506         (cd $(srcdir) && for f in ChangeLog HISTORY LICENSE NEWS README TROUBLESHOOTING UPGRADE sample.*; do $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 $$f $(DESTDIR)$(docdir); done)
507         @LDAP@(cd $(srcdir) && for f in README.LDAP schema.* sudoers2ldif; do $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 $$f $(DESTDIR)$(docdir); done)
508         $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/sudo.$(mantype) $(DESTDIR)$(mandirsu)/sudo.$(mansectsu)
509         @rm -f $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
510         ln $(DESTDIR)$(mandirsu)/sudo.$(mansectsu) $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
511         @REPLAY@$(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/sudoreplay.$(mantype) $(DESTDIR)$(mandirsu)/sudoreplay.$(mansectsu)
512         $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/visudo.$(mantype) $(DESTDIR)$(mandirsu)/visudo.$(mansectsu)
513         $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/sudoers.$(mantype) $(DESTDIR)$(mandirform)/sudoers.$(mansectform)
514         @LDAP@$(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/sudoers.ldap.$(mantype) $(DESTDIR)$(mandirform)/sudoers.ldap.$(mansectform)
515 @MAN_POSTINSTALL@
516
517 check:
518         @echo nothing to check
519
520 clean:
521         -rm -f *.a *.o *.lo stamp-* varsub $(PROGS) testsudoers core *.core core.*
522
523 mostlyclean: clean
524
525 distclean: clean
526         -rm -rf Makefile pathnames.h config.h config.status config.cache \
527                 config.log libtool sudoers sudo_noexec.lo .libs $(GENERATED) \
528                 sudo.man sudoers.man sudoers.ldap.man sudoreplay.man \
529                 visudo.man sudo_usage.h Makefile.binary
530
531 clobber: distclean
532
533 realclean: distclean
534         rm -f TAGS tags
535
536 cleandir: realclean
537
538 dist: ChangeLog
539         pax -w -x ustar -s '/^/$(PACKAGE_TARNAME)-$(VERSION)\//' \
540             -f ../$(PACKAGE_TARNAME)-$(VERSION).tar $(DISTFILES)
541         gzip -9f ../$(PACKAGE_TARNAME)-$(VERSION).tar
542         ls -l ../$(PACKAGE_TARNAME)-$(VERSION).tar.gz
543
544 package: sudo.pp
545         DESTDIR=`cd $(top_builddir) && pwd`/destdir; rm -rf $$DESTDIR; \
546         $(MAKE) install DESTDIR=$$DESTDIR && \
547         $(SHELL) $(srcdir)/pp $(PPFLAGS) \
548             --destdir=$$DESTDIR \
549             $(srcdir)/sudo.pp \
550             bindir=$(bindir) \
551             sbindir=$(sbindir) \
552             libexecdir=$(libexecdir) \
553             timedir=$(timedir) \
554             mandir=$(mandir) \
555             docdir=$(docdir) \
556             sysconfdir=$(sysconfdir) \
557             sudoersdir=$(sudoersdir) \
558             sudoers_uid=$(sudoers_uid) \
559             sudoers_gid=$(sudoers_gid) \
560             sudoers_mode=$(sudoers_mode) \
561             version=$(VERSION) $(PPVARS)
562
563 .PHONY: ChangeLog