add script to copy WebGL stuff in place
This commit is contained in:
parent
3cf4620878
commit
d6d3097fe9
6 changed files with 118 additions and 18 deletions
71
Makefile
71
Makefile
|
|
@ -149,7 +149,7 @@ CPPFLAGS += $(CPPFLAGS_WARN)
|
|||
|
||||
######################################################################
|
||||
|
||||
package_dir := $(package_name)-$(package-version)
|
||||
package_dir := $(package_name)
|
||||
|
||||
HOB3L := ./hob3l.x
|
||||
|
||||
|
|
@ -172,6 +172,19 @@ TEST_STL.stl := \
|
|||
H_CPMAT := $(notdir $(wildcard include/hob3lbase/*.h))
|
||||
H_HOB3L := $(notdir $(wildcard include/hob3l/*.h))
|
||||
|
||||
######################################################################
|
||||
# data files
|
||||
|
||||
SHARE_DATA := \
|
||||
gl-matrix/README.txt \
|
||||
gl-matrix/common.js \
|
||||
gl-matrix/mat4.js \
|
||||
gl-matrix/vec3.js \
|
||||
js-hob3l.local.html
|
||||
|
||||
OUT_DATA := \
|
||||
js-hob3l.html
|
||||
|
||||
######################################################################
|
||||
|
||||
# Basic Algorithms and Data Structures:
|
||||
|
|
@ -264,12 +277,16 @@ all: \
|
|||
libcptest.a
|
||||
|
||||
bin: \
|
||||
hob3l.x
|
||||
hob3l.x \
|
||||
out/hob3l-js-copy-aux
|
||||
|
||||
lib: \
|
||||
libhob3l.a \
|
||||
libhob3lbase.a
|
||||
|
||||
data: \
|
||||
$(addprefix out/,$(OUT_DATA))
|
||||
|
||||
maintainer-clean: zap
|
||||
|
||||
.PHONY: sweep
|
||||
|
|
@ -322,6 +339,16 @@ hob3l.x: $(MOD_O.hob3l.x) libhob3l.a libhob3lbase.a
|
|||
cptest.x: $(MOD_O.cptest.x) libhob3lbase.a libcptest.a
|
||||
$(CC) -o $@ $(MOD_O.cptest.x) -L. -lcptest -lhob3lbase $(LIBS) -lm $(CFLAGS)
|
||||
|
||||
out/%: script/%.in
|
||||
sed 's_@pkgdatadir@_$(pkgdatadir)_g' $< > $@.new
|
||||
mv $@.new $@
|
||||
|
||||
out/%.html: share/%.local.html
|
||||
cat $< | \
|
||||
sed 's@LOCAL.*@-->@' | \
|
||||
sed 's@REMOTE --- \(.*\)-->@-->\1@' > $@.new
|
||||
mv $@.new $@
|
||||
|
||||
src/mat_gen_ext.c: $(srcdir)/script/mkmat
|
||||
$(srcdir)/script/mkmat
|
||||
|
||||
|
|
@ -437,6 +464,11 @@ installdirs-bin:
|
|||
$(NORMAL_INSTALL)
|
||||
$(MKINSTALLDIR) $(DESTDIR)$(bindir)
|
||||
|
||||
installdirs-data:
|
||||
$(NORMAL_INSTALL)
|
||||
$(MKINSTALLDIR) $(DESTDIR)$(pkgdatadir)
|
||||
$(MKINSTALLDIR) $(DESTDIR)$(pkgdatadir)/gl-matrix
|
||||
|
||||
installdirs-lib:
|
||||
$(NORMAL_INSTALL)
|
||||
$(MKINSTALLDIR) $(DESTDIR)$(libdir)
|
||||
|
|
@ -446,11 +478,27 @@ installdirs-include:
|
|||
$(MKINSTALLDIR) $(DESTDIR)$(includedir)/hob3lbase
|
||||
$(MKINSTALLDIR) $(DESTDIR)$(includedir)/hob3l
|
||||
|
||||
installdirs: installdirs-bin installdirs-lib installdirs-include
|
||||
|
||||
install-bin: installdirs-bin
|
||||
$(NORMAL_INSTALL)
|
||||
$(INSTALL_BIN) hob3l.x $(DESTDIR)$(bindir)/$(package_name)$(_EXE)
|
||||
$(INSTALL_BIN) \
|
||||
hob3l.x \
|
||||
$(DESTDIR)$(bindir)/$(package_name)$(_EXE)
|
||||
$(INSTALL_SCRIPT) \
|
||||
out/hob3l-js-copy-aux \
|
||||
$(DESTDIR)$(bindir)/$(package_name)-js-copy-aux
|
||||
|
||||
install-data: installdirs-data
|
||||
$(NORMAL_INSTALL)
|
||||
for F in $(SHARE_DATA); do \
|
||||
$(INSTALL_DATA) \
|
||||
share/$$F \
|
||||
$(DESTDIR)$(pkgdatadir)/$$F || exit 1; \
|
||||
done
|
||||
for F in $(OUT_DATA); do \
|
||||
$(INSTALL_DATA) \
|
||||
out/$$F \
|
||||
$(DESTDIR)$(pkgdatadir)/$$F || exit 1; \
|
||||
done
|
||||
|
||||
install-lib: installdirs-lib
|
||||
$(NORMAL_INSTALL)
|
||||
|
|
@ -462,12 +510,12 @@ install-include: installdirs-include
|
|||
for H in $(H_CPMAT); do \
|
||||
$(INSTALL_DATA) \
|
||||
include/hob3lbase/$$H \
|
||||
$(DESTDIR)$(includedir)/hob3lbase/$$H; \
|
||||
$(DESTDIR)$(includedir)/hob3lbase/$$H || exit 1; \
|
||||
done
|
||||
for H in $(H_HOB3L); do \
|
||||
$(INSTALL_DATA) \
|
||||
include/hob3l/$$H \
|
||||
$(DESTDIR)$(includedir)/hob3l/$$H; \
|
||||
$(DESTDIR)$(includedir)/hob3l/$$H || exit 1; \
|
||||
done
|
||||
|
||||
uninstall:
|
||||
|
|
@ -476,13 +524,18 @@ uninstall:
|
|||
$(UNINSTALL) $(DESTDIR)$(libdir)/$(LIB_)hob3lbase$(_LIB)
|
||||
$(UNINSTALL) $(DESTDIR)$(libdir)/$(LIB_)$(package_name)$(_LIB)
|
||||
for H in $(H_CPMAT); do \
|
||||
$(UNINSTALL) $(DESTDIR)$(includedir)/hob3lbase/$$H; \
|
||||
$(UNINSTALL) $(DESTDIR)$(includedir)/hob3lbase/$$H || exit 1; \
|
||||
done
|
||||
for H in $(H_HOB3L); do \
|
||||
$(UNINSTALL) $(DESTDIR)$(includedir)/hob3l/$$H; \
|
||||
$(UNINSTALL) $(DESTDIR)$(includedir)/hob3l/$$H || exit 1; \
|
||||
done
|
||||
for F in $(DATA); do \
|
||||
$(UNINSTALL) $(DESTDIR)$(pkgdatadir)/$$F || exit 1; \
|
||||
done
|
||||
$(UNINSTALL_DIR) $(DESTDIR)$(includedir)/hob3lbase
|
||||
$(UNINSTALL_DIR) $(DESTDIR)$(includedir)/hob3l
|
||||
$(UNINSTALL_DIR) $(DESTDIR)$(pkgdatadir)/gl-matrix
|
||||
$(UNINSTALL_DIR) $(DESTDIR)$(pkgdatadir)
|
||||
|
||||
# check installation by running 'test' with installed binary
|
||||
check: clean-test
|
||||
|
|
|
|||
|
|
@ -325,8 +325,8 @@ and all `*dir` options and also `DESTDIR` support as well as
|
|||
```
|
||||
|
||||
For better package separation, the `install` target is split into
|
||||
`install-bin`, `install-lib`, `install-include` (e.g. to have a
|
||||
separate `-dev` package as in Debian distributions).
|
||||
`install-bin`, `install-data`, `install-lib`, `install-include`
|
||||
(e.g. to have a separate `-dev` package as in Debian distributions).
|
||||
|
||||
Unfortunately, there is no `install-doc` yet. FIXME.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Top Level Structures
|
||||
# JavaScript/WebGL Scene Format
|
||||
|
||||
The top-level has the following variables (declared with 'var' or by
|
||||
assigning to an identifier):
|
||||
|
|
@ -178,9 +178,9 @@ supports uint16 indices.
|
|||
|
||||
## Example
|
||||
|
||||
The following draw a centred cuboid with edge length 8 cm in x
|
||||
direction, 6 cm in y direction and 4 cm in z direction in orange at
|
||||
full opacity. Groups are not used in this example.
|
||||
The following represents a centred cuboid with edge length 8 cm in x
|
||||
direction, 6 cm in y direction and 4 cm in z direction in bright
|
||||
orange colour at full opacity. Groups are not used in this example.
|
||||
|
||||
```
|
||||
var group = {};
|
||||
|
|
|
|||
21
install.mk
21
install.mk
|
|
@ -38,6 +38,8 @@ localedir := $(datarootdir)/locale
|
|||
mandir := $(datarootdir)/man
|
||||
lispdir := $(datarootdir)/emacs/site-lisp
|
||||
|
||||
pkgdatadir := $(datadir)/$(package_dir)
|
||||
|
||||
htmldir := $(docdir)
|
||||
dvidir := $(docdir)
|
||||
pdfdir := $(docdir)
|
||||
|
|
@ -57,6 +59,9 @@ man2ext := .2
|
|||
.PHONY: install-bin
|
||||
install-bin:
|
||||
|
||||
.PHONY: install-data
|
||||
install-data:
|
||||
|
||||
.PHONY: install-lib
|
||||
install-lib:
|
||||
|
||||
|
|
@ -67,7 +72,7 @@ install-include:
|
|||
install-doc: doc
|
||||
|
||||
.PHONY: install
|
||||
install: install-bin install-lib install-include install-doc
|
||||
install: install-bin install-data install-lib install-include install-doc
|
||||
|
||||
.PHONY: uninstall
|
||||
uninstall:
|
||||
|
|
@ -78,6 +83,9 @@ install-lib: lib installdirs-lib
|
|||
.PHONY: install-bin
|
||||
install-bin: bin installdirs-bin
|
||||
|
||||
.PHONY: install-data
|
||||
install-data: data installdirs-data
|
||||
|
||||
.PHONY: install-include
|
||||
install-include: installdirs-include
|
||||
|
||||
|
|
@ -85,11 +93,15 @@ install-include: installdirs-include
|
|||
install-doc: install-man install-info install-html install-dvi install-ps install-pdf
|
||||
|
||||
.PHONY: installdirs
|
||||
installdirs: installdirs-bin installdirs-lib installdirs-include installdirs-doc
|
||||
installdirs: \
|
||||
installdirs-bin installdirs-data installdirs-lib installdirs-include installdirs-doc
|
||||
|
||||
.PHONY: installdirs-bin
|
||||
installdirs-bin:
|
||||
|
||||
.PHONY: installdirs-data
|
||||
installdirs-data:
|
||||
|
||||
.PHONY: installdirs-lib
|
||||
installdirs-lib:
|
||||
|
||||
|
|
@ -158,7 +170,7 @@ distclean: clean
|
|||
maintainer-clean: distclean
|
||||
|
||||
.PHONY: all
|
||||
all: bin lib doc
|
||||
all: bin data lib doc
|
||||
|
||||
.PHONY: doc
|
||||
doc: info man html dvi ps pdf
|
||||
|
|
@ -166,6 +178,9 @@ doc: info man html dvi ps pdf
|
|||
.PHONY: bin
|
||||
bin:
|
||||
|
||||
.PHONY: data
|
||||
data:
|
||||
|
||||
.PHONY: lib
|
||||
lib:
|
||||
|
||||
|
|
|
|||
30
script/hob3l-js-copy-aux.in
Normal file
30
script/hob3l-js-copy-aux.in
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
#! /bin/sh
|
||||
pkgdatadir='@pkgdatadir@'
|
||||
|
||||
FILE="$1"
|
||||
if test -z "$FILE"
|
||||
then
|
||||
echo "Usage: $0 FILE.js" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
DIR=$(dirname "$FILE")
|
||||
NAME=$(basename "$FILE" .js)
|
||||
|
||||
rm -f "$FILE.gz"
|
||||
gzip -c "$FILE" > "$FILE.gz"
|
||||
|
||||
mkdir -p "$DIR/gl-matrix"
|
||||
|
||||
cp "$pkgdatadir/gl-matrix/common.js" "$DIR/gl-matrix"
|
||||
cp "$pkgdatadir/gl-matrix/mat4.js" "$DIR/gl-matrix"
|
||||
cp "$pkgdatadir/gl-matrix/vec3.js" "$DIR/gl-matrix"
|
||||
|
||||
rm -f "$DIR/$NAME.local.html"
|
||||
cat "$pkgdatadir/js-hob3l.local.html" \
|
||||
| sed "s@js-hob3l@$NAME@" \
|
||||
> "$DIR/$NAME.local.html"
|
||||
|
||||
rm -f "$DIR/$NAME.html"
|
||||
cat "$pkgdatadir/js-hob3l.html" \
|
||||
| sed "s@js-hob3l@$NAME@" \
|
||||
> "$DIR/$NAME.html"
|
||||
|
|
@ -129,6 +129,8 @@ case "dump-stl": bool &opt->dump_stl {
|
|||
}
|
||||
case "dump-js": bool &opt->dump_js {
|
||||
"print after stage 4: final 2D polygon stack in JavaScript/WebGL format";
|
||||
"The script 'hob3l-js-copy-aux' will add files needed to view the model";
|
||||
"in a WebGL enabled web browser.";
|
||||
opt->have_dump = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue