I don't have access to a SGI or HP make. Could someone check that
with this patch, make now works?
(Steve, this is to be applied in any case)
1998-04-30 Martin Buchholz <martin(a)xemacs.org>
* Makefile: Support generic makes by avoiding `%' syntax.
It breaks my heart to uglify the Makefile like this, but this is
going to be a perpetual FAQ otherwise.
General cleanup.
Comment out w3 and vm info rules.
Use paranoid cd ./$@ syntax to avoid losing with luser's CDPATH.
--- man/Makefile.old
+++ man/Makefile
@@ -36,73 +36,121 @@
RECURSIVE_MAKE = $(MAKE) $(MFLAGS) MAKEINFO='$(MAKEINFO)'
TEXI2DVI='$(TEXI2DVI)'
+# Ughhh! The things we do to have portable makefiles...
+
+INFODIR = ../info
+
+info_files = \
+ $(INFODIR)/cl.info \
+ $(INFODIR)/custom.info \
+ $(INFODIR)/external-widget.info \
+ $(INFODIR)/info.info \
+ $(INFODIR)/standards.info \
+ $(INFODIR)/term.info \
+ $(INFODIR)/termcap.info \
+ $(INFODIR)/texinfo.info \
+ $(INFODIR)/widget.info \
+ $(INFODIR)/xemacs-faq.info
+
+dvi_files = \
+ cl.dvi \
+ custom.dvi \
+ external-widget.dvi \
+ info.dvi \
+ standards.dvi \
+ term.dvi \
+ termcap.dvi \
+ texinfo.dvi \
+ widget.dvi \
+ xemacs-faq.dvi
+
+../info/cl.info : cl.texi
+ -$(MAKEINFO) cl.texi -o ../info/cl.info
+
+../info/custom.info : custom.texi
+ -$(MAKEINFO) custom.texi -o ../info/custom.info
+
+../info/external-widget.info : external-widget.texi
+ -$(MAKEINFO) external-widget.texi -o ../info/external-widget.info
+
+../info/info.info : info.texi
+ -$(MAKEINFO) info.texi -o ../info/info.info
+
+../info/standards.info : standards.texi
+ -$(MAKEINFO) standards.texi -o ../info/standards.info
+
+../info/term.info : term.texi
+ -$(MAKEINFO) term.texi -o ../info/term.info
+
+../info/termcap.info : termcap.texi
+ -$(MAKEINFO) termcap.texi -o ../info/termcap.info
+
+../info/texinfo.info : texinfo.texi
+ -$(MAKEINFO) texinfo.texi -o ../info/texinfo.info
+
+../info/widget.info : widget.texi
+ -$(MAKEINFO) widget.texi -o ../info/widget.info
+
+../info/xemacs-faq.info : xemacs-faq.texi
+ -$(MAKEINFO) xemacs-faq.texi -o ../info/xemacs-faq.info
+
+
+# ../info/w3.info : w3.texi
+# -$(MAKEINFO) w3.texi -o ../info/w3.info
+
+# ../info/vm.info : vm.texi
+# -$(EMACS) $(EMACSFLAGS) -insert vm.texi -l texinfmt \
+# -f texinfo-format-buffer -f save-buffer
+# -mv vm.info* ../info
+
+# special = # ../info/w3.info ../info/vm.info ../info/texinfo.info
+
+all: info
+
# Subdirectories to make recursively.
SUBDIR = xemacs lispref new-users-guide internals
+.PHONY: $(SUBDIR)
-../info/%.info : %.texi
- -$(MAKEINFO) -o $@ $<
+info : $(info_files)
+ -for d in $(SUBDIR) ; do (cd ./$$d && $(RECURSIVE_MAKE) $@) ; done
-srcs = cl custom external-widget \
- info \
- standards term \
- termcap texinfo widget xemacs-faq
-
-info = $(srcs:%=../info/%.info)
-dvi = $(srcs:%=%.dvi)
-
-special = # ../info/w3.info ../info/vm.info ../info/texinfo.info
-
-all : info
-info : $(info) $(special)
- -for d in $(SUBDIR) ; do (cd $${d} && $(RECURSIVE_MAKE) $@) ; done
+.PHONY: info dvi
xemacs: FRC.xemacs
- -cd $@ && $(RECURSIVE_MAKE)
+ -cd ./$@ && $(RECURSIVE_MAKE)
lispref: FRC.lispref
- -cd $@ && $(RECURSIVE_MAKE)
+ -cd ./$@ && $(RECURSIVE_MAKE)
new-users-guide: FRC.new-users-guide
- -cd $@ && $(RECURSIVE_MAKE)
+ -cd ./$@ && $(RECURSIVE_MAKE)
internals: FRC.internals
- -cd $@ && $(RECURSIVE_MAKE)
-tm: FRC.tm
- -cd $@ && $(RECURSIVE_MAKE)
-gnats: FRC.gnats
- -cd $@ && $(RECURSIVE_MAKE)
-FRC.xemacs FRC.lispref FRC.new-users-guide FRC.internals FRC.tm FRC.gnats:
+ -cd ./$@ && $(RECURSIVE_MAKE)
+# tm: FRC.tm
+# -cd ./$@ && $(RECURSIVE_MAKE)
+# gnats: FRC.gnats
+# -cd ./$@ && $(RECURSIVE_MAKE)
+# FRC.xemacs FRC.lispref FRC.new-users-guide FRC.internals FRC.tm FRC.gnats:
+FRC.info FRC.dvi FRC.xemacs FRC.lispref FRC.new-users-guide FRC.internals:
-../info/w3.info : w3.texi
- -$(MAKEINFO) w3.texi -o ../info/w3.info
-../info/texinfo.info : texinfo.texi
- -$(MAKEINFO) texinfo.texi -o ../info/texinfo.info
-
-
-../info/vm.info : vm.texi
- -$(EMACS) $(EMACSFLAGS) -insert vm.texi -l texinfmt \
- -f texinfo-format-buffer -f save-buffer
- -mv vm.info* ../info
-
-texinfo.dvi: texinfo.texi
- $(TEXI2DVI) $<
.texi.dvi:
$(TEXI2DVI) $<
-.PHONY: dvi
-dvi : $(dvi)
- -for d in $(SUBDIR) ; do (cd $${d} && $(RECURSIVE_MAKE) $@) ; done
+dvi : $(dvi_files)
+ -for d in $(SUBDIR) ; do (cd ./$${d} && $(RECURSIVE_MAKE) $@) ; done
+
.PHONY: mostlyclean clean distclean realclean extraclean
mostlyclean:
- -for d in $(SUBDIR) ; do (cd $${d} && $(RECURSIVE_MAKE) $@) ; done
- rm -f *.toc *.aux *.log \
+ -for d in $(SUBDIR) ; do (cd ./$${d} && $(RECURSIVE_MAKE) $@) ; done
+ rm -f *.toc *.aux *.log *.op \
*.cp *.cps *.fn *.fns *.ky *.kys *.pg *.pgs *.vr *.vrs *.tp *.tps
clean: mostlyclean
- -for d in $(SUBDIR) ; do (cd $${d} && $(RECURSIVE_MAKE) $@) ; done
+ -for d in $(SUBDIR) ; do (cd ./$${d} && $(RECURSIVE_MAKE) $@) ; done
rm -f *.o core *.dvi
distclean: clean
- -for d in $(SUBDIR) ; do (cd $${d} && $(RECURSIVE_MAKE) $@) ; done
+ -for d in $(SUBDIR) ; do (cd ./$${d} && $(RECURSIVE_MAKE) $@) ; done
realclean: distclean
- -for d in $(SUBDIR) ; do (cd $${d} && $(RECURSIVE_MAKE) $@) ; done
+ -for d in $(SUBDIR) ; do (cd ./$${d} && $(RECURSIVE_MAKE) $@) ; done
extraclean: distclean
- -for d in $(SUBDIR) ; do (cd $${d} && $(RECURSIVE_MAKE) $@) ; done
+ -for d in $(SUBDIR) ; do (cd ./$${d} && $(RECURSIVE_MAKE) $@) ; done
-rm -f *~ \#*