Annotation of src/usr.bin/sudo/Makefile.in, Revision 1.1.1.1
1.1 millert 1: #
2: # Copyright (c) 1996, 1998, 1999 Todd C. Miller <Todd.Miller@courtesan.com>
3: # All rights reserved.
4: #
5: # Redistribution and use in source and binary forms, with or without
6: # modification, are permitted provided that the following conditions
7: # are met:
8: #
9: # 1. Redistributions of source code must retain the above copyright
10: # notice, this list of conditions and the following disclaimer.
11: #
12: # 2. Redistributions in binary form must reproduce the above copyright
13: # notice, this list of conditions and the following disclaimer in the
14: # documentation and/or other materials provided with the distribution.
15: #
16: # 3. The name of the author may not be used to endorse or promote products
17: # derived from this software without specific prior written permission
18: # from the author.
19: #
20: # 4. Products derived from this software may not be called "Sudo" nor
21: # may "Sudo" appear in their names without specific prior written
22: # permission from the author.
23: #
24: # THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
25: # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
26: # AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
27: # THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28: # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
29: # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
30: # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
31: # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
32: # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
33: # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34: #
35: # @configure_input@
36: #
37: # $Sudo: Makefile.in,v 1.185 1999/09/08 08:06:03 millert Exp $
38: #
39:
40: #### Start of system configuration section. ####
41:
42: srcdir = @srcdir@
43: authdir = $(srcdir)/auth
44: VPATH = @srcdir@
45:
46: # Compiler & tools to use
47: CC = @CC@
48: LEX = flex
49: YACC = @YACC@
50: NROFF = nroff
51:
52: # Which install program?
53: INSTALL = $(srcdir)/install-sh -c
54:
55: # Libraries
56: LIBS = @LIBS@
57: NET_LIBS = @NET_LIBS@
58: SUDO_LIBS = @SUDO_LIBS@ @AFS_LIBS@ $(LIBS) $(NET_LIBS)
59:
60: # C preprocessor flags
61: CPPFLAGS = -I. -I$(srcdir) @CPPFLAGS@
62:
63: # Usually -O and/or -g
64: CFLAGS = @CFLAGS@
65:
66: # Flags to pass to the link stage
67: LDFLAGS = @LDFLAGS@
68: SUDO_LDFLAGS = @SUDO_LDFLAGS@ $(LDFLAGS)
69:
70: # Where to install things...
71: prefix = @prefix@
72: exec_prefix = @exec_prefix@
73: bindir = @bindir@
74: sbindir = @sbindir@
75: sysconfdir = @sysconfdir@
76: mandir = @mandir@
77:
78: # Directory in which to install sudo.
79: sudodir = $(bindir)
80:
81: # Directory in which to install visudo
82: visudodir = $(sbindir)
83:
84: # Directory in which to install the sudoers file
85: sudoersdir = $(sysconfdir)
86:
87: # Directory in which to install the man page
88: # set mansect5 to 4 on sysV machines.
89: mantype = @MANTYPE@
90: mansect8 = 8
91: mansect5 = 5
92: mandir8 = $(mandir)/$(mantype)$(mansect8)
93: mandir5 = $(mandir)/$(mantype)$(mansect5)
94:
95: # User and group ids the installed files should be "owned" by
96: install_uid = 0
97: install_gid = 0
98:
99: # User, group, and mode the sudoers file should be "owned" by (configure)
100: sudoers_uid = @SUDOERS_UID@
101: sudoers_gid = @SUDOERS_GID@
102: sudoers_mode = @SUDOERS_MODE@
103:
104: # Pass in paths and uid/gid + OS dependent defined
105: DEFS = @OSDEFS@ -D_PATH_SUDOERS=\"$(sudoersdir)/sudoers\" -D_PATH_SUDOERS_TMP=\"$(sudoersdir)/sudoers.tmp\" -DSUDOERS_UID=$(sudoers_uid) -DSUDOERS_GID=$(sudoers_gid) -DSUDOERS_MODE=$(sudoers_mode)
106:
107: #### End of system configuration section. ####
108:
109: SHELL = /bin/sh
110:
111: PROGS = @PROGS@
112:
113: SRCS = alloc.c alloca.c check.c defaults.c fileops.c find_path.c fnmatch.c \
114: getcwd.c getspwuid.c goodpath.c interfaces.c lex.yy.c lsearch.c \
115: logging.c parse.c parse.lex parse.yacc putenv.c snprintf.c strcasecmp.c \
116: strerror.c sudo.c sudo.tab.c sudo_setenv.c testsudoers.c tgetpass.c \
117: utime.c visudo.c $(AUTH_SRCS)
118:
119: AUTH_SRCS = auth/afs.c auth/aix_auth.c auth/dce.c auth/fwtk.c auth/kerb4.c \
120: auth/kerb5.c auth/pam.c auth/passwd.c auth/rfc1938.c \
121: auth/secureware.c auth/securid.c auth/sia.c auth/sudo_auth.c
122:
123: HDRS = compat.h defaults.h ins_2001.h ins_classic.h ins_csops.h ins_goons.h \
124: insults.h interfaces.h logging.h parse.h sudo.h sudo.tab.h version.h \
125: auth/sudo_auth.h emul/fnmatch.h emul/search.h emul/utime.h
126:
127: AUTH_OBJS = sudo_auth.o @AUTH_OBJS@
128:
129: PARSEOBJS = sudo.tab.o lex.yy.o alloc.o defaults.o
130:
131: SUDOBJS = check.o getspwuid.o goodpath.o fileops.o find_path.o interfaces.o \
132: logging.o parse.o sudo.o sudo_setenv.o tgetpass.o \
133: $(AUTH_OBJS) $(PARSEOBJS)
134:
135: VISUDOBJS = visudo.o fileops.o $(PARSEOBJS)
136:
137: TESTOBJS = interfaces.o testsudoers.o $(PARSEOBJS)
138:
139: LIBOBJS = @LIBOBJS@ @ALLOCA@
140:
141: VERSION = 1.6
142:
143: DISTFILES = $(SRCS) $(HDRS) BUGS CHANGES FAQ HISTORY INSTALL INSTALL.configure \
144: LICENSE Makefile.in PORTING README RUNSON TODO TROUBLESHOOTING \
145: UPGRADE acsite.m4 aixcrypt.exp config.guess config.h.in config.sub \
146: configure configure.in fnmatch.3 indent.pro install-sh \
147: mkinstalldirs pathnames.h.in sample.pam sample.sudoers sudo.cat \
148: sudo.man sudo.pod sudoers sudoers.cat sudoers.man sudoers.pod \
149: visudo.cat visudo.man visudo.pod auth/API
150:
151: SUDODEP = $(srcdir)/sudo.h $(srcdir)/compat.h $(srcdir)/defaults.h \
152: $(srcdir)/logging.h config.h pathnames.h
153:
154: AUTHDEP = $(SUDODEP) $(authdir)/sudo_auth.h
155:
156: INSDEP = $(srcdir)/ins_2001.h $(srcdir)/ins_classic.h $(srcdir)/ins_csops.h \
157: $(srcdir)/ins_goons.h $(srcdir)/insults.h
158:
159: all: $(PROGS)
160:
161: .SUFFIXES: .o .c .h .lex .yacc .man .cat
162:
163: .c.o:
164: $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $<
165:
166: .man.cat:
167: @rm -f $(srcdir)/$@
168: $(NROFF) -man $< > $(srcdir)/$@
169:
170: sudo: $(SUDOBJS) $(LIBOBJS)
171: $(CC) -o $@ $(SUDOBJS) $(LIBOBJS) $(SUDO_LDFLAGS) $(SUDO_LIBS)
172:
173: visudo: $(VISUDOBJS) $(LIBOBJS)
174: $(CC) -o $@ $(VISUDOBJS) $(LIBOBJS) $(LDFLAGS) $(LIBS)
175:
176: testsudoers: $(TESTOBJS) $(LIBOBJS)
177: $(CC) -o $@ $(TESTOBJS) $(LIBOBJS) $(LDFLAGS) $(LIBS) $(NET_LIBS)
178:
179: # Uncomment the following if you want "make clean" to clean the parser
180: @DEV@PARSESRCS = sudo.tab.h sudo.tab.c lex.yy.c
181:
182: # Uncomment the following if you intend to modify parse.yacc
183: @DEV@sudo.tab.c sudo.tab.h: parse.yacc
184: @DEV@ rm -f sudo.tab.h sudo.tab.c
185: @DEV@ $(YACC) -d -b sudo $(srcdir)/parse.yacc
186:
187: # Uncomment the following if you intend to modify parse.lex
188: @DEV@lex.yy.c: parse.lex
189: @DEV@ rm -f lex.yy.c
190: @DEV@ $(LEX) $(srcdir)/parse.lex
191:
192: # Dependencies (not counting auth functions)
193: alloc.o: alloc.c $(SUDODEP)
194: check.o: check.c $(SUDODEP)
195: fileops.o: fileops.c $(SUDODEP)
196: find_path.o: find_path.c $(SUDODEP)
197: getspwuid.o: getspwuid.c $(SUDODEP)
198: goodpath.o: goodpath.c $(SUDODEP)
199: logging.o: logging.c $(SUDODEP)
200: sudo_setenv.o: sudo_setenv.c $(SUDODEP)
201: tgetpass.o: tgetpass.c $(SUDODEP)
202: visudo.o: visudo.c $(SUDODEP) version.h
203: sudo.o: sudo.c $(SUDODEP) interfaces.h version.h
204: interfaces.o: interfaces.c $(SUDODEP) interfaces.h
205: testsudoers.o: testsudoers.c $(SUDODEP) parse.h interfaces.h
206: parse.o: parse.c $(SUDODEP) parse.h interfaces.h
207: lex.yy.o: lex.yy.c $(SUDODEP) parse.h sudo.tab.h
208: sudo.tab.o: sudo.tab.c $(SUDODEP) parse.h
209: defaults.o: defaults.c $(SUDODEP) auth/sudo_auth.h
210: fnmatch.o: fnmatch.c config.h compat.h emul/fnmatch.h
211: getcwd.o: getcwd.c config.h compat.h
212: lsearch.o: lsearch.c config.h compat.h emul/search.h
213: putenv.o: putenv.c config.h compat.h
214: snprintf.o: snprintf.c config.h compat.h
215: strcasecmp.o: strcasecmp.c config.h
216: strerror.o: strerror.c config.h
217: utime.o: utime.c config.h pathnames.h compat.h emul/utime.h
218:
219: # Authentication functions live in "auth" dir and so need extra care
220: sudo_auth.o: $(authdir)/sudo_auth.c $(AUTHDEP) $(INSDEP)
221: $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/sudo_auth.c
222: afs.o: $(authdir)/afs.c $(AUTHDEP)
223: $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/afs.c
224: aix_auth.o: $(authdir)/aix_auth.c $(AUTHDEP)
225: $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/aix_auth.c
226: dce.o: $(authdir)/dce.c $(AUTHDEP)
227: $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/dce.c
228: fwtk.o: $(authdir)/fwtk.c $(AUTHDEP)
229: $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/fwtk.c
230: kerb4.o: $(authdir)/kerb4.c $(AUTHDEP)
231: $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/kerb4.c
232: kerb5.o: $(authdir)/kerb5.c $(AUTHDEP)
233: $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/kerb5.c
234: pam.o: $(authdir)/pam.c $(AUTHDEP)
235: $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/pam.c
236: passwd.o: $(authdir)/passwd.c $(AUTHDEP)
237: $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/passwd.c
238: rfc1938.o: $(authdir)/rfc1938.c $(AUTHDEP)
239: $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/rfc1938.c
240: secureware.o: $(authdir)/secureware.c $(AUTHDEP)
241: $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/secureware.c
242: securid.o: $(authdir)/securid.c $(AUTHDEP)
243: $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/securid.c
244: sia.o: $(authdir)/sia.c $(AUTHDEP)
245: $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/sia.c
246:
247: sudo.html: $(srcdir)/sudo.pod
248: @rm -f $(srcdir)/$@
249: (cd $(srcdir); pod2html --title="Sudo Manual" --infile=sudo.pod --outfile=$(srcdir)/$@)
250:
251: sudo.man: $(srcdir)/sudo.pod
252: @rm -f $(srcdir)/$@
253: (cd $(srcdir); pod2man --section=$(mansect8) --release=$(VERSION) --center="MAINTENANCE COMMANDS" sudo.pod > $(srcdir)/$@)
254:
255: sudo.cat: sudo.man
256:
257: visudo.html: $(srcdir)/visudo.pod
258: @rm -f $(srcdir)/$@
259: (cd $(srcdir); pod2html --title="Visudo Manual" --infile=visudo.pod --outfile=$(srcdir)/$@)
260:
261: visudo.man: $(srcdir)/visudo.pod
262: @rm -f $(srcdir)/$@
263: (cd $(srcdir); pod2man --section=$(mansect8) --release=$(VERSION) --center="MAINTENANCE COMMANDS" visudo.pod > $(srcdir)/$@)
264:
265: visudo.cat: visudo.man
266:
267: sudoers.html: $(srcdir)/sudoers.pod
268: @rm -f $(srcdir)/$@
269: (cd $(srcdir); pod2html --title="Sudoers Manual" --infile=sudoers.pod --outfile=$(srcdir)/$@)
270:
271: sudoers.man: $(srcdir)/sudoers.pod
272: @rm -f $(srcdir)/$@
273: (cd $(srcdir); pod2man --section=$(mansect5) --release=$(VERSION) --center="FILE FORMATS" sudoers.pod > $(srcdir)/$@)
274:
275: sudoers.cat: sudoers.man
276:
277: install: install-dirs install-binaries install-sudoers install-man
278:
279: install-dirs:
280: $(srcdir)/mkinstalldirs $(sudodir) $(visudodir) $(sudoersdir) $(mandir8) $(mandir5)
281:
282: install-binaries: $(PROGS)
283: $(INSTALL) -o $(install_uid) -g $(install_gid) -m 4111 -s sudo $(sudodir)/sudo
284: $(INSTALL) -o $(install_uid) -g $(install_gid) -m 0111 -s visudo $(visudodir)/visudo
285:
286: install-sudoers:
287: @ if [ -f $(sudoersdir)/sudoers ]; then \
288: echo "Setting user/group and mode on existing $(sudoersdir)/sudoers file."; \
289: chown $(sudoers_uid) $(sudoersdir)/sudoers; \
290: chgrp $(sudoers_gid) $(sudoersdir)/sudoers; \
291: chmod $(sudoers_mode) $(sudoersdir)/sudoers; \
292: else \
293: $(INSTALL) -o $(sudoers_uid) -g $(sudoers_gid) -m $(sudoers_mode) \
294: $(srcdir)/sudoers $(sudoersdir)/sudoers; \
295: fi
296:
297: install-man:
298: $(INSTALL) -o $(install_uid) -g $(install_gid) -m 0444 $(srcdir)/sudo.$(mantype) $(mandir8)/sudo.$(mansect8)
299: $(INSTALL) -o $(install_uid) -g $(install_gid) -m 0444 $(srcdir)/visudo.$(mantype) $(mandir8)/visudo.$(mansect8)
300: $(INSTALL) -o $(install_uid) -g $(install_gid) -m 0444 $(srcdir)/sudoers.$(mantype) $(mandir5)/sudoers.$(mansect5)
301: @MAN_POSTINSTALL@
302:
303: tags: $(SRCS)
304: ctags $(SRCS)
305:
306: TAGS: $(SRCS)
307: etags $(SRCS)
308:
309: clean:
310: -rm -f *.o $(PROGS) testsudoers core sudo.core visudo.core \
311: testsudoers.core
312:
313: mostlyclean: clean
314:
315: distclean: clean
316: -rm -f Makefile pathnames.h config.h config.status config.cache \
317: config.log pod2html-dircache pod2html-itemcache $(PARSESRCS)
318:
319: clobber: distclean
320:
321: realclean: distclean
322: rm -f TAGS tags
323:
324: cleandir: realclean
325:
326: dist: $(DISTFILES)
327: rm -f ../sudo-$(VERSION).tar.gz
328: ( cd .. ; TF="/tmp/sudo.dist$$$$" ; rm -f $$TF ; for i in $(DISTFILES) ; \
329: do echo sudo-$(VERSION)/$$i >> $$TF ; done ; \
330: tar Ocf sudo-$(VERSION).tar \
331: `cat $$TF` && gzip --best sudo-$(VERSION).tar && rm -f $$TF)
332: ls -l ../sudo-$(VERSION).tar.gz