1 # --- uses $DISTNAME environment variable |
|
2 |
|
3 # -- makefile for Isabelle web pages (dist and main) |
1 # -- makefile for Isabelle web pages (dist and main) |
4 # -- $Id$ |
2 # -- $Id$ |
5 |
3 |
6 # --- perl scripts used in this makefile |
4 # --- external tools |
7 |
5 |
8 GENPAGE = bin/genpage |
6 GENPAGE = ./bin/genpage |
9 MKCONTENT = bin/mkcontents |
7 MKCONTENT = ./bin/mkcontents |
10 |
8 |
11 # --- |
9 # --- |
12 # --- genpage stuff |
10 # --- genpage stuff |
13 |
11 |
14 # --- directories for main isabelle pages |
12 # --- directories for main isabelle pages |
28 |
26 |
29 # --- |
27 # --- |
30 # --- doc content generation |
28 # --- doc content generation |
31 |
29 |
32 # --- location of the Contents file of the Isabelle documentation |
30 # --- location of the Contents file of the Isabelle documentation |
33 DOC_CONTENT_FILE = ../../Distribution/doc/Contents |
31 DOC_CONTENT_FILE = Contents |
34 |
|
35 # --- url prefixes for documentation links in main and dist dirs |
|
36 DIST_DOCU_PREFIX = $(DISTNAME)/doc/ |
|
37 MAIN_DOCU_PREFIX = dist/$(DISTNAME)/doc/ |
|
38 |
32 |
39 # --- target include files with documentation links |
33 # --- target include files with documentation links |
40 DOC_CONTENTS_MAIN = docu-contents.main |
34 DOC_CONTENTS_MAIN = docu-contents.main |
41 DOC_CONTENTS_DIST = docu-contents.dist |
35 DOC_CONTENTS_DIST = docu-contents.dist |
42 |
36 |
43 # --- |
37 # --- |
44 # --- begin rules |
38 # --- begin rules |
45 |
39 |
46 all: clean gen |
40 all: clean main dist |
|
41 @echo "###" |
|
42 @echo "### Finished. See main/ and dist/ for the resulting pages." |
|
43 @echo "###" |
47 |
44 |
48 gen: main dist |
45 main: |
|
46 @$(MKCONTENT) -p dist/`cat DISTNAME`/doc/ $(DOC_CONTENT_FILE) $(DOC_CONTENTS_MAIN) |
|
47 @env DISTNAME=`cat DISTNAME` \ |
|
48 $(GENPAGE) -t $(MAIN_LAYOUT)/$(TEMPLATE_NAME) -c $(MAIN_CONTENT) -o $(MAIN_TARGET) |
49 |
49 |
50 main: check |
50 dist: |
51 $(MKCONTENT) -p $(MAIN_DOCU_PREFIX) Contents $(DOC_CONTENTS_MAIN) |
51 @$(MKCONTENT) -p `cat DISTNAME`/doc/ $(DOC_CONTENT_FILE) $(DOC_CONTENTS_DIST) |
52 $(GENPAGE) -t $(MAIN_LAYOUT)/$(TEMPLATE_NAME) -c $(MAIN_CONTENT) -o $(MAIN_TARGET) |
52 @env DISTNAME=`cat DISTNAME` \ |
53 |
53 $(GENPAGE) -t $(DIST_LAYOUT)/$(TEMPLATE_NAME) -c $(DIST_CONTENT) -o $(DIST_TARGET) |
54 cd $(MAIN_TARGET); perl -pi -e "s/{ISABELLE}/$(DISTNAME)/g;" *.html |
|
55 |
|
56 dist: check |
|
57 $(MKCONTENT) -p $(DIST_DOCU_PREFIX) $(DOC_CONTENT_FILE) $(DOC_CONTENTS_DIST) |
|
58 $(GENPAGE) -t $(DIST_LAYOUT)/$(TEMPLATE_NAME) -c $(DIST_CONTENT) -o $(DIST_TARGET) |
|
59 |
|
60 cd $(DIST_TARGET); perl -pi -e "s/{ISABELLE}/$(DISTNAME)/g;" *.html |
|
61 |
54 |
62 clean: |
55 clean: |
63 rm -rf $(MAIN_TARGET) |
56 @rm -rf $(MAIN_TARGET) |
64 rm -rf $(DIST_TARGET) |
57 @rm -rf $(DIST_TARGET) |
65 rm -rf $(DOC_CONTENTS_MAIN) |
58 @rm -rf $(DOC_CONTENTS_MAIN) |
66 rm -rf $(DOC_CONTENTS_DIST) |
59 @rm -rf $(DOC_CONTENTS_DIST) |
67 rm -f `find . -name "*~" -type f` |
60 @find . -name "*~" -type f -print | xargs rm -f |
68 |
|
69 check: |
|
70 @if [ "$(DISTNAME)" = "" ]; then echo "Error: \$$DISTNAME not set."; exit 1; fi |
|