# For out of tree builds
VPATH = $(devdir):$(srcdir):$(srcdir)/auth
-LN_S = @LN_S@
# Compiler & tools to use
CC = @CC@
INSTALL = $(SHELL) $(top_srcdir)/install-sh -c
# Libraries
-LIBS = $(top_builddir)/@ac_config_libobj_dir@/libreplace.la
+LIBS = $(top_builddir)/@ac_config_libobj_dir@/libreplace.la $(top_builddir)/common/libcommon.la
NET_LIBS = @NET_LIBS@
SUDOERS_LIBS = @SUDOERS_LIBS@ @AFS_LIBS@ @GETGROUPS_LIB@ $(LIBS) $(NET_LIBS) @ZLIB@
REPLAY_LIBS = @REPLAY_LIBS@ @ZLIB@
AUTH_OBJS = sudo_auth.lo @AUTH_OBJS@
-LIBSUDOERS_OBJS = alias.lo alloc.lo atobool.lo audit.lo defaults.lo gram.lo \
- list.lo match.lo pwutil.lo timestr.lo toke.lo redblack.lo \
- zero_bytes.lo @NONUNIX_GROUPS_IMPL@
+LIBSUDOERS_OBJS = alias.lo audit.lo defaults.lo gram.lo \
+ match.lo pwutil.lo timestr.lo toke.lo redblack.lo \
+ @NONUNIX_GROUPS_IMPL@
-SUDOERS_OBJS = $(AUTH_OBJS) boottime.lo check.lo fmt_string.lo \
- plugin_error.lo env.lo getspwuid.lo gettime.lo \
- goodpath.lo fileops.lo find_path.lo interfaces.lo lbuf.lo \
+SUDOERS_OBJS = $(AUTH_OBJS) boottime.lo check.lo \
+ plugin_error.lo env.lo getspwuid.lo \
+ goodpath.lo find_path.lo interfaces.lo \
logging.lo parse.lo set_perms.lo sudoers.lo sudo_nss.lo \
iolog.lo @SUDOERS_OBJS@
-VISUDO_OBJS = visudo.o fileops.o gettime.o goodpath.o find_path.o error.o
+VISUDO_OBJS = visudo.o goodpath.o find_path.o error.o
-REPLAY_OBJS = getdate.o sudoreplay.o term.o error.o
+REPLAY_OBJS = getdate.o sudoreplay.o error.o
TEST_OBJS = interfaces.o testsudoers.o tsgetgrpw.o error.o
-LINKS = alloc.c atobool.c error.c gettime.c fileops.c fmt_string.c lbuf.c \
- list.c term.c zero_bytes.c
-
VERSION = @PACKAGE_VERSION@
SUDODEP = $(srcdir)/sudoers.h $(incdir)/compat.h \
.SUFFIXES: .o .c .h .l .y .lo
.c.o:
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $<
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $<
.c.lo:
- $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $<
+ $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $<
# Prevent default rules from building .c files from .l and .y files
.l.c:
$(LIBTOOL) --mode=link $(CC) -o $@ $(VISUDO_OBJS) $(LDFLAGS) libsudoers.la $(LIBS) $(NET_LIBS)
sudoreplay: libsudoers.la $(REPLAY_OBJS)
- $(LIBTOOL) --mode=link $(CC) -o $@ $(REPLAY_OBJS) $(LDFLAGS) alloc.lo timestr.lo zero_bytes.lo $(REPLAY_LIBS) $(LIBS)
+ $(LIBTOOL) --mode=link $(CC) -o $@ $(REPLAY_OBJS) $(LDFLAGS) timestr.lo $(REPLAY_LIBS) $(LIBS)
testsudoers: $(TEST_OBJS)
$(LIBTOOL) --mode=link $(CC) -o $@ $(TEST_OBJS) $(LDFLAGS) libsudoers.la $(LIBS) $(NET_LIBS)
vasgroups.lo: $(srcdir)/vasgroups.c $(srcdir)/nonunix.h $(SUDODEP)
plugin_error.lo: $(srcdir)/plugin_error.c $(incdir)/error.h $(incdir)/compat.h $(top_builddir)/config.h
-# Upper level sudo dependencies
-# We need to use links because of differences in VPATH semantics
-alloc.c: $(top_srcdir)/src/alloc.c
- @$(LN_S) -f $(top_srcdir)/src/$@ $@
-alloc.lo: alloc.c $(SUDODEP)
-atobool.c: $(top_srcdir)/src/atobool.c
- @$(LN_S) -f $(top_srcdir)/src/$@ $@
-atobool.lo: atobool.c $(SUDODEP)
-fileops.c: $(top_srcdir)/src/fileops.c
- @$(LN_S) -f $(top_srcdir)/src/$@ $@
-fileops.lo: fileops.c $(SUDODEP)
-fmt_string.c: $(top_srcdir)/src/fmt_string.c
- @$(LN_S) -f $(top_srcdir)/src/$@ $@
-fmt_string.lo: fmt_string.c $(incdir)/compat.h $(top_builddir)/config.h
-gettime.c: $(top_srcdir)/src/gettime.c
- @$(LN_S) -f $(top_srcdir)/src/$@ $@
-gettime.lo: gettime.c $(incdir)/compat.h $(top_builddir)/config.h
-list.c: $(top_srcdir)/src/list.c
- @$(LN_S) -f $(top_srcdir)/src/$@ $@
-list.lo: list.c $(SUDODEP)
-lbuf.c: $(top_srcdir)/src/lbuf.c
- @$(LN_S) -f $(top_srcdir)/src/$@ $@
-lbuf.lo: lbuf.c $(SUDODEP)
-zero_bytes.c: $(top_srcdir)/src/zero_bytes.c
- @$(LN_S) -f $(top_srcdir)/src/$@ $@
-zero_bytes.lo: zero_bytes.c $(incdir)/compat.h $(top_builddir)/config.h
-
# Auth dependencies
sudo_auth.lo: $(authdir)/sudo_auth.c $(AUTHDEP) $(INSDEP)
afs.lo: $(authdir)/afs.c $(AUTHDEP)
sia.lo: $(authdir)/sia.c $(AUTHDEP)
# Command dependencies (sudoreplay, testsudoers, visudo)
-error.c: $(top_srcdir)/src/error.c
- @$(LN_S) -f $(top_srcdir)/src/$@ $@
-error.o: error.c $(incdir)/error.h $(incdir)/compat.h $(top_builddir)/config.h
-fileops.o: fileops.lo
+error.o: $(top_srcdir)/src/error.c $(incdir)/error.h $(incdir)/compat.h $(top_builddir)/config.h
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $<
find_path.o: find_path.lo
getdate.o: $(devdir)/getdate.c $(incdir)/compat.h $(top_builddir)/config.h
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $<
-gettime.o: gettime.lo
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $<
goodpath.o: goodpath.lo
interfaces.o: interfaces.lo
sudoreplay.o: $(srcdir)/sudoreplay.c $(incdir)/alloc.h $(incdir)/compat.h $(incdir)/error.h $(incdir)/missing.h $(top_builddir)/config.h
-term.c: $(top_srcdir)/src/term.c
- @$(LN_S) -f $(top_srcdir)/src/$@ $@
-term.o: term.c $(incdir)/compat.h $(top_builddir)/config.h
testsudoers.o: $(srcdir)/testsudoers.c $(SUDODEP) $(srcdir)/parse.h $(incdir)/list.h $(srcdir)/interfaces.h $(devdir)/gram.h
tsgetgrpw.o: $(srcdir)/tsgetgrpw.c $(SUDODEP)
visudo.o: $(srcdir)/visudo.c $(SUDODEP) $(devdir)/gram.h
# Libraries
LIBS = @LIBS@ @SUDO_LIBS@ @GETGROUPS_LIB@ @NET_LIBS@ \
- $(LIBOBJDIR)libreplace.la
+ $(LIBOBJDIR)libreplace.la $(top_builddir)/common/libcommon.la
# C preprocessor flags
CPPFLAGS = -I$(incdir) -I$(top_builddir) -I$(srcdir) -I. @CPPFLAGS@
PROGS = @PROGS@
-OBJS = alloc.o atobool.o conversation.o error.o fileops.o fmt_string.o \
- gettime.o lbuf.o list.o load_plugins.o parse_args.o pty.o exec.o \
- sudo.o sudo_edit.o term.o tgetpass.o ttysize.o zero_bytes.o @SUDO_OBJS@
+OBJS = conversation.o error.o load_plugins.o parse_args.o pty.o exec.o \
+ sudo.o sudo_edit.o tgetpass.o ttysize.o @SUDO_OBJS@
LIBOBJDIR = $(top_builddir)/@ac_config_libobj_dir@/
.SUFFIXES: .c .h .lo .o
.c.o:
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $<
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $<
.c.lo:
- $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $<
+ $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $<
sudo: $(OBJS)
$(LIBTOOL) --mode=link $(CC) -o $@ $(OBJS) $(LDFLAGS) $(LIBS) -static-libtool-libs
# Dependencies
# XXX - SUDODEP is overkill for some of these
aix.o: $(srcdir)/aix.c $(top_builddir)/config.h $(incdir)/compat.h
-alloc.o: $(srcdir)/alloc.c $(SUDODEP)
-atobool.o: $(srcdir)/atobool.c $(SUDODEP)
conversation.o: $(srcdir)/conversation.c $(SUDODEP)
error.o: $(srcdir)/error.c $(incdir)/compat.h $(incdir)/error.h $(top_builddir)/config.h
-fileops.o: $(srcdir)/fileops.c $(SUDODEP)
-fmt_string.o: $(srcdir)/fmt_string.c $(incdir)/compat.h $(top_builddir)/config.h
-gettime.o: $(srcdir)/gettime.c $(incdir)/compat.h $(top_builddir)/config.h
-lbuf.o: $(srcdir)/lbuf.c $(SUDODEP)
-list.o: $(srcdir)/list.c $(SUDODEP)
load_plugins.o: $(srcdir)/load_plugins.c $(SUDODEP)
parse_args.o: $(srcdir)/parse_args.c sudo_usage.h $(SUDODEP)
pty.o: $(srcdir)/pty.c $(SUDODEP)
sudo.o: $(srcdir)/sudo.c $(SUDODEP)
sudo_edit.o: $(srcdir)/sudo_edit.c $(SUDODEP)
sudo_noexec.lo: $(srcdir)/sudo_noexec.c $(incdir)/compat.h $(top_builddir)/config.h
-term.o: $(srcdir)/term.c $(incdir)/compat.h $(top_builddir)/config.h
tgetpass.o: $(srcdir)/tgetpass.c $(SUDODEP)
ttysize.o: $(srcdir)/ttysize.c $(incdir)/compat.h $(top_builddir)/config.h
-zero_bytes.o: $(srcdir)/zero_bytes.c $(incdir)/compat.h $(top_builddir)/config.h
install: install-dirs install-binaries @INSTALL_NOEXEC@