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: From: Eli Zaretskii To: Juan Manuel Guerrero 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 Precedence: bulk > From: Juan Manuel Guerrero > 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 Suggested by Juan Manuel Guerrero : * 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