Files @ 79c5b890eb8e
Branch filter:

Location: Copyleft/guide/Makefile

bkuhn
Consolidate copyright notices into single place.

Historically, this project used (more-or-less) a file-by-file copyright
inventory. This commit ends that practice. The project now has a
single toplevel copyright inventory, stored exclusively in
comprehensive-gpl-guide.tex (so that it appears also in compiled
versions of the Guide as well).

The side-effect of this commit is that the parts may no longer be easily
publishable separably without (at least) the additional work of
copyright notice reconstruction. This may in particular create a
challenge for the FSF, who has historically selectively published
sections of this Guide as materials for its CLE classes.

However, without this change, this Guide will eventually suffer from the
inherent problems in maintaining file-by-file copyright inventory.
Circumstances simply dictate a single, top-level copyright and license
notice for the entire Guide.

In addition to consolidation of copyright notices, I've also herein
updated my historical copyright notices to properly credit me for my own
work done in 2003 through 2005.

I've also updated the license notice to reflect the changes made by the
previous commit and related issues.
# Makefile for Copyleft Tutorial                      -*- GNUMakefile -*-

ifndef BOOK_BASE
BOOK_BASE=comprehensive-gpl-guide
endif

ifndef WEB_INSTALL_DIR
WEB_INSTALL_DIR = /path/to/html/install/directory
endif

LATEX_INPUT_FILES = $(BOOK_BASE).tex compliance-guide.tex license-texts.tex enforcement-case-studies.tex gpl-lgpl.tex third-party-citations.tex
BOOK_CLASS_FILE = gpl-book.cls

CSS_FILES = css/*.css
JAVASCRIPT_FILES = js/*.js
WEB_CONFIG_FILE = webhacks.cfg

HTML_OUTPUT_DIR = public_html

TEX4HT=tex4ht
T4HT=t4ht
HTLATEX=htlatex
PDFLATEX = pdflatex
LATEX = latex
BIBTEX = bibtex
FIG2DEV = fig2dev
DVIPS=dvips

all:	err $(BOOK_BASE).pdf $(BOOK_BASE).ps html

pdf:	err $(BOOK_BASE).pdf

html:	$(HTML_OUTPUT_DIR)/monolithic/$(BOOK_BASE).html $(HTML_OUTPUT_DIR)/$(BOOK_BASE).html pdf $(BOOK_BASE).ps jscssmonolitic jscss
	/bin/ln -f $(BOOK_BASE).ps $(HTML_OUTPUT_DIR)/$(BOOK_BASE).ps
	/bin/ln -f $(BOOK_BASE).pdf $(HTML_OUTPUT_DIR)/$(BOOK_BASE).pdf

.SUFFIXES: .fig .postscript .eps .pdf .pstex_t .pstex .ps .dvi .tex

.postscript.pdf:
	ps2pdf $< $@

.postscript.eps:
	ps2epsi $< $@

.dvi.ps:
	$(DVIPS) $< -o $@

.tex.dvi:
	$(LATEX) $<

.fig.pdf:
	$(FIG2DEV) -L pdf -p "portrait" -c $< > $@

.fig.pstex_t:
	$(FIG2DEV) -L pstex_t $< > $@

.fig.pstex:
	$(FIG2DEV) -L pstex $< > $@

$(BOOK_BASE).pdf: $(PDF_FIGS) $(LATEX_INPUT_FILES)
	$(PDFLATEX) $(BOOK_BASE)
	$(PDFLATEX) $(BOOK_BASE)
	$(PDFLATEX) $(BOOK_BASE)

$(HTML_OUTPUT_DIR)/monolithic/$(BOOK_BASE).html: $(LATEX_INPUT_FILES) $(WEB_CONFIG_FILE)
	mkdir -p $(HTML_OUTPUT_DIR)/monolithic/js
	mkdir -p $(HTML_OUTPUT_DIR)/monolithic/css
	/bin/rm -f $(BOOK_BASE)*.html
	/bin/rm -f $(BOOK_BASE)*.js
	$(HTLATEX) comprehensive-gpl-guide.tex "webhacks,xhtml,mouseover,fn-in,monolith"
	$(HTLATEX) comprehensive-gpl-guide.tex "webhacks,xhtml,mouseover,fn-in,monolith"
	mv ${BOOK_BASE}*js $(HTML_OUTPUT_DIR)/monolithic/js
	/bin/rm -f $(BOOK_BASE)*.html
	/bin/rm -f $(BOOK_BASE)*.js
	$(HTLATEX) comprehensive-gpl-guide.tex "webhacks,xhtml,fn-in,monolith"
	mv $(BOOK_BASE)*html $(HTML_OUTPUT_DIR)/monolithic
	mv cm*png $(HTML_OUTPUT_DIR)/monolithic
	mv ${BOOK_BASE}*css $(HTML_OUTPUT_DIR)/monolithic
	/bin/rm -f ${BOOK_BASE}*aux ${BOOK_BASE}*dvi ${BOOK_BASE}*idv ${BOOK_BASE}*lg ${BOOK_BASE}*tmp ${BOOK_BASE}*4ct ${BOOK_BASE}*4tc ${BOOK_BASE}*toc ${BOOK_BASE}*out ${BOOK_BASE}*xref

jscssmonolitic: $(CSS_FILES) $(JAVASCRIPT_FILES)
	cp -pa js/*js $(HTML_OUTPUT_DIR)/monolithic/js
	cp -pa css/*css $(HTML_OUTPUT_DIR)/monolithic/css

$(HTML_OUTPUT_DIR)/$(BOOK_BASE).html: $(LATEX_INPUT_FILES)  $(WEB_CONFIG_FILE)
	mkdir -p $(HTML_OUTPUT_DIR)/js
	mkdir -p $(HTML_OUTPUT_DIR)/css
	/bin/rm -f $(BOOK_BASE)*.html
	/bin/rm -f $(BOOK_BASE)*.js
	$(HTLATEX) comprehensive-gpl-guide.tex "webhacks,xhtml,2,next,mouseover,fn-in"
	mv ${BOOK_BASE}*js $(HTML_OUTPUT_DIR)/js
	/bin/rm -f $(BOOK_BASE)*.html
	/bin/rm -f $(BOOK_BASE)*.js
	$(HTLATEX) comprehensive-gpl-guide.tex "webhacks,2,next,fn-in"
	mv ${BOOK_BASE}*css $(HTML_OUTPUT_DIR)
	mv ${BOOK_BASE}*html $(HTML_OUTPUT_DIR)
	mv cm*png $(HTML_OUTPUT_DIR)
	/bin/rm -f ${BOOK_BASE}*aux ${BOOK_BASE}*dvi ${BOOK_BASE}*idv ${BOOK_BASE}*lg ${BOOK_BASE}*tmp ${BOOK_BASE}*4ct ${BOOK_BASE}*4tc ${BOOK_BASE}*toc ${BOOK_BASE}*out ${BOOK_BASE}*xref

jscss: $(CSS_FILE) $(JAVASCRIPT_FILES)
	cp -pa js/*js $(HTML_OUTPUT_DIR)/js
	cp -pa css/*css $(HTML_OUTPUT_DIR)/css

$(BOOK_BASE).dvi: $(LATEX_INPUT_FILES) $(EPS_FIGS)
	$(LATEX)  $(BOOK_BASE).tex
	$(LATEX)  $(BOOK_BASE).tex

install: all
	chmod -R oug+r $(HTML_OUTPUT_DIR)
	find $(HTML_OUTPUT_DIR) -type d -exec chmod gou+rx {} \;
	rsync -HavP --delete --delay-updates $(HTML_OUTPUT_DIR)/ $(WEB_INSTALL_DIR)/
	chmod -R oug+r $(WEB_INSTALL_DIR)
	find $(WEB_INSTALL_DIR) -type d -exec chmod gou+rx {} \;
	cd $(WEB_INSTALL_DIR); /bin/ln -sf comprehensive-gpl-guide.html index.html
	cd $(WEB_INSTALL_DIR)/monolithic/; /bin/ln -sf comprehensive-gpl-guide.html index.html
clean:
	/bin/rm -f $(BOOK_BASE).ps $(BOOK_BASE).pdf $(BOOK_BASE).log texput.log $(BOOK_BASE).lg $(BOOK_BASE).tmp $(BOOK_BASE).xref *.4ct *.4tc *.aux *.dvi $(BOOK_BASE)*.html *.idv *.lg *.tmp $(BOOK_BASE).css $(BOOK_BASE).log $(BOOK_BASE).out $(BOOK_BASE)-js.* cm*png
	/bin/rm -rf public_html
err: ; $(ERR)