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@
30 # Our install program supports extra flags...
31 INSTALL = $(SHELL) $(top_srcdir)/install-sh -c
33 # Where to install things...
35 exec_prefix = @exec_prefix@
38 sysconfdir = @sysconfdir@
39 libexecdir = @libexecdir@
40 datarootdir = @datarootdir@
41 localstatedir = @localstatedir@
44 # Directory in which to install the man page
46 mansectsu = @mansectsu@
47 mansectform = @mansectform@
48 mandirsu = $(mandir)/$(mantype)$(mansectsu)
49 mandirform = $(mandir)/$(mantype)$(mansectform)
51 # User and group ids the installed files should be "owned" by
55 # Set to non-empty for development mode
58 #### End of system configuration section. ####
62 DOCS = sudo.man visudo.man sudoers.man sudoers.ldap.man sudoers.man \
63 sudoreplay.man sudo_plugin.man
65 DEVDOCS = $(srcdir)/sudo.man.in $(srcdir)/sudo.cat \
66 $(srcdir)/visudo.man.in $(srcdir)/visudo.cat \
67 $(srcdir)/sudoers.man.in $(srcdir)/sudoers.cat \
68 $(srcdir)/sudoers.ldap.man.in $(srcdir)/sudoers.ldap.cat \
69 $(srcdir)/sudoers.man.in $(srcdir)/sudoers.cat \
70 $(srcdir)/sudoreplay.man.in $(srcdir)/sudoreplay.cat \
71 $(srcdir)/sudo_plugin.man.in $(srcdir)/sudo_plugin.cat \
72 $(srcdir)/HISTORY $(srcdir)/LICENSE $(srcdir)/CONTRIBUTORS
74 OTHER_DOCS = $(top_srcdir)/ChangeLog $(top_srcdir)/README \
75 $(top_srcdir)/NEWS $(srcdir)/HISTORY $(srcdir)/CONTRIBUTORS \
76 $(srcdir)/LICENSE $(srcdir)/TROUBLESHOOTING $(srcdir)/UPGRADE \
79 OTHER_DOCS_LDAP = $(top_srcdir)/README.LDAP $(srcdir)/schema.*
81 VERSION = @PACKAGE_VERSION@
82 PACKAGE_TARNAME = @PACKAGE_TARNAME@
84 all: $(DEVDOCS) $(DOCS)
86 Makefile: $(srcdir)/Makefile.in
87 (cd $(top_builddir) && ./config.status --file doc/Makefile)
91 varsub: $(top_srcdir)/configure.in
92 @if [ -n "$(DEVEL)" ]; then \
93 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 > $@; \
94 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/' >> $@; \
97 $(srcdir)/sudo.man.in: $(srcdir)/sudo.pod
98 @if [ -n "$(DEVEL)" ]; then \
99 echo "Generating $@"; \
100 mansectsu=`echo @MANSECTSU@|tr A-Z a-z`; \
101 mansectform=`echo @MANSECTFORM@|tr A-Z a-z`; \
102 sed -n -e '/^=pod/q' -e 's/^/.\\" /p' $(srcdir)/sudo.pod > $@; \
103 pod2man --quotes=none --date="`date '+%B %e, %Y'`" --section=$$mansectsu --release=$(VERSION) --center="MAINTENANCE COMMANDS" $(srcdir)/sudo.pod | sed -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" | perl -p $(srcdir)/sudo.man.pl >> $@; \
106 sudo.man: $(srcdir)/sudo.man.in
107 (cd $(top_builddir) && $(SHELL) config.status --file=doc/$@)
109 $(srcdir)/sudo.cat: varsub $(srcdir)/sudo.man.in
110 @if [ -n "$(DEVEL)" ]; then \
111 echo "Generating $@"; \
112 sed -f varsub $(srcdir)/sudo.man.in | $(NROFF) -man > $@; \
115 $(srcdir)/visudo.man.in: $(srcdir)/visudo.pod
116 @if [ -n "$(DEVEL)" ]; then \
117 echo "Generating $@"; \
118 mansectsu=`echo @MANSECTSU@|tr A-Z a-z`; \
119 mansectform=`echo @MANSECTFORM@|tr A-Z a-z`; \
120 sed -n -e '/^=pod/q' -e 's/^/.\\" /p' $(srcdir)/visudo.pod > $@; \
121 pod2man --quotes=none --date="`date '+%B %e, %Y'`" --section=$$mansectsu --release=$(VERSION) --center="MAINTENANCE COMMANDS" $(srcdir)/visudo.pod | sed -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -e 's|\\fI\\f\((CW*\)*I@\([^@]*\)\\fI@|\\fI@\2@|g' >> $@; \
124 visudo.man: $(srcdir)/visudo.man.in
125 (cd $(top_builddir) && $(SHELL) config.status --file=doc/$@)
127 $(srcdir)/visudo.cat: varsub $(srcdir)/visudo.man.in
128 @if [ -n "$(DEVEL)" ]; then \
129 echo "Generating $@"; \
130 sed -f varsub $(srcdir)/visudo.man.in | $(NROFF) -man > $@; \
133 $(srcdir)/sudoers.man.in: $(srcdir)/sudoers.pod
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 sed -n -e '/^=pod/q' -e 's/^/.\\" /p' $(srcdir)/sudoers.pod > $@; \
139 pod2man --quotes=none --date="`date '+%B %e, %Y'`" --section=$$mansectform --release=$(VERSION) --center="MAINTENANCE COMMANDS" $(srcdir)/sudoers.pod | sed -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" | perl -p $(srcdir)/sudoers.man.pl >> $@; \
142 sudoers.man: $(srcdir)/sudoers.man.in
143 (cd $(top_builddir) && $(SHELL) config.status --file=doc/$@)
145 $(srcdir)/sudoers.cat: varsub $(srcdir)/sudoers.man.in
146 @if [ -n "$(DEVEL)" ]; then \
147 echo "Generating $@"; \
148 sed -f varsub $(srcdir)/sudoers.man.in | $(NROFF) -man > $@; \
151 $(srcdir)/sudoers.ldap.man.in: $(srcdir)/sudoers.ldap.pod
152 @if [ -n "$(DEVEL)" ]; then \
153 echo "Generating $@"; \
154 mansectsu=`echo @MANSECTSU@|tr A-Z a-z`; \
155 mansectform=`echo @MANSECTFORM@|tr A-Z a-z`; \
156 sed -n -e '/^=pod/q' -e 's/^/.\\" /p' $(srcdir)/sudoers.ldap.pod > $@; \
157 pod2man --quotes=none --date="`date '+%B %e, %Y'`" --section=$$mansectform --release=$(VERSION) --center="MAINTENANCE COMMANDS" $(srcdir)/sudoers.ldap.pod | sed -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -e 's|\\fI\\f\((CW*\)*I@\([^@]*\)\\fI@|\\fI@\2@|g' >> $@; \
160 sudoers.ldap.man: $(srcdir)/sudoers.ldap.man.in
161 (cd $(top_builddir) && $(SHELL) config.status --file=doc/$@)
163 $(srcdir)/sudoers.ldap.cat: varsub $(srcdir)/sudoers.ldap.man.in
164 @if [ -n "$(DEVEL)" ]; then \
165 echo "Generating $@"; \
166 sed -f varsub $(srcdir)/sudoers.ldap.man.in | $(NROFF) -man > $@; \
169 $(srcdir)/sudoreplay.man.in: $(srcdir)/sudoreplay.pod
170 @if [ -n "$(DEVEL)" ]; then \
171 echo "Generating $@"; \
172 mansectsu=`echo @MANSECTSU@|tr A-Z a-z`; \
173 mansectform=`echo @MANSECTFORM@|tr A-Z a-z`; \
174 sed -n -e '/^=pod/q' -e 's/^/.\\" /p' $(srcdir)/sudoreplay.pod > $@; \
175 pod2man --quotes=none --date="`date '+%B %e, %Y'`" --section=$$mansectsu --release=$(VERSION) --center="MAINTENANCE COMMANDS" $(srcdir)/sudoreplay.pod | sed -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -e 's|\\fI\\f\((CW*\)*I@\([^@]*\)\\fI@|\\fI@\2@|g' >> $@; \
178 sudoreplay.man: $(srcdir)/sudoreplay.man.in
179 (cd $(top_builddir) && $(SHELL) config.status --file=doc/$@)
181 $(srcdir)/sudoreplay.cat: varsub $(srcdir)/sudoreplay.man.in
182 @if [ -n "$(DEVEL)" ]; then \
183 echo "Generating $@"; \
184 sed -f varsub $(srcdir)/sudoreplay.man.in | $(NROFF) -man > $@; \
187 $(srcdir)/sudo_plugin.man.in: $(srcdir)/sudo_plugin.pod
188 @if [ -n "$(DEVEL)" ]; then \
189 echo "Generating $@"; \
190 mansectsu=`echo @MANSECTSU@|tr A-Z a-z`; \
191 mansectform=`echo @MANSECTFORM@|tr A-Z a-z`; \
192 sed -n -e '/^=pod/q' -e 's/^/.\\" /p' $(srcdir)/sudo_plugin.pod > $@; \
193 pod2man --quotes=none --date="`date '+%B %e, %Y'`" --section=$$mansectsu --release=$(VERSION) --center="MAINTENANCE COMMANDS" $(srcdir)/sudo_plugin.pod | sed -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -e 's|\\fI\\f\((CW*\)*I@\([^@]*\)\\fI@|\\fI@\2@|g' >> $@; \
196 sudo_plugin.man: $(srcdir)/sudo_plugin.man.in
197 (cd $(top_builddir) && $(SHELL) config.status --file=doc/$@)
199 $(srcdir)/sudo_plugin.cat: varsub $(srcdir)/sudo_plugin.man.in
200 @if [ -n "$(DEVEL)" ]; then \
201 echo "Generating $@"; \
202 sed -f varsub $(srcdir)/sudo_plugin.man.in | $(NROFF) -man > $@; \
205 CONTRIBUTORS: $(srcdir)/contributors.pod
206 @if [ -n "$(DEVEL)" ]; then \
207 echo "Generating $@"; \
208 pod2text -l -i0 $(srcdir)/contributors.pod | sed '1,3d' > $@; \
211 HISTORY: $(srcdir)/history.pod
212 @if [ -n "$(DEVEL)" ]; then \
213 echo "Generating $@"; \
214 pod2text -l -i0 $(srcdir)/history.pod > $@; \
217 LICENSE: $(srcdir)/license.pod
218 @if [ -n "$(DEVEL)" ]; then \
219 echo "Generating $@"; \
220 pod2text -l -i0 $(srcdir)/license.pod | sed '1,3d' > $@; \
228 $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(docdir) \
229 $(DESTDIR)$(mandirsu) $(DESTDIR)$(mandirform)
235 install-doc: install-dirs
236 for f in $(OTHER_DOCS); do $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 $$f $(DESTDIR)$(docdir); done
237 @LDAP@for f in $(OTHER_DOCS_LDAP); do $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 $$f $(DESTDIR)$(docdir); done
238 $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 @mansrcdir@/sudo.$(mantype) $(DESTDIR)$(mandirsu)/sudo.$(mansectsu)
239 @rm -f $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
240 ln $(DESTDIR)$(mandirsu)/sudo.$(mansectsu) $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
241 $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 @mansrcdir@/sudo_plugin.$(mantype) $(DESTDIR)$(mandirsu)/sudo_plugin.$(mansectsu)
242 $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 @mansrcdir@/sudoreplay.$(mantype) $(DESTDIR)$(mandirsu)/sudoreplay.$(mansectsu)
243 $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 @mansrcdir@/visudo.$(mantype) $(DESTDIR)$(mandirsu)/visudo.$(mansectsu)
244 $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 @mansrcdir@/sudoers.$(mantype) $(DESTDIR)$(mandirform)/sudoers.$(mansectform)
245 @LDAP@$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 @mansrcdir@/sudoers.ldap.$(mantype) $(DESTDIR)$(mandirform)/sudoers.ldap.$(mansectform)
251 -rm -rf $(DESTDIR)$(docdir)
252 -rm -f $(DESTDIR)$(mandirsu)/sudo.$(mansectsu) \
253 $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu) \
254 $(DESTDIR)$(mandirsu)/sudo_plugin.$(mansectsu) \
255 $(DESTDIR)$(mandirsu)/sudoreplay.$(mansectsu) \
256 $(DESTDIR)$(mandirsu)/visudo.$(mansectsu) \
257 $(DESTDIR)$(mandirform)/sudoers.$(mansectform) \
258 $(DESTDIR)$(mandirform)/sudoers.ldap.$(mansectform)
268 -rm -rf Makefile config.log *.man