auctex-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CTAN update


From: Arash Esbati
Subject: Re: CTAN update
Date: Tue, 25 Jun 2024 20:57:37 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

Hi Keita,

Ikumi Keita <ikumi@ikumi.que.jp> writes:

> It seems that the new targets don't have expected dependencies. For
> example, type "make preview-mk.ins" and "make preview.drv" in
> succession. The second "make" re-runs
> cd latex && $(TEX) '\nonstopmode \input bootstrap.ins'
> , which is redundant.

Yes, I didn't pay attention to that a lot.

> In order to write the dependency rules reliably and simply, I think we
> should have another GNUmakefile in latex subdirectory and put the
> relavant rules in it.

Having a second GNUmakefile in latex/ is something that I'm trying to
avoid; I hope we manage to clean up the one top level and then be done
with it.  I can think of something like this; if you think it's not
elegant, I could get rid of preview.ins and preview.pdf by moving the
whole thing into preview-ctan.

--8<---------------cut here---------------start------------->8---
diff --git a/GNUmakefile b/GNUmakefile
index 617daea1..dd969698 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -22,6 +22,7 @@ EMACS=$(EMACSBIN) --batch -q -no-site-file -no-init-file -l 
lpath.el
 MAKEINFO=makeinfo
 INSTALL_INFO=install-info
 PERL=perl
+PDFLATEX=pdfla$(TEX)

 MANUALS=auctex preview-latex
 INFO_FILES=$(MANUALS:=.info)
@@ -82,6 +83,10 @@ elpa: $(MAIN_GENERATED_FILES) ChangeLog
 clean:
        rm -f $(ALL_GENERATED_FILES) \
                $(wildcard *.elc style/*.elc) \
+               $(LATEX_FILES) \
+               $(wildcard latex/*.aux latex/*.drv latex/*.hd latex/*.log) \
+               $(wildcard latex/*.out latex/*.pdf latex/*.tar.gz) \
+               latex/preview-mk.ins latex/preview.ins \
                auctex-autoloads.el \
                $(DYNVARSFILES)

@@ -137,6 +142,30 @@ $(LATEX_FILES): latex/preview.dtx latex/bootstrap.ins
        cd latex; $(TEX) '\nonstopmode \input bootstrap.ins'
        cd latex; $(TEX) '\nonstopmode \input preview-mk.ins'

+# The next rules are copied&adapted from Makefile.in and
+# latex/Makefile.in.  `preview-ctan' is the rule needed for creating a
+# tarball for CTAN upload.
+preview.ins: latex/preview.dtx
+       cd latex && rm -f $@ && \
+       $(TEX) '\nonstopmode\def\jobname{.ins}\input docstrip ' \
+       '\generate{\file{preview.ins}{\from{preview.dtx}{installer}}}' \
+       '\endbatchfile'
+
+preview.pdf: latex/preview.dtx latex/preview.sty
+       cd latex && \
+       $(PDFLATEX) '\nonstopmode \input{preview.drv}' && \
+       $(PDFLATEX) '\nonstopmode \input{preview.drv}' && \
+       $(PDFLATEX) '\nonstopmode \input{preview.drv}'
+
+preview-ctan: $(LATEX_FILES) preview.ins preview.pdf
+       cd latex && \
+       mkdir -p preview && \
+       cp README preview.dtx preview.ins preview.pdf preview/ && \
+       tar -cz --owner=root --group=root -f preview.tar.gz preview/ && \
+       rm -rf preview/
+
+# Cross-file variable checking with lexical binding
+# 
https://www.gnu.org/software/emacs/manual/html_node/elisp/Converting-to-Lexical-Binding.html
 DYNVARSFILES = *.dynvars style/*.dynvars auctex-dynvars
 dynvars-check:
        rm -f $(wildcard *.elc) $(wildcard style/*.elc) $(DYNVARSFILES)
--8<---------------cut here---------------end--------------->8---

Best, Arash



reply via email to

[Prev in Thread] Current Thread [Next in Thread]