delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2007/12/22/07:32:23

X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f
X-Recipient: djgpp-workers AT delorie DOT com
Date: Sat, 22 Dec 2007 14:12:23 +0200
Message-Id: <uir2rhqs8.fsf@gnu.org>
From: Eli Zaretskii <eliz AT gnu DOT org>
To: Juan Manuel Guerrero <juan DOT guerrero AT gmx DOT de>
CC: bug-make AT gnu DOT org, djgpp-workers AT delorie DOT com
In-reply-to: <200711150539.47581.juan.guerrero@gmx.de> (message from Juan
Manuel Guerrero on Thu, 15 Nov 2007 05:39:46 +0100)
Subject: Re: Fixing broken djgpp support in make 3.81
References: <200711150539 DOT 47581 DOT juan DOT guerrero AT gmx DOT de>
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

> 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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019