mirror of
https://github.com/netwide-assembler/nasm.git
synced 2024-11-21 03:14:19 +08:00
941c75a2b2
Significantly improve the portability/reliability of a general make command. Build a .pdf.xz version of the documentation, using an uncompressed pdf as basis. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
128 lines
2.7 KiB
Makefile
128 lines
2.7 KiB
Makefile
#
|
|
# UNIX Makefile for NASM documentation
|
|
#
|
|
|
|
@SET_MAKE@
|
|
|
|
top_srcdir = @top_srcdir@
|
|
srcdir = @srcdir@
|
|
VPATH = @srcdir@
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
bindir = @bindir@
|
|
mandir = @mandir@
|
|
docdir = @docdir@
|
|
htmldir = @htmldir@
|
|
infodir = @infodir@
|
|
datarootdir = @datarootdir@
|
|
|
|
INSTALL = @INSTALL@
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
|
|
PERL = perl -I$(srcdir)
|
|
|
|
PDFOPT = @PDFOPT@
|
|
|
|
MKDIR_P = @MKDIR_P@
|
|
RM_F = rm -f
|
|
RM_RF = rm -rf
|
|
CP_F = cp -f
|
|
CP_UF = cp -uf
|
|
|
|
# Optional tools
|
|
XZ = @XZ@
|
|
|
|
# Optional targets
|
|
XZFILES = @XZFILES@
|
|
|
|
# Auxiliary files referenced by the HTML files
|
|
HTMLAUX = nasmdoc.css local.css nasmlogw.png
|
|
|
|
SRCS = nasmdoc.src inslist.src changes.src warnings.src version.src
|
|
OUT = html nasmdoc.txt nasmdoc.pdf $(XZFILES)
|
|
XZOUT = nasmdoc.pdf.xz
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .pfa .ph
|
|
|
|
.PHONY: all xzfiles html clean spotless install
|
|
|
|
all: $(OUT)
|
|
|
|
xzfiles: $(XZOUT)
|
|
|
|
inslist.src: inslist.pl ../x86/insns.dat
|
|
$(PERL) $(srcdir)/inslist.pl $(srcdir)/../x86/insns.dat
|
|
|
|
html: $(HTMLAUX)
|
|
$(MKDIR_P) html
|
|
for f in $(HTMLAUX); do $(CP_UF) "$(srcdir)/$$f" html/; done
|
|
$(MAKE) html/nasmdoc0.html
|
|
|
|
RDSRC = $(PERL) $(srcdir)/rdsrc.pl -I$(srcdir)/
|
|
|
|
html/nasmdoc0.html: $(SRCS) rdsrc.pl
|
|
$(RM_F) html/*.html
|
|
$(RDSRC) -ohtml html nasmdoc.src
|
|
|
|
nasmdoc.dip: $(SRCS) rdsrc.pl
|
|
$(RDSRC) dip nasmdoc.src
|
|
|
|
nasmdoc.txt: $(SRCS) rdsrc.pl
|
|
$(RDSRC) txt nasmdoc.src
|
|
|
|
version.src: $(top_srcdir)/version.pl $(top_srcdir)/version
|
|
$(PERL) $(top_srcdir)/version.pl docsrc \
|
|
< $(top_srcdir)/version > version.src
|
|
|
|
nasmdoc.ps: nasmdoc.dip genps.pl afmmetrics.ph ttfmetrics.ph \
|
|
pswidth.ph nasmlogo.eps psfonts.ph head.ps
|
|
$(PERL) $(srcdir)/genps.pl -epsdir "$(srcdir)" \
|
|
-headps $(srcdir)/head.ps \
|
|
-fontpath fontpath \
|
|
-fontmap Fontmap \
|
|
nasmdoc.dip > nasmdoc.ps
|
|
|
|
fontpath: nasmdoc.ps
|
|
@: Generated by side effect
|
|
|
|
Fontmap: nasmdoc.ps
|
|
@: Generated by side effect
|
|
|
|
nasmdoc.pdf: nasmdoc.ps pspdf.pl fontpath
|
|
$(PERL) $(srcdir)/pspdf.pl \
|
|
$(PDFOPT) $< $@ fontpath
|
|
|
|
nasmdoc-raw.pdf: nasmdoc.ps pspdf.pl fontpath
|
|
$(PERL) $(srcdir)/pspdf.pl -nocompress \
|
|
$(PDFOPT) $< $@ fontpath
|
|
|
|
nasmdoc.pdf.xz: nasmdoc-raw.pdf
|
|
$(RM_F) $@
|
|
$(XZ) -9e < $< > $@
|
|
|
|
clean:
|
|
-$(RM_F) *.rtf *.hpj *.texi *.gid *.ipf *.dip
|
|
-$(RM_F) *.aux *.cp *.fn *.ky *.pg *.log *.toc *.tp *.vr
|
|
-$(RM_F) inslist.src version.src fontpath Fontmap
|
|
-$(RM_F) nasmdoc*.ps nasmdoc-raw.pdf
|
|
|
|
spotless: clean
|
|
-$(RM_RF) html info
|
|
-$(RM_F) *.hlp nasmdoc.txt *.inf *.pdf *.pdf.xz *.dvi
|
|
|
|
install: all
|
|
$(MKDIR_P) $(DESTDIR)$(htmldir)
|
|
$(INSTALL_DATA) html/* $(DESTDIR)$(htmldir)
|
|
$(MKDIR_P) $(DESTDIR)$(docdir)
|
|
$(INSTALL_DATA) nasmdoc.pdf nasmdoc.txt $(DESTDIR)$(docdir)
|
|
|
|
#
|
|
# Dummy rules that changes make behavior
|
|
# (at end to avoid confusing non-GNU makes)
|
|
#
|
|
.SECONDARY:
|
|
|
|
.DELETE_ON_ERROR:
|