Skip to content

Commit fc571af

Browse files
committed
Add "make doc-dist" for tarballs w/ pre-generated documentation
1 parent 57a6234 commit fc571af

File tree

2 files changed

+58
-2
lines changed

2 files changed

+58
-2
lines changed

M2/Makefile.doc-dist

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
prefix ?= /usr/local
2+
exec_prefix ?= $(prefix)
3+
datadir ?= $(prefix)/share
4+
libdir ?= $(exec_prefix)/lib
5+
6+
PACKAGES := $(patsubst dump/%.dump, %, $(wildcard dump/*.dump))
7+
ENDIAN := $(shell printf '\x61\x62\x63\x64' | od -An -tx4 -N4 | tr -d ' \n' | \
8+
awk '{if($$0=="61626364") print "abcd"; else print "dcba"}')
9+
POINTER_SIZE := $(shell expr $(shell getconf LONG_BIT) / 8)
10+
DB_FILENAME = rawdocumentation-$(ENDIAN)-$(POINTER_SIZE).db
11+
DB_FILES := $(patsubst %, lib/Macaulay2/%/cache/$(DB_FILENAME), $(PACKAGES))
12+
13+
all: $(DB_FILES)
14+
15+
lib/Macaulay2/%/cache/$(DB_FILENAME): dump/%.dump
16+
mkdir -p $(@D)
17+
gdbm_load $< $@
18+
19+
install:
20+
mkdir -p $(DESTDIR)$(datadir)
21+
cp -r share/* $(DESTDIR)$(datadir)
22+
mkdir -p $(DESTDIR)$(libdir)
23+
cp -r lib/* $(DESTDIR)$(libdir)
24+
25+
clean:
26+
rm -rf lib
27+
28+
# Local Variables:
29+
# mode: makefile
30+
# End:

M2/Makefile.in

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
include include/config.Makefile
44
VPATH = @srcdir@
55
.PRECIOUS:@srcdir@/configure config.status
6-
.PHONY:unconfigure-libs reconfigure configure-help report-M2-location help scripts dist
6+
.PHONY: unconfigure-libs reconfigure configure-help report-M2-location help \
7+
scripts dist doc-dist
78
all install: \
89
check-make config.status configured check-for-undefined-configure-variables \
910
srcdir protect-configs configured-files check-machine \
@@ -62,7 +63,7 @@ clean:
6263
rm -f M2 srcdir .link-test srcdir confdefs.h configure.lineno conftest.* include/config.h
6364
rm -rf usr-dist conf_* usr-host
6465
rm -f pre-install.sh post-install.sh normal-install.sh
65-
rm -f $(DIST_NAME).tar.gz
66+
rm -f $(DIST_NAME).tar.gz $(DOC_DIST_NAME).tar.gz
6667

6768
install: configured; $(MAKE) -C distributions $@
6869
@srcdir@/configure : @srcdir@/configure.ac @srcdir@/m4/files; @srcdir@/autogen.sh
@@ -157,6 +158,30 @@ $(DIST_NAME).tar.gz: $(DIST_NAME)/M2
157158
mv M2.tar.gz $@
158159
rm -rf M2-emacs.tar $(DIST_NAME)
159160

161+
DOC_DIST_NAME = @PACKAGE_TARNAME@-docs-@PACKAGE_VERSION@
162+
163+
doc-dist: $(DOC_DIST_NAME).tar.gz
164+
165+
$(DOC_DIST_NAME).tar.gz:
166+
$(MAKE) -C Macaulay2/packages
167+
mkdir -p $(DOC_DIST_NAME)/share/doc
168+
cp -r @pre_docdir@ $(DOC_DIST_NAME)/share/doc
169+
cp -r @pre_infodir@ $(DOC_DIST_NAME)/share
170+
mkdir -p $(DOC_DIST_NAME)/dump
171+
for PACKAGE_DIR in @pre_libm2dir@/*; \
172+
do \
173+
PACKAGE=$$(basename $$PACKAGE_DIR); \
174+
if test -d @pre_libm2dir@/$$PACKAGE/cache; \
175+
then cd @pre_libm2dir@/$$PACKAGE/cache; \
176+
gdbm_dump rawdocumentation-*.db \
177+
@abs_builddir@/$(DOC_DIST_NAME)/dump/$$PACKAGE.dump; \
178+
fi; \
179+
done
180+
cp @srcdir@/Makefile.doc-dist $(DOC_DIST_NAME)/Makefile
181+
@TAR@ -czf $@ $(DOC_DIST_NAME)
182+
rm -rf $(DOC_DIST_NAME)
183+
184+
160185
announce:
161186
@ echo "================================================================="
162187
@ echo " Macaulay2 version @PACKAGE_VERSION@"
@@ -186,6 +211,7 @@ help:
186211
@ echo " clean remove all generated files except configured files"
187212
@ echo " distclean remove all generated files"
188213
@ echo " dist generate a source tarball for distribution"
214+
@ echo " doc-dist generate a tarball containing the M2 docs"
189215
@ echo " help show this help"
190216
@ echo ""
191217
@ echo "targets for all libraries:"

0 commit comments

Comments
 (0)