Mail Archives: djgpp-workers/2007/12/22/07:32:23
> From: Juan Manuel Guerrero <juan DOT guerrero AT gmx DOT de>
> Date: Thu, 15 Nov 2007 05:39:46 +0100
> Cc:
>
> I have appended a small patch that shows the things I had to change to get a
> working make binary. That patch is not intended to be used. It shall only
> show the code lines that may need to be adjusted to solve the problems. There
> may be better ways to solve the issue, but I am not familiar enough with the
> make sources to provide a better patch. There may be also much more MSDOS or
> DJGPp specific things that may be fixed. The patch only fixes things that I am
> aware. Things that may cause trouble are drive letters, checks for absolute
> patch, etc, etc etc. The usual DOS/WINDOWS things.
Thanks, Juan. Your warnings notwithstanding, I did install your
patches. I no longer have time to do any significant work on the
DJGPP port of Make, so installing your changes will at least give
DJGPP users a binary that works better than with the original sources.
> I have not waiste my time trying to fix the Makefile.DOS, but now that make.texi
> has been moved into /doc it needs to be adjusted accordingly. It would be nice
> if rules for dvi, ps, pdf and html could be added. It would also be usefull
> not to split the MSDOS version of make.info anymore. The extensions .info-[0-9]
> are changed to .i[0-9] to acomplish with the 8.3 file name rule but it is always
> forgotten to adjust the file name strings in make.info accordingly. All this
> difficulties can be avoided by no spliting the info formated docs anymore.
Please note that dvi and ps are already supported, and pdf is not
supported on any platform. I made all the other changes you
suggested; please see the patches below.
Thanks again for your efforts supporting DJGPP ports in general, and
Make in particular.
2007-12-22 Eli Zaretskii <eliz AT gnu DOT org>
Suggested by Juan Manuel Guerrero <juan DOT guerrero AT gmx DOT de>:
* Makefile.DOS.template (info_TEXINFOS): Remove unused variable.
(TEXINFOS): Value changed to `doc/make.texi'.
(.SUFFIXES): Use .texi instead of .texinfo.
(make.info, make.dvi): Depend on doc/make.texi.
(.texi.info): New target, instead of ".texinfo.info". Change -I
switch to $(MAKEINFO) to look in doc/. Use --no-split.
(.texi): New target, instead of ".texinfo". Change -I switch to
$(MAKEINFO) to look in doc/. Use --no-split.
(.texi.dvi): New target, instead of ".texinfo.dvi". Change -I
switch to $(MAKEINFO) to look in doc/.
(install-info-am, uninstall-info): Don't look for "*.i[0-9]" and
"*.i[0-9][0-9]" (due to --no-split above).
(noinst_TEXINFOS, TEXI2HTML, TEXI2HTML_FLAGS): New variables.
(html, make_1.html): New targets.
(.PHONY): Add "html".
(.SUFFIXES): Add .html.
Index: Makefile.DOS.template
===================================================================
RCS file: /sources/make/make/Makefile.DOS.template,v
retrieving revision 2.15
diff -u -r2.15 Makefile.DOS.template
--- Makefile.DOS.template 4 Jul 2007 19:35:16 -0000 2.15
+++ Makefile.DOS.template 22 Dec 2007 12:04:40 -0000
@@ -83,7 +83,6 @@
libglob_a_SOURCES = %GLOB_SOURCES%
make_LDADD = glob/libglob.a
-info_TEXINFOS = make.texinfo
man_MANS = make.1
INCLUDES = -I$(srcdir)/glob -DLIBDIR=\"c:/djgpp/lib\" -DINCLUDEDIR=\"c:/djgpp/include\" -DLOCALEDIR=\"$(localedir)\"
@@ -118,10 +117,14 @@
TEXINFO_TEX = $(srcdir)/config/texinfo.tex
INFO_DEPS = make.info
DVIS = make.dvi
-TEXINFOS = make.texinfo
+TEXINFOS = doc/make.texi
+noinst_TEXINFOS = doc/fdl.texi doc/make-stds.texi
man1dir = $(mandir)/man1
MANS = $(man_MANS)
+TEXI2HTML = texi2html
+TEXI2HTML_FLAGS = -split_chapter
+
NROFF = nroff
DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL Makefile.am Makefile.in NEWS acconfig.h aclocal.m4 alloca.c build.sh-in config.h-in configure configure.in getloadavg.c
@@ -136,7 +139,7 @@
default: all
.SUFFIXES:
-.SUFFIXES: .c .dvi .info .o .obj .ps .texinfo .tex
+.SUFFIXES: .c .dvi .info .o .obj .ps .texi .tex .html
mostlyclean-hdr:
@@ -186,33 +189,41 @@
@command.com /c if exist make.exe del make.exe
$(LINK) $(make_LDFLAGS) $(make_OBJECTS) $(make_LDADD) $(LIBS)
-make.info: make.texinfo
-make.dvi: make.texinfo
+# Documentation
+
+make.info: doc/make.texi
+make.dvi: doc/make.texi
DVIPS = dvips
-.texinfo.info:
+.texi.info:
@command.com /c if exist make.info* del make.info*
@command.com /c if exist make.i* del make.i*
- $(MAKEINFO) -I$(srcdir) $< -o ./$@
+ $(MAKEINFO) -I$(srcdir)/doc --no-split $< -o ./$@
-.texinfo:
+.texi:
@command.com /c if exist make.info* del make.info*
@command.com /c if exist make.i* del make.i*
- $(MAKEINFO) -I$(srcdir) $< -o ./$@
-
-.texinfo.dvi:
- TEXINPUTS="$(srcdir);$$TEXINPUTS" MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
+ $(MAKEINFO) -I$(srcdir)/doc --no-split $< -o ./$@
+.texi.dvi:
+ TEXINPUTS="$(srcdir)/doc;$$TEXINPUTS" MAKEINFO='$(MAKEINFO) -I $(srcdir)/doc' $(TEXI2DVI) $<
.dvi.ps:
$(DVIPS) $< -o $@
+# Other documentation formats
+
+html: make_1.html
+
+make_1.html: $(TEXINFOS) $(noinst_TEXINFOS)
+ $(TEXI2HTML) $(TEXI2HTML_FLAGS) $(srcdir)/doc/make.texi
+
install-info-am: $(INFO_DEPS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(infodir)
- @for file in $(INFO_DEPS) make.i; do d=$(srcdir); for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9] $$file[0-9] $$file[0-9][0-9]`; do if test -f $$d/$$ifile; then echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; else : ; fi; done; done
+ @for file in $(INFO_DEPS); do d=$(srcdir); for ifile in `cd $$d && echo $$file`; do if test -f $$d/$$ifile; then echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; else : ; fi; done; done
@$(POST_INSTALL)
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then for file in $(INFO_DEPS); do echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file"; install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :; done; else : ; fi
@@ -220,7 +231,7 @@
$(PRE_UNINSTALL)
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then ii=yes; else ii=; fi; for file in $(INFO_DEPS); do test -z $ii || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; done
$(NORMAL_UNINSTALL)
- for file in $(INFO_DEPS) make.i; do (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9] $$file[0-9] $$file[0-9][0-9]); done
+ for file in $(INFO_DEPS); do (cd $(DESTDIR)$(infodir) && rm -f $$file); done
dist-info: $(INFO_DEPS)
for base in $(INFO_DEPS); do d=$(srcdir); for file in `cd $$d && eval echo $$base*`; do test -f $(distdir)/$$file || ln $$d/$$file $(distdir)/$$file 2> /dev/null || cp -p $$d/$$file $(distdir)/$$file; done; done
@@ -235,7 +246,7 @@
distclean-aminfo:
maintainer-clean-aminfo:
- for i in $(INFO_DEPS) make.i; do rm -f `eval echo $$i*`; done
+ for i in $(INFO_DEPS); do rm -f $$i*; done
install-man1:
$(mkinstalldirs) $(DESTDIR)$(man1dir)
@@ -455,7 +466,8 @@
all-recursive-am all-am install-exec-am install-data-am uninstall-am \
install-exec install-data install uninstall all installdirs \
mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean \
+html
# --------------- Local DIST Section
- Raw text -