Modularizing the Makefile caused some variable expansion problems on non-GNU makes
[mmh] / man / Makefile.in
1 #
2 # Makefile for man subdirectory
3 #
4 # $Id$
5 #
6
7 VERSION = @VERSION@
8 DATE = @DATE@
9
10 SHELL = /bin/sh
11
12 top_srcdir = @top_srcdir@
13 srcdir     = @srcdir@
14 VPATH      = @srcdir@
15
16 prefix      = @prefix@
17 exec_prefix = @exec_prefix@
18 bindir      = @bindir@
19 libdir      = @libdir@
20 etcdir      = @sysconfdir@
21 mandir      = @mandir@
22 manext1     = 1
23 manext5     = 5
24 manext8     = 8
25
26 mailspool    = @mailspool@
27 sendmailpath = @sendmailpath@
28
29 default_editor = @editorpath@
30 default_pager = @pagerpath@
31
32 INSTALL      = @INSTALL@
33 INSTALL_DATA = @INSTALL_DATA@
34
35 SED = sed
36 SEDMAN = $(SED) -f man.sed $< > $@
37
38 # sed line for editing pop information in man pages
39 POPSED = @POPSED@
40
41 .SUFFIXES:
42 .SUFFIXES: .man .$(manext1) .$(manext5) .$(manext8)
43
44 .man.$(manext1):
45         $(SEDMAN)
46
47 .man.$(manext5):
48         $(SEDMAN)
49
50 .man.$(manext8):
51         $(SEDMAN)
52
53 # include file for the man pages.  It is installed
54 # in the nmh library directory.
55 HDR = tmac.h
56
57 # input file for header
58 DIST_HDR = tmac.h.in
59
60 # man pages to install in $(mandir)/$(manext1)
61 MAN1SRC = ali. anno. burst. comp.               \
62        dist. flist. flists. folder. folders.    \
63        forw. inc. mark. mh-chart. nmh.          \
64        mhbuild. mhl. mhlist. mhmail.            \
65        mhn. mhparam. mhpath. mhshow.            \
66        mhstore. msgchk. msh.                    \
67        next. packf. pick. prev.                 \
68        prompter. rcvdist. rcvpack.              \
69        rcvstore. rcvtty. refile.                \
70        repl. rmf. rmm. scan.                    \
71        send. sendfiles. show. slocal.           \
72        sortm. vmh. whatnow. whom.
73
74 MAN5SRC = mh-alias. mh-draft. mh-format.        \
75        mh-mail. mh-profile. mh-sequence.        \
76        mh-tailor. mts.conf.
77
78 MAN8SRC = ap. conflict. dp. fmtdump.            \
79        install-mh. mh-mts. post.
80
81 MAN1 := $(MAN1SRC:.=.$(manext1))
82 MAN5 := $(MAN5SRC:.=.$(manext5))
83 MAN8 := $(MAN8SRC:.=.$(manext8))
84
85 # source for man pages
86 DIST_MANSRC = $(MAN1SRC) $(MAN5SRC) $(MAN8SRC)
87 DIST_MAN = $(DIST_MANSRC:.=.man)
88
89 # auxiliary files
90 AUX = Makefile.in
91
92 # all files in this directory included in the distribution
93 DIST = $(DIST_HDR) $(DIST_MAN) $(AUX)
94
95 # ========= DEFAULT TARGET ==========
96
97 all: tmac.h $(MAN1) $(MAN5) $(MAN8)
98
99 $(MAN1) $(MAN5) $(MAN8): man.sed
100
101 tmac.h: man.sed tmac.h.in
102         $(SED) -f man.sed $(srcdir)/tmac.h.in > $@
103
104 # create the sed file for building man pages
105 man.sed: Makefile
106         echo 's,%nmhwarning%,THIS FILE HAS BEEN AUTOMATICALLY GENERATED.  DO NOT EDIT.,g' > $@
107         echo 's,%nmhversion%,nmh-$(VERSION),g' >> $@
108         echo 's,%nmhdate%,$(DATE),g' >> $@
109         echo 's,%bindir%,$(bindir),g' >> $@
110         echo 's,%etcdir%,$(etcdir),g' >> $@
111         echo 's,%libdir%,$(libdir),g' >> $@
112         echo 's,%mandir%,$(mandir),g' >> $@
113         echo 's,%mailspool%,$(mailspool),g' >> $@
114         echo 's,%sendmailpath%,$(sendmailpath),g' >> $@
115         echo 's,%default_editor%,$(default_editor),g' >> $@
116         echo 's,%default_pager%,$(default_pager),g' >> $@
117         echo 's,%manext1%,$(manext1),g' >> $@
118         echo 's,%manext5%,$(manext5),g' >> $@
119         echo 's,%manext8%,$(manext8),g' >> $@
120         echo '$(POPSED)' >> $@
121         echo '/%components%/r $(top_srcdir)/etc/components' >> $@
122         echo ' s,%components%,,g' >> $@
123         echo '/%distcomps%/r $(top_srcdir)/etc/distcomps' >> $@
124         echo ' s,%distcomps%,,g' >> $@
125         echo '/%forwcomps%/r $(top_srcdir)/etc/forwcomps' >> $@
126         echo ' s,%forwcomps%,,g' >> $@
127         echo '/%mhl_forward%/r $(top_srcdir)/etc/mhl.forward' >> $@
128         echo ' s,%mhl_forward%,,g' >> $@
129
130 # ========= INSTALL TARGETS =========
131
132 install: install-hdr install-man1 install-man5 install-man8
133
134 # install the include file for man pages
135 install-hdr:
136         $(top_srcdir)/mkinstalldirs $(etcdir)
137         $(INSTALL_DATA) tmac.h $(etcdir)/tmac.h
138
139 # install the man pages in man1
140 install-man1:
141         $(top_srcdir)/mkinstalldirs $(mandir)/man$(manext1)
142         for file in $(MAN1); do \
143           $(INSTALL_DATA) $$file $(mandir)/man$(manext1) ; \
144         done
145
146 # install the man pages in man5
147 install-man5:
148         $(top_srcdir)/mkinstalldirs $(mandir)/man$(manext5)
149         for file in $(MAN5); do \
150           $(INSTALL_DATA) $$file $(mandir)/man$(manext5) ; \
151         done
152         if [ ! -f $(mandir)/man$(manext5)/mh_profile.$(manext5) ] ; then \
153           ( cd $(mandir)/man$(manext5) ; ln mh-profile.$(manext5) \
154             mh_profile.$(manext5) ) \
155         fi
156
157 # install the man pages in man8
158 install-man8:
159         $(top_srcdir)/mkinstalldirs $(mandir)/man$(manext8)
160         for file in $(MAN8); do \
161           $(INSTALL_DATA) $$file $(mandir)/man$(manext8) ; \
162         done
163
164 # ========= UNINSTALL TARGETS =========
165
166 uninstall: uninstall-hdr uninstall-man1 uninstall-man5 uninstall-man8
167
168 # uninstall the include file for man pages
169 uninstall-hdr:
170         rm -f $(etcdir)/tmac.h
171
172 # uninstall the man pages in man1
173 uninstall-man1:
174         for file in $(MAN1); do \
175           rm -f $(mandir)/man$(manext1)/$$file; \
176         done
177
178 # uninstall the man pages in man5
179 uninstall-man5:
180         for file in $(MAN5); do \
181           rm -f $(mandir)/man$(manext5)/$$file; \
182         done
183
184 # uninstall the man pages in man8
185 uninstall-man8:
186         for file in $(MAN8); do \
187           rm -f $(mandir)/man$(manext8)/$$file; \
188         done
189
190 # ========== DEPENDENCIES FOR CLEANUP ==========
191
192 mostlyclean:
193         rm -f *~
194
195 clean: mostlyclean
196         rm -f man.sed tmac.h *.$(manext1) *.$(manext5) *.$(manext8)
197
198 distclean: clean
199         rm -f Makefile
200
201 realclean: distclean
202
203 superclean: realclean
204
205 lint:
206
207 # ========== DEPENDENCIES FOR MAINTENANCE ==========
208
209 subdir = man
210
211 Makefile: Makefile.in ../config.status
212         cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
213  
214 distdir = ../`cat ../distname`/$(subdir)
215 nmhdist: $(DIST)
216         @echo "Copying distribution files in $(subdir)"
217         @for file in $(DIST); do \
218           cp -p $(srcdir)/$$file $(distdir); \
219         done
220