diff options
Diffstat (limited to 'src/hyper/Makefile.pamphlet')
-rw-r--r-- | src/hyper/Makefile.pamphlet | 343 |
1 files changed, 0 insertions, 343 deletions
diff --git a/src/hyper/Makefile.pamphlet b/src/hyper/Makefile.pamphlet deleted file mode 100644 index f48ef5b5..00000000 --- a/src/hyper/Makefile.pamphlet +++ /dev/null @@ -1,343 +0,0 @@ -%% Oh Emacs, this is a -*- Makefile -*-, so give me tabs. -\documentclass{article} -\usepackage{axiom} - -\title{\$SPAD/src/hyper Makefile} -\author{Timothy Daly \and Gabriel Dos~Reis} - -\begin{document} - -\maketitle - -\begin{abstract} -\end{abstract} - -\tableofcontents -\eject - -NOTE: - -The programs \Tool{hypertex}, \Tool{htadd}, and \Tool{htsearch}, used -to be installed in [[$(axiom_target_bindir)]]. Now all executable -from HyperDoc component are installed in [[$(axiom_target_libdir)]]. - -\section{Environment variables} - -The programs \Tool{hypertex} and \Tool{spadbuf} require either -X11 support or socket support, or both. -<<environment>>= -bin_PROGRAMS = htadd$(EXEEXT) hthits$(EXEEXT) ex2ht$(EXEEXT) -ifeq ($(strip $(axiom_use_x)),yes) -bin_PROGRAMS += hypertex$(EXEEXT) spadbuf$(EXEEXT) -endif - -# this is where to put the various commands -OUTLIB= $(axiom_target_libdir) - -# this is where the include files live -INC= $(axiom_src_srcdir)/include - -# this is where the hypertex documentation files are -HYPER=$(axiom_target_datadir)/hypertex - -HTADD=$(OUTLIB)/htadd - -BITMAPS = mouse11.bitmap mouse11.mask sdown3d.bitmap sdown3dpr.bitmap \ - sdown.bitmap sup3d.bitmap sup3dpr.bitmap sup.bitmap ht_icon - -SCRIPTS=${OUTLIB}/htsearch ${OUTLIB}/presea - -BINFILES= $(addprefix $(OUTLIB)/,$(bin_PROGRAMS)) - -HEADERS = addfile.h cond.h dialog.h display.h event.h extent.h \ - group.h hterror.h hyper.h initx.h keyin.h lex.h mem.h \ - parse.h parse-aux.h parse-paste.h parse-types.h scrollbar.h \ - show-types.h titlebar.h token.h $(axiom_c_macros_h) - - -build_libdir = $(abs_top_builddir)/src/lib - -hypertex_sources = addfile.c cond.c dialog.c display.c event.c extent1.c \ - extent2.c form-ext.c group.c halloc.c hash.c hterror.c \ - htinp.c hyper.c initx.c input.c item.c keyin.c lex.c \ - macro.c mem.c parse.c parse-aux.c parse-input.c \ - parse-paste.c parse-types.c ReadBitmap.c scrollbar.c \ - show-types.c spadint.c titlebar.c - -libspad_la = $(axiom_target_libdir)/libspad.la - -hypertex_SOURCES = $(hypertex_sources:.c=.pamphlet) -hypertex_objects = $(hypertex_sources:.c=.lo) -hypertex_LDADD = $(libspad_la) -hypertex_DEPENDENCIES = - -htadd_sources = addfile.c halloc.c hash.c htadd.c hterror.c lex.c -htadd_SOURCES = $(htadd_sources:.c=.pamphlet) -htadd_objects = $(htadd_sources:.c=.lo) -htadd_LDADD = $(libspad_la) -htadd_DEPENDENCIES = - -htsearch_SOURCES = search.pamphlet - -spadbuf_sources = spadbuf.c -spadbuf_SOURCES = $(spadbuf_sources:.c=.pamphlet) -spadbuf_objects = $(spadbuf_sources:.c=.lo) -spadbuf_LDADD = $(libspad_la) -spadbuf_DEPENDENCIES = - -hthits_sources = hthits.c -hthits_SOURCES = $(hthits_sources:.c=.pamphlet) -hthits_objects = $(hthits_sources:.c=.lo) -hthits_LDADD = $(libspad_la) -hthits_DEPENDENCIES = - -ex2ht_sources = ex2ht.c -ex2ht_SOURCES = $(ex2ht_sources:.c=.pamphlet) -ex2ht_objects = $(ex2ht_sources:.c=.lo) -ex2ht_LDADD = $(libspad_la) -ex2ht_DEPENDENCIES = - -pamphlets = Makefile.pamphlet $(hypertex_SOURCES) $(htadd_SOURCES) \ - $(htsearch_SOURCES) $(spadbuf_SOURCES) $(hthits_SOURCES) \ - $(ex2ht_SOURCES) -@ - -\section{header files} - -We use a very simple and general rule to extract C source code and header -files. The names of the corresponding files are conveniently named after -the pamphlet files. -<<header files>>= -.PRECIOUS: %.h - -$(HEADERS): %.h: $(srcdir)/%.pamphlet - $(axiom_build_document) --tangle=$*.h --output=$@ $< -@ - -For that naming scheme to work correctly with noweb --- the tool -currently used by Axiom, to support its notion implementation of literate -programming --- it must be -ensured that the filenames contain only characters that can be rendered -properly by \LaTeX{} in non-math mode. There are various ways to -ensure that, ranging from restricted character set to escaping active -characters. We have retained the restricted character set solution. - -<<objects>>= -.PRECIOUS: %.lo %.$(OBJEXT) -.PRECIOUS: %.c - -%.lo: %.c $(HEADERS) - $(COMPILE) -o $@ $(CFLAGS) ${CCF} $(axiom_includes) $(AXIOM_X11_CFLAGS) -I. $< - -%.c: $(srcdir)/%.pamphlet - $(axiom_build_document) --tangle --output=$@ $< - -@ - - -\section{bitmaps} -There are two files for each (special) character glyph, one -for the upper case form, and one for the lower case form. -For more information about hese bitmaps see 'util.ht' in the -section 'pages', below. - -<<bitmaps>>= -mouse11.bitmap: $(srcdir)/bitmaps.pamphlet - $(axiom_build_document) --tangle=mouse11.bitmap --output=$@ $< - -mouse11.mask: $(srcdir)/bitmaps.pamphlet - $(axiom_build_document) --tangle=mouse11.mask --output=$@ $< - -sdown3d.bitmap: $(srcdir)/bitmaps.pamphlet - $(axiom_build_document) --tangle=sdown3d.bitmap --output=$@ $< - -sdown3dpr.bitmap: $(srcdir)/bitmaps.pamphlet - $(axiom_build_document) --tangle=sdown3dpr.bitmap --output=$@ $< - -sdown.bitmap: $(srcdir)/bitmaps.pamphlet - $(axiom_build_document) --tangle=sdown.bitmap --output=$@ $< - -sup3d.bitmap: $(srcdir)/bitmaps.pamphlet - $(axiom_build_document) --tangle=sup3d.bitmap --output=$@ $< - -sup3dpr.bitmap: $(srcdir)/bitmaps.pamphlet - $(axiom_build_document) --tangle=sup3dpr.bitmap --output=$@ $< - -sup.bitmap: $(srcdir)/bitmaps.pamphlet - $(axiom_build_document) --tangle=sup.bitmap --output=$@ $< - -ht_icon: $(srcdir)/bitmaps.pamphlet - $(axiom_build_document) --tangle=hticon --output=$@ $< -@ - -\section{search} -<<search>>= -${OUTLIB}/htsearch: $(srcdir)/search.pamphlet - $(axiom_build_document) --tangle=htsearch --output=$@ $< - chmod a+x ${OUTLIB}/htsearch - -${OUTLIB}/presea: $(srcdir)/search.pamphlet - $(axiom_build_document) --tangle=presea --output=$@ $< - chmod a+x ${OUTLIB}/presea -@ - -\section{ex2ht binary} -<<ex2ht (BIN)>>= -${OUTLIB}/ex2ht$(EXEEXT): $(ex2ht_objects) $(ex2ht_DEPENDENCIES) - ${LINK} -o $@ $(ex2ht_objects) $(ex2ht_LDADD) $(AXIOM_X11_LDFLAGS) -lm -@ - -\section{htadd binary} -<<htadd (BIN)>>= -$(OUTLIB)/htadd$(EXEEXT): $(htadd_objects) $(htadd_DEPENDENCIES) - ${LINK} -o $@ $(htadd_objects) $(htadd_LDADD) $(AXIOM_X11_LDFLAGS) -lm -@ - -\section{hthits binary} -<<hthits (BIN)>>= -${OUTLIB}/hthits$(EXEEXT): $(hthits_objects) $(hthits_DEPENDENCIES) - ${LINK} -o $@ $(hthits_objects) $(hthits_LDADD) $(AXIOM_X11_LDFLAGS) -lm - -@ - -\section{hypertex binary} -<<hypertex (BIN)>>= -$(OUTLIB)/hypertex$(EXEEXT): $(hypertex_objects) $(hypertex_DEPENDENCIES) - ${LINK} -o $@ $(hypertex_objects) $(hypertex_LDADD) \ - $(AXIOM_X11_LDFLAGS) -lm -@ - -\section{spadbuf binary} -<<spadbuf (BIN)>>= -${OUTLIB}/spadbuf$(EXEEXT): $(spadbuf_objects) $(spadbuf_DEPENDENCIES) - ${LINK} -o $@ $(spadbuf_objects) $(spadbuf_LDADD) \ - $(AXIOM_X11_LDFLAGS) -lm -@ - -\section{pages} -The 'ht.db' is built when pages from 'src/hyper/pages' such as 'util.ht' -and 'util.pht' are installed in the target directory. Because the .db -file must be kept in sync with the page filesof course care must be -taken not to overwrite these files at a later time without re-building -the database. - -The Axiom system from which this branch had been made appears -to contain a redundant copy of util.ht. Removing the version of -'util.ht' in 'src/share/doc/hypertex/pages/util.ht' would make -Makefile logic simpler so it has been removed to minimize problems -when this file is updated. - -The [[.pht]] files contain hardcoded pathnames to viewport directories -in the installed system. Of course, that is asking for trouble. During -installation, we must change those paths to reflect the correct -location of the viewports. That necessary step is implemented -as: -\begin{verbatim} - for A in `ls *.pht`; do \ - sed 's,/doc/viewports/,/share/viewports/,g' $$A \ - > ${HYPER}/pages/$$A; \ - done -\end{verbatim} - -In the long term, the [[.pht]] and viewports should be generated at either -build time or installation time using commands like: -\begin{verbatim} - rm -f ht.db - ${HTADD} *.ht - for A in `ls *.ht`; do ${SMAN} -paste $$a ; done - rm -f ht.db - ${HTADD} *.ht *.pht -\end{verbatim} - -On case-insensitive filesytems such as Windows and traditional Mac -checkout from the source archive can fail if files have names -differing only in case: poly.ht contra POLY.ht and -poly.pht contra POLY.pht. To avoid conflicts on case-insensitive -filesytems we renamed [[poly.ht]] to [[polys.ht]] and [[poly.pht]] -to [[polys.pht]]. - -The page [[util.ht]] refers to two files for each (special) character -glyph, one for the upper case form, and one for the lower case form. -The names for these files avoid the use of upper and lower letters -to distinguish these forms. Intstead we use 'xxx.bitmap' for lower case -and 'xxx-cap.bitmap' for upper case, where "xxx" is the common name for -the glyth. For example alpha.bitmap and alpha-cap.bitmape. - -We need to make sure that [[ht.db]], the hypertex database file -is up to date. The file contains absolute offsets into the various -[[ht]] and [[pht]] files so it must reflect the current pages. In -order to do this we run [[htadd]] in the [[${HYPER}/pages]] directory. -<<pages>>= -${HYPER}/pages/ht.db: $(HTADD) $(srcdir)/pages/*.ht $(srcdir)/pages/*.pht - @echo making ${HYPER}/pages from $(axiom_src_srcdir)/pages directory - @ mkdir -p ${HYPER}/pages - @ cp -pr $(srcdir)/pages/*.ht ${HYPER}/pages - @ for A in `ls $(srcdir)/pages/*.pht`; do \ - sed 's,/doc/viewports/,/share/viewports/,g' $$A \ - > ${HYPER}/pages/`basename $$A`; \ - done - @ rm -f ${HYPER}/pages/ht.db ; \ - rm -f ${HYPER}/pages/*~ ; AXIOM=$(AXIOM) \ - ${HTADD} -s ${HYPER}/pages/*.ht ${HYPER}/pages/*.pht - @ cp -pr $(srcdir)/bitmaps ${HYPER} - @ cp -pr $(srcdir)/viewports $(axiom_target_datadir) - -@ - -<<*>>= -<<environment>> - -subdir = src/hyper/ - -.PHONY: all all-hyper -.SUFFIXES: -.SUFFIXES: .c .o .h - -all: all-ax - -all-ax all-hyper: stamp - @ echo finished $(builddir) - -stamp: $(HEADERS) ${BITMAPS} ${SCRIPTS} ${BINFILES} ${HYPER}/pages/ht.db - -rm -f stamp - $(STAMP) stamp - -mostclean-local: - -clean-local: mostclean-local - -rm -f $(objects) - -rm -f $(hypertex_sources) - -rm -f $(htadd_sources) - -rm -f $(htsearch_sources) - -rm -f $(spadbuf_sources) - -rm -f $(hthits_sources) - -rm -f $(ex2ht_sources) - -rm -f $(BINFILES) - -distclean-local: clean-local - -<<header files>> - -<<objects>> - -<<bitmaps>> - -<<pages>> - -<<search>> - -<<ex2ht (BIN)>> - -<<htadd (BIN)>> - -<<hthits (BIN)>> - -<<hypertex (BIN)>> - -<<spadbuf (BIN)>> -@ -\eject -\begin{thebibliography}{99} -\bibitem{1} nothing -\end{thebibliography} -\end{document} |