Files
@ ea8cab561d1d
Branch filter:
Location: Copyleft/guide/Makefile
ea8cab561d1d
4.1 KiB
text/x-makefile
Rewrite pasted paragraph with historical context.
This change perhaps is somewhat controversial, but reflects honest
reality of this history of additional requirements on GPL. The
additional requirements that GPLv3 permits mostly represent historically
known situations where GPLv2 permitted license compatibility with Free
Software licenses containing such requirements.
Orthodox compatibility theory demands that such additional requirements
have explicit codification in a copyleft license, which hints at why
GPLv3 needed to include this section.
However, historical copyright holder toleration of these sorts of
requirements placed on GPLv2 works is well-documented, and failure to
mention it here is a disservice to the reader.
This change perhaps is somewhat controversial, but reflects honest
reality of this history of additional requirements on GPL. The
additional requirements that GPLv3 permits mostly represent historically
known situations where GPLv2 permitted license compatibility with Free
Software licenses containing such requirements.
Orthodox compatibility theory demands that such additional requirements
have explicit codification in a copyleft license, which hints at why
GPLv3 needed to include this section.
However, historical copyright holder toleration of these sorts of
requirements placed on GPLv2 works is well-documented, and failure to
mention it here is a disservice to the reader.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | # 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
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)
|