2 # Copyright (c) 2010-2012 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 cross_compiling = @CROSS_COMPILING@
31 MANCOMPRESS = @MANCOMPRESS@
32 MANCOMPRESSEXT = @MANCOMPRESSEXT@
35 # Our install program supports extra flags...
36 INSTALL = $(SHELL) $(top_srcdir)/install-sh -c
38 # Where to install things...
40 exec_prefix = @exec_prefix@
43 sysconfdir = @sysconfdir@
44 libexecdir = @libexecdir@
45 datarootdir = @datarootdir@
46 localstatedir = @localstatedir@
49 # Directory in which to install the man page
51 mansectsu = @mansectsu@
52 mansectform = @mansectform@
53 mandirsu = $(mandir)/@MANDIRTYPE@$(mansectsu)
54 mandirform = $(mandir)/@MANDIRTYPE@$(mansectform)
56 # User and group ids the installed files should be "owned" by
60 # Set to non-empty for development mode
63 #### End of system configuration section. ####
67 DOCS = sudo.$(mantype) visudo.$(mantype) sudoers.$(mantype) \
68 sudoers.ldap.$(mantype) sudoers.$(mantype) \
69 sudoreplay.$(mantype) sudo_plugin.$(mantype)
71 DEVDOCS = $(srcdir)/sudo.man.in $(srcdir)/sudo.cat \
72 $(srcdir)/visudo.man.in $(srcdir)/visudo.cat \
73 $(srcdir)/sudoers.man.in $(srcdir)/sudoers.cat \
74 $(srcdir)/sudoers.ldap.man.in $(srcdir)/sudoers.ldap.cat \
75 $(srcdir)/sudoers.man.in $(srcdir)/sudoers.cat \
76 $(srcdir)/sudoreplay.man.in $(srcdir)/sudoreplay.cat \
77 $(srcdir)/sudo_plugin.man.in $(srcdir)/sudo_plugin.cat
79 OTHER_DOCS = $(top_srcdir)/ChangeLog $(top_srcdir)/README \
80 $(top_srcdir)/NEWS $(srcdir)/HISTORY $(srcdir)/CONTRIBUTORS \
81 $(srcdir)/LICENSE $(srcdir)/TROUBLESHOOTING $(srcdir)/UPGRADE \
84 OTHER_DOCS_LDAP = $(top_srcdir)/README.LDAP $(srcdir)/schema.*
86 VERSION = @PACKAGE_VERSION@
87 PACKAGE_TARNAME = @PACKAGE_TARNAME@
89 all: $(DEVDOCS) $(DOCS)
91 Makefile: $(srcdir)/Makefile.in
92 (cd $(top_builddir) && ./config.status --file doc/Makefile)
96 varsub: $(top_srcdir)/configure.in
97 @if [ -n "$(DEVEL)" ]; then \
98 printf 's#@%s@#1#\ns#@%s@#1#\ns#@%s@#1#\ns#@%s@#1#\ns#@%s@#/etc#g\ns#@%s@#/usr/local#g\ns#@%s@#5#g\ns#@%s@#8#g\ns#@%s@#%s#\n' SEMAN BAMAN LCMAN PSMAN sysconfdir prefix mansectform mansectsu PACKAGE_VERSION $(VERSION) > $@; \
99 $(SED) -n '/Begin initial values for man page substitution/,/End initial values for man page substitution/{;p;}' $(top_srcdir)/configure.in | $(SED) -e '/^#/d' -e 's/^/s#@/' -e 's/=[\\"]*/@#/' -e 's/[\\"]*$$/#g/' >> $@; \
102 $(srcdir)/sudo.man.in: $(srcdir)/sudo.mdoc.in
103 @if [ -n "$(DEVEL)" ]; then \
104 echo "Generating $@"; \
105 mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \
106 mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \
107 printf '.\\" DO NOT EDIT THIS FILE, IT IS NOT THE MASTER!\n' > $@; \
108 printf '.\\" IT IS GENERATED AUTOMATICALLY FROM sudo.mdoc.in\n' >> $@; \
109 $(SED) -n -e '/^.Dd/q' -e '/^\.\\/p' $(srcdir)/sudo.mdoc.in >> $@; \
110 $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO" \)"8"\(.*"\)OpenBSD \(.*\)/\1"'$$mansectsu'"\2\3/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" >> $@; \
113 sudo.man.sed: $(srcdir)/fixman.sh
114 BAMAN=@BAMAN@ LCMAN=@LCMAN@ SEMAN=@SEMAN@ PSMAN=@PSMAN@ $(SHELL) $(srcdir)/fixman.sh $@
116 sudo.man: $(srcdir)/sudo.man.in sudo.man.sed
117 (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/$@.in | $(SED) -f $@.sed > $@
119 sudo.mdoc.sed: $(srcdir)/fixmdoc.sh
120 BAMAN=@BAMAN@ LCMAN=@LCMAN@ SEMAN=@SEMAN@ PSMAN=@PSMAN@ $(SHELL) $(srcdir)/fixmdoc.sh $@
122 sudo.mdoc: $(srcdir)/sudo.mdoc.in sudo.mdoc.sed
123 (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/$@.in | $(SED) -f $@.sed > $@
125 $(srcdir)/sudo.cat: varsub $(srcdir)/sudo.mdoc.in
126 @if [ -n "$(DEVEL)" ]; then \
127 echo "Generating $@"; \
128 $(SED) -f varsub $(srcdir)/sudo.mdoc.in | $(MANDOC) -mdoc | $(SED) -e 's/ OpenBSD \([^ ].* \)/ \1 /' -e 's/(5)/(4)/g' -e 's/(8)/(1m)/g' > $@; \
131 sudo.cat: $(srcdir)/sudo.cat
133 $(srcdir)/visudo.man.in: $(srcdir)/visudo.mdoc.in
134 @if [ -n "$(DEVEL)" ]; then \
135 echo "Generating $@"; \
136 mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \
137 mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \
138 printf '.\\" DO NOT EDIT THIS FILE, IT IS NOT THE MASTER!\n' > $@; \
139 printf '.\\" IT IS GENERATED AUTOMATICALLY FROM visudo.mdoc.in\n' >> $@; \
140 $(SED) -n -e '/^.Dd/q' -e '/^\.\\/p' $(srcdir)/visudo.mdoc.in >> $@; \
141 $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/visudo.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "VISUDO" \)"8"\(.*"\)OpenBSD \(.*\)/\1"'$$mansectsu'"\2\3/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" >> $@; \
144 visudo.man.sed: $(srcdir)/fixman.sh
145 $(SHELL) $(srcdir)/fixman.sh $@
147 visudo.man: $(srcdir)/visudo.man.in visudo.man.sed
148 (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/$@.in | $(SED) -f $@.sed > $@
150 visudo.mdoc: $(srcdir)/visudo.mdoc.in
151 (cd $(top_builddir) && $(SHELL) config.status --file=doc/$@)
153 $(srcdir)/visudo.cat: varsub $(srcdir)/visudo.mdoc.in
154 @if [ -n "$(DEVEL)" ]; then \
155 echo "Generating $@"; \
156 $(SED) -f varsub $(srcdir)/visudo.mdoc.in | $(MANDOC) -mdoc | $(SED) -e 's/ OpenBSD \([^ ].* \)/ \1 /' -e 's/(5)/(4)/g' -e 's/(8)/(1m)/g' > $@; \
159 visudo.cat: $(srcdir)/visudo.cat
161 $(srcdir)/sudoers.man.in: $(srcdir)/sudoers.mdoc.in
162 @if [ -n "$(DEVEL)" ]; then \
163 echo "Generating $@"; \
164 mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \
165 mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \
166 printf '.\\" DO NOT EDIT THIS FILE, IT IS NOT THE MASTER!\n' > $@; \
167 printf '.\\" IT IS GENERATED AUTOMATICALLY FROM sudoers.mdoc.in\n' >> $@; \
168 $(SED) -n -e '/^.Dd/q' -e '/^\.\\/p' $(srcdir)/sudoers.mdoc.in >> $@; \
169 $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudoers.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDOERS" \)"5"\(.*"\)OpenBSD \(.*\)/\1"'$$mansectsu'"\2\3/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" >> $@; \
172 sudoers.man.sed: $(srcdir)/fixman.sh
173 LCMAN=@LCMAN@ SEMAN=@SEMAN@ PSMAN=@PSMAN@ $(SHELL) $(srcdir)/fixman.sh $@
175 sudoers.man: $(srcdir)/sudoers.man.in sudoers.man.sed
176 (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/$@.in | $(SED) -f $@.sed > $@
178 sudoers.mdoc.sed: $(srcdir)/fixmdoc.sh
179 LCMAN=@LCMAN@ SEMAN=@SEMAN@ PSMAN=@PSMAN@ $(SHELL) $(srcdir)/fixmdoc.sh $@
181 sudoers.mdoc: $(srcdir)/sudoers.mdoc.in sudoers.mdoc.sed
182 (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/$@.in | $(SED) -f $@.sed > $@
184 $(srcdir)/sudoers.cat: varsub $(srcdir)/sudoers.mdoc.in
185 @if [ -n "$(DEVEL)" ]; then \
186 echo "Generating $@"; \
187 $(SED) -f varsub $(srcdir)/sudoers.mdoc.in | $(MANDOC) -mdoc | $(SED) -e 's/ OpenBSD \([^ ].* \)/ \1 /' -e 's/(5)/(4)/g' -e 's/(8)/(1m)/g' > $@; \
190 sudoers.cat: $(srcdir)/sudoers.cat
192 $(srcdir)/sudoers.ldap.man.in: $(srcdir)/sudoers.ldap.mdoc.in
193 @if [ -n "$(DEVEL)" ]; then \
194 echo "Generating $@"; \
195 mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \
196 mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \
197 printf '.\\" DO NOT EDIT THIS FILE, IT IS NOT THE MASTER!\n' > $@; \
198 printf '.\\" IT IS GENERATED AUTOMATICALLY FROM sudoers.ldap.mdoc.in\n' >> $@; \
199 $(SED) -n -e '/^.Dd/q' -e '/^\.\\/p' $(srcdir)/sudoers.ldap.mdoc.in >> $@; \
200 $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudoers.ldap.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDOERS.LDAP" \)"5"\(.*"\)OpenBSD \(.*\)/\1"'$$mansectsu'"\2\3/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" >> $@; \
203 sudoers.ldap.man.sed: $(srcdir)/fixman.sh
204 $(SHELL) $(srcdir)/fixman.sh $@
206 sudoers.ldap.man: $(srcdir)/sudoers.ldap.man.in sudoers.ldap.man.sed
207 (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/$@.in | $(SED) -f $@.sed > $@
209 sudoers.ldap.mdoc: $(srcdir)/sudoers.ldap.mdoc.in
210 (cd $(top_builddir) && $(SHELL) config.status --file=doc/$@)
212 $(srcdir)/sudoers.ldap.cat: varsub $(srcdir)/sudoers.ldap.mdoc.in
213 @if [ -n "$(DEVEL)" ]; then \
214 echo "Generating $@"; \
215 $(SED) -f varsub $(srcdir)/sudoers.ldap.mdoc.in | $(MANDOC) -mdoc | $(SED) -e 's/ OpenBSD \([^ ].* \)/ \1 /' -e 's/(5)/(4)/g' -e 's/(8)/(1m)/g' > $@; \
218 sudoers.ldap.cat: $(srcdir)/sudoers.ldap.cat
220 $(srcdir)/sudoreplay.man.in: $(srcdir)/sudoreplay.mdoc.in
221 @if [ -n "$(DEVEL)" ]; then \
222 echo "Generating $@"; \
223 mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \
224 mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \
225 printf '.\\" DO NOT EDIT THIS FILE, IT IS NOT THE MASTER!\n' > $@; \
226 printf '.\\" IT IS GENERATED AUTOMATICALLY FROM sudoreplay.mdoc.in\n' >> $@; \
227 $(SED) -n -e '/^.Dd/q' -e '/^\.\\/p' $(srcdir)/sudoreplay.mdoc.in >> $@; \
228 $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudoreplay.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDOREPLAY" \)"8"\(.*"\)OpenBSD \(.*\)/\1"'$$mansectsu'"\2\3/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" >> $@; \
231 sudoreplay.man.sed: $(srcdir)/fixman.sh
232 $(SHELL) $(srcdir)/fixman.sh $@
234 sudoreplay.man: $(srcdir)/sudoreplay.man.in sudoreplay.man.sed
235 (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/$@.in | $(SED) -f $@.sed > $@
237 sudoreplay.mdoc: $(srcdir)/sudoreplay.mdoc.in
238 (cd $(top_builddir) && $(SHELL) config.status --file=doc/$@)
240 $(srcdir)/sudoreplay.cat: varsub $(srcdir)/sudoreplay.mdoc.in
241 @if [ -n "$(DEVEL)" ]; then \
242 echo "Generating $@"; \
243 $(SED) -f varsub $(srcdir)/sudoreplay.mdoc.in | $(MANDOC) -mdoc | $(SED) -e 's/ OpenBSD \([^ ].* \)/ \1 /' -e 's/(5)/(4)/g' -e 's/(8)/(1m)/g' > $@; \
246 sudoreplay.cat: $(srcdir)/sudoreplay.cat
248 $(srcdir)/sudo_plugin.man.in: $(srcdir)/sudo_plugin.mdoc.in
249 @if [ -n "$(DEVEL)" ]; then \
250 echo "Generating $@"; \
251 mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \
252 mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \
253 printf '.\\" DO NOT EDIT THIS FILE, IT IS NOT THE MASTER!\n' > $@; \
254 printf '.\\" IT IS GENERATED AUTOMATICALLY FROM sudo_plugin.mdoc.in\n' >> $@; \
255 $(SED) -n -e '/^.Dd/q' -e '/^\.\\/p' $(srcdir)/sudo_plugin.mdoc.in >> $@; \
256 $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo_plugin.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO_PLUGIN" \)"8"\(.*"\)OpenBSD \(.*\)/\1"'$$mansectsu'"\2\3/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" >> $@; \
259 sudo_plugin.man.sed: $(srcdir)/fixman.sh
260 $(SHELL) $(srcdir)/fixman.sh $@
262 sudo_plugin.man: $(srcdir)/sudo_plugin.man.in sudo_plugin.man.sed
263 (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/$@.in | $(SED) -f $@.sed > $@
265 sudo_plugin.mdoc: $(srcdir)/sudo_plugin.mdoc.in
266 (cd $(top_builddir) && $(SHELL) config.status --file=doc/$@)
268 $(srcdir)/sudo_plugin.cat: varsub $(srcdir)/sudo_plugin.mdoc.in
269 @if [ -n "$(DEVEL)" ]; then \
270 echo "Generating $@"; \
271 $(SED) -f varsub $(srcdir)/sudo_plugin.mdoc.in | $(MANDOC) -mdoc | $(SED) -e 's/ OpenBSD \([^ ].* \)/ \1 /' -e 's/(5)/(4)/g' -e 's/(8)/(1m)/g' > $@; \
274 sudo_plugin.cat: $(srcdir)/sudo_plugin.cat
281 $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(docdir) \
282 $(DESTDIR)$(mandirsu) $(DESTDIR)$(mandirform)
288 install-doc: install-dirs
289 for f in $(OTHER_DOCS); do $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 $$f $(DESTDIR)$(docdir); done
290 @LDAP@for f in $(OTHER_DOCS_LDAP); do $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 $$f $(DESTDIR)$(docdir); done
291 $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/sudo.$(mantype) $(DESTDIR)$(mandirsu)/sudo.$(mansectsu)
292 $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/sudo_plugin.$(mantype) $(DESTDIR)$(mandirsu)/sudo_plugin.$(mansectsu)
293 $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/sudoreplay.$(mantype) $(DESTDIR)$(mandirsu)/sudoreplay.$(mansectsu)
294 $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/visudo.$(mantype) $(DESTDIR)$(mandirsu)/visudo.$(mansectsu)
295 $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/sudoers.$(mantype) $(DESTDIR)$(mandirform)/sudoers.$(mansectform)
296 @LDAP@$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0644 @mansrcdir@/sudoers.ldap.$(mantype) $(DESTDIR)$(mandirform)/sudoers.ldap.$(mansectform)
297 @if test -n "$(MANCOMPRESS)"; then \
298 for f in $(mandirsu)/sudo.$(mansectsu) $(mandirsu)/sudo_plugin.$(mansectsu) $(mandirsu)/sudoreplay.$(mansectsu) $(mandirsu)/visudo.$(mansectsu) $(mandirform)/sudoers.$(mansectform) $(mandirform)/sudoers.ldap.$(mansectform); do \
299 if test -f $(DESTDIR)$$f; then \
300 echo $(MANCOMPRESS) -f $(DESTDIR)$$f; \
301 $(MANCOMPRESS) -f $(DESTDIR)$$f; \
304 rm -f $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)$(MANCOMPRESSEXT); \
305 echo ln -s sudo.$(mansectsu)$(MANCOMPRESSEXT) $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)$(MANCOMPRESSEXT); \
306 ln -s sudo.$(mansectsu)$(MANCOMPRESSEXT) $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)$(MANCOMPRESSEXT); \
308 rm -f $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu); \
309 echo ln -s sudo.$(mansectsu) $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu); \
310 ln -s sudo.$(mansectsu) $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu); \
316 -rm -rf $(DESTDIR)$(docdir)
317 -rm -f $(DESTDIR)$(mandirsu)/sudo.$(mansectsu) \
318 $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu) \
319 $(DESTDIR)$(mandirsu)/sudo_plugin.$(mansectsu) \
320 $(DESTDIR)$(mandirsu)/sudoreplay.$(mansectsu) \
321 $(DESTDIR)$(mandirsu)/visudo.$(mansectsu) \
322 $(DESTDIR)$(mandirform)/sudoers.$(mansectform) \
323 $(DESTDIR)$(mandirform)/sudoers.ldap.$(mansectform)
333 -rm -rf Makefile config.log *.man