-
Notifications
You must be signed in to change notification settings - Fork 9
/
Makefile.docs
140 lines (131 loc) · 5.45 KB
/
Makefile.docs
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# ************** <auto-copyright.pl BEGIN do not edit this line> **************
#
# VR Juggler is (C) Copyright 1998-2011 by Iowa State University
#
# Original Authors:
# Allen Bierbaum, Christopher Just,
# Patrick Hartling, Kevin Meinert,
# Carolina Cruz-Neira, Albert Baker
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# *************** <auto-copyright.pl END do not edit this line> ***************
# =============================================================================
# This file is used only for generating and installing documentation. The
# variable $(webroot) should be assigned an appropriate value in order for
# an installation to work correctly.
#
# The following environment variables must be set to be able to build all the
# documentation:
#
# DOCBOOK_ROOT - The directory containing the DocBook XSL stylesheets and
# the tools needed to render DocBook documents (Batik,
# FOP, Saxon, and Xalan-J). This may be set as a "build
# variable" using a command line argumen to make(1).
# JAVA_HOME - The root directory of the Java runtime installation.
# TWEEK_BASE_DIR - The root directory of a Tweek Java API installation
# (using <buildir>/instlinks works fine).
# TWEEK_VERSION - The version of the Tweek Java API installation (see
# modules/tweek/VERSION).
# JCCL_BASE_DIR - The root directory of a JCCL Java API installation
# (using <buildir>/instlinks works fine).
# JCCL_VERSION - The version of the JCCL Java API installation (see
# modules/jackal/VERSION).
#
# Furthermore, the 'doxygen' command must be in the user's path, and it is
# generally best if the Graphviz tools are also in the user's path.
#
# NOTE: At present, building the Java API references for JCCL and VRJConfig is
# rather a pain. The javadoc command needs to be able to download information
# from www.vrjuggler.org for the Tweek and JCCL Java APIs to generate fully
# hyperlinked content, but the automated documentation rendering process
# complicates this. In some cases, it may be necessary to render the Tweek Java
# API documentation & upload it and then render the JCCL Java API documentation
# & upload it. At that point, it is then possible to render all the Java API
# documentation using the automated process. Ugh.
# -----------------------------------------------------------------------------
# This makefile requires the use of GNU make.
# =============================================================================
# ******** Fill these in!! ********
webroot= $(HOME)/public_html/jugglerweb
distroot= $(HOME)/vrj-docs.dist
# *********************************
SUBDIR= doc/build.system \
modules/gadgeteer/doc \
modules/gadgeteer/doc/device.driver.guide \
modules/jackal/doc \
modules/sonix/doc \
modules/tweek/doc \
modules/tweek/doc/programmer.guide \
modules/vapor/doc \
modules/vapor/doc/programmer.guide \
modules/vrjuggler/doc/doxy \
modules/vrjuggler/doc/getting.started.guide \
modules/vrjuggler/doc/programmer.guide
JAVADOC_SUBDIR= modules/tweek/java \
modules/jackal \
modules/vrjuggler/vrjconfig
all:
ifndef TWEEK_BASE_DIR
$(warning TWEEK_BASE_DIR is not set)
endif
ifndef TWEEK_VERSION
$(warning TWEEK_VERSION is not set)
endif
ifndef JCCL_BASE_DIR
$(warning JCCL_BASE_DIR is not set)
endif
ifndef JCCL_VERSION
$(warning JCCL_VERSION is not set)
endif
@for dir in $(SUBDIR) ; do \
echo "===> $$dir" ; \
$(MAKE) -C $$dir docs || exit 1; \
echo "<=== $$dir" ; \
done
@for dir in $(JAVADOC_SUBDIR) ; do \
echo "===> $$dir" ; \
$(MAKE) -C $$dir -f Makefile.docs docs || exit 1; \
echo "<=== $$dir" ; \
done
install:
@for dir in $(SUBDIR) ; do \
echo "===> $$dir" ; \
$(MAKE) -C $$dir webroot=$(webroot) install-docs || exit 1; \
echo "<=== $$dir" ; \
done
@for dir in $(JAVADOC_SUBDIR) ; do \
echo "===> $$dir" ; \
$(MAKE) -C $$dir -f Makefile.docs install-docs || exit 1; \
echo "<=== $$dir" ; \
done
.PHONY: release
release:
-[ ! -d "$(distroot)" ] && mkdir -p "$(distroot)"
cp doc/dist/index.html "$(distroot)/"
cp "$(webroot)/base_style.css" "$(distroot)/"
$(MAKE) -f Makefile.docs webroot="$(distroot)" install
clobber:
@for dir in $(SUBDIR) ; do \
echo "===> $$dir" ; \
$(MAKE) -C $$dir clobber || exit 1; \
echo "<=== $$dir" ; \
done
for dir in $(JAVADOC_SUBDIR) ; do \
echo "===> $$dir" ; \
$(MAKE) -C $$dir -f Makefile.docs clobber || exit 1; \
echo "<=== $$dir" ; \
done