2
# Copyright (c) 2011 Todd C. Miller <Todd.Miller@courtesan.com>
4
# Permission to use, copy, modify, and distribute this software for any
5
# purpose with or without fee is hereby granted, provided that the above
6
# copyright notice and this permission notice appear in all copies.
8
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
20
#### Start of system configuration section. ####
24
top_builddir = @top_builddir@
25
top_srcdir = @top_srcdir@
26
incdir = $(top_srcdir)/include
28
# Compiler & tools to use
30
LIBTOOL = @LIBTOOL@ @LT_STATIC@
32
# Our install program supports extra flags...
33
INSTALL = $(SHELL) $(top_srcdir)/install-sh -c
36
LT_LIBS = $(top_builddir)/common/libcommon.la $(LIBOBJDIR)libreplace.la
37
LIBS = @LIBS@ @SUDO_LIBS@ @GETGROUPS_LIB@ @NET_LIBS@ @LIBINTL@ $(LT_LIBS)
39
# C preprocessor flags
40
CPPFLAGS = -I$(incdir) -I$(top_builddir) -I$(srcdir) -I$(top_srcdir) -I. @CPPFLAGS@
42
# Usually -O and/or -g
45
# Flags to pass to the link stage
47
LTLDFLAGS = @LTLDFLAGS@
49
# Where to install things...
51
exec_prefix = @exec_prefix@
54
sysconfdir = @sysconfdir@
55
libexecdir = @libexecdir@
56
datarootdir = @datarootdir@
57
localedir = @localedir@
58
localstatedir = @localstatedir@
59
noexecfile = @NOEXECFILE@
60
noexecdir = @NOEXECDIR@
62
# User and group ids the installed files should be "owned" by
66
# OS dependent defines
67
DEFS = @OSDEFS@ -D_PATH_SUDO_CONF=\"$(sysconfdir)/sudo.conf\" \
68
-DLOCALEDIR=\"$(localedir)\"
70
#### End of system configuration section. ####
76
OBJS = conversation.o error.o exec.o exec_pty.o get_pty.o net_ifs.o \
77
load_plugins.o parse_args.o sudo.o sudo_edit.o tgetpass.o \
78
ttysize.o utmp.o @SUDO_OBJS@
80
LIBOBJDIR = $(top_builddir)/@ac_config_libobj_dir@/
82
VERSION = @PACKAGE_VERSION@
86
Makefile: $(srcdir)/Makefile.in
87
(cd $(top_builddir) && ./config.status --file src/Makefile)
89
.SUFFIXES: .c .h .lo .o
92
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $<
95
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $<
97
sudo: $(OBJS) $(LT_LIBS)
98
$(LIBTOOL) --mode=link $(CC) -o $@ $(OBJS) $(LDFLAGS) $(LIBS) -static-libtool-libs
100
libsudo_noexec.la: sudo_noexec.lo
101
$(LIBTOOL) --mode=link $(CC) $(LDFLAGS) $(LTLDFLAGS) -o $@ sudo_noexec.lo -avoid-version -rpath $(noexecdir)
108
install: install-dirs install-binaries @INSTALL_NOEXEC@
111
$(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir) \
112
$(DESTDIR)$(noexecdir)
114
install-binaries: install-dirs $(PROGS)
115
$(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -M 04111 sudo $(DESTDIR)$(bindir)/sudo
116
rm -f $(DESTDIR)$(bindir)/sudoedit
117
ln $(DESTDIR)$(bindir)/sudo $(DESTDIR)$(bindir)/sudoedit
118
if [ -f sesh ]; then $(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -M 0111 sesh $(DESTDIR)$(libexecdir)/sesh; fi
124
# We install sudo_noexec by hand so we can avoid a "lib" prefix
125
# and a version number. Since we use LD_PRELOAD, neither is needed.
126
install-noexec: install-dirs libsudo_noexec.la
127
if [ -f .libs/lib$(noexecfile) ]; then $(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -M 0755 .libs/lib$(noexecfile) $(DESTDIR)$(noexecdir)/$(noexecfile); fi
132
-rm -f $(DESTDIR)$(bindir)/sudo $(DESTDIR)$(bindir)/sudoedit \
133
$(DESTDIR)$(libexecdir)/sesh \
134
$(DESTDIR)$(noexecdir)/$(noexecfile) \
139
-$(LIBTOOL) --mode=clean rm -f $(PROGS) *.lo *.o *.la *.a stamp-* core *.core core.*
144
-rm -rf Makefile .libs sudo_usage.h
153
# Autogenerated dependencies, do not modify
154
conversation.o: $(srcdir)/conversation.c $(top_builddir)/config.h \
155
$(srcdir)/sudo.h $(top_builddir)/pathnames.h \
156
$(incdir)/missing.h $(incdir)/alloc.h $(incdir)/error.h \
157
$(incdir)/fileops.h $(incdir)/list.h $(incdir)/gettext.h \
158
$(incdir)/sudo_plugin.h
159
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/conversation.c
160
error.o: $(srcdir)/error.c $(top_builddir)/config.h $(incdir)/missing.h \
161
$(incdir)/error.h $(incdir)/gettext.h
162
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/error.c
163
exec.o: $(srcdir)/exec.c $(top_builddir)/config.h $(srcdir)/sudo.h \
164
$(top_builddir)/pathnames.h $(incdir)/missing.h $(incdir)/alloc.h \
165
$(incdir)/error.h $(incdir)/fileops.h $(incdir)/list.h \
166
$(incdir)/gettext.h $(srcdir)/sudo_exec.h $(incdir)/sudo_plugin.h \
167
$(srcdir)/sudo_plugin_int.h
168
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/exec.c
169
exec_pty.o: $(srcdir)/exec_pty.c $(top_builddir)/config.h $(srcdir)/sudo.h \
170
$(top_builddir)/pathnames.h $(incdir)/missing.h $(incdir)/alloc.h \
171
$(incdir)/error.h $(incdir)/fileops.h $(incdir)/list.h \
172
$(incdir)/gettext.h $(srcdir)/sudo_exec.h $(incdir)/sudo_plugin.h \
173
$(srcdir)/sudo_plugin_int.h
174
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/exec_pty.c
175
get_pty.o: $(srcdir)/get_pty.c $(top_builddir)/config.h $(srcdir)/sudo.h \
176
$(top_builddir)/pathnames.h $(incdir)/missing.h $(incdir)/alloc.h \
177
$(incdir)/error.h $(incdir)/fileops.h $(incdir)/list.h \
179
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/get_pty.c
180
load_plugins.o: $(srcdir)/load_plugins.c $(top_builddir)/config.h \
181
$(top_srcdir)/compat/dlfcn.h $(srcdir)/sudo.h \
182
$(top_builddir)/pathnames.h $(incdir)/missing.h \
183
$(incdir)/alloc.h $(incdir)/error.h $(incdir)/fileops.h \
184
$(incdir)/list.h $(incdir)/gettext.h $(incdir)/sudo_plugin.h \
185
$(srcdir)/sudo_plugin_int.h
186
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/load_plugins.c
187
net_ifs.o: $(srcdir)/net_ifs.c $(top_builddir)/config.h $(incdir)/missing.h \
188
$(incdir)/alloc.h $(incdir)/error.h $(incdir)/gettext.h
189
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/net_ifs.c
190
parse_args.o: $(srcdir)/parse_args.c $(top_builddir)/config.h ./sudo_usage.h \
191
$(srcdir)/sudo.h $(top_builddir)/pathnames.h $(incdir)/missing.h \
192
$(incdir)/alloc.h $(incdir)/error.h $(incdir)/fileops.h \
193
$(incdir)/list.h $(incdir)/gettext.h $(incdir)/lbuf.h
194
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/parse_args.c
195
preload.o: $(srcdir)/preload.c $(top_builddir)/config.h $(incdir)/sudo_plugin.h
196
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/preload.c
197
selinux.o: $(srcdir)/selinux.c $(top_builddir)/config.h $(srcdir)/sudo.h \
198
$(top_builddir)/pathnames.h $(incdir)/missing.h $(incdir)/alloc.h \
199
$(incdir)/error.h $(incdir)/fileops.h $(incdir)/list.h \
201
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/selinux.c
202
sesh.o: $(srcdir)/sesh.c $(top_builddir)/config.h $(incdir)/missing.h \
204
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/sesh.c
205
sudo.o: $(srcdir)/sudo.c $(top_builddir)/config.h $(srcdir)/sudo.h \
206
$(top_builddir)/pathnames.h $(incdir)/missing.h $(incdir)/alloc.h \
207
$(incdir)/error.h $(incdir)/fileops.h $(incdir)/list.h \
208
$(incdir)/gettext.h $(incdir)/sudo_plugin.h \
209
$(srcdir)/sudo_plugin_int.h ./sudo_usage.h
210
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/sudo.c
211
sudo_edit.o: $(srcdir)/sudo_edit.c $(top_builddir)/config.h $(srcdir)/sudo.h \
212
$(top_builddir)/pathnames.h $(incdir)/missing.h $(incdir)/alloc.h \
213
$(incdir)/error.h $(incdir)/fileops.h $(incdir)/list.h \
215
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/sudo_edit.c
216
sudo_noexec.lo: $(srcdir)/sudo_noexec.c $(top_builddir)/config.h \
218
$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/sudo_noexec.c
219
tgetpass.o: $(srcdir)/tgetpass.c $(top_builddir)/config.h $(srcdir)/sudo.h \
220
$(top_builddir)/pathnames.h $(incdir)/missing.h $(incdir)/alloc.h \
221
$(incdir)/error.h $(incdir)/fileops.h $(incdir)/list.h \
223
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/tgetpass.c
224
ttysize.o: $(srcdir)/ttysize.c $(top_builddir)/config.h $(incdir)/missing.h
225
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/ttysize.c
226
utmp.o: $(srcdir)/utmp.c $(top_builddir)/config.h $(srcdir)/sudo.h \
227
$(top_builddir)/pathnames.h $(incdir)/missing.h $(incdir)/alloc.h \
228
$(incdir)/error.h $(incdir)/fileops.h $(incdir)/list.h \
229
$(incdir)/gettext.h $(srcdir)/sudo_exec.h
230
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/utmp.c